我希望防止用户修改文件,但是使用标准权限似乎无法实现。
该文件名为file.jpg
,位于文件夹2012/
中。
文件详细信息:
-r--r--r-- 1 root root 10294 Feb 19 2013 file.jpg
文件夹详情:
drwxr-xr-x 2 charly charly 36864 Aug 27 15:38 2012/
我的意图是防止用户重命名文件,但是按照现有的权限,他仍然可以这样做。
我错过了什么?
我希望防止用户修改文件,但是使用标准权限似乎无法实现。
该文件名为file.jpg
,位于文件夹2012/
中。
文件详细信息:
-r--r--r-- 1 root root 10294 Feb 19 2013 file.jpg
文件夹详情:
drwxr-xr-x 2 charly charly 36864 Aug 27 15:38 2012/
在同一文件系统中重命名或移动文件时,不会更改文件本身,因为文件实际上是一个inode(在目录中可能有零个、一个或多个文件名)。
重命名文件是在相关目录内进行的操作(而不是在文件本身上)。也许取消对目录的写访问权限可能有所帮助(但如果用户拥有该目录,则可以使用 chmod
再次更改目录上的这些权限)。还可以阅读有关sticky bit在目录上的更多信息。
顺便说一下,用户还可以将同一文件创建硬链接,即向其添加新的文件名。然后每个文件名都指向同一文件。
dr-xr-xr-x
并观察发生了什么。