3

我想阻止用户修改文件,但我似乎无法使用标准权限使其工作。

该文件是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/

我的目的是防止用户重命名文件,但拥有他能够做到的权限。

我错过了什么?

4

2 回答 2

5

重命名文件或在同一文件系统中移动文件时不会更改文件,因为文件实际上是一个inode(目录中可能有零个、一个或多个文件名)。

重命名文件是相关目录内的操作(​​而不是文件本身)。也许删除对目录的写访问权可能会有所帮助(但如果用户拥有该目录,他可以使用 再次更改对目录的这些权限chmod)。另请阅读有关目录上的粘性位的更多信息。

顺便说一句,用户也可以硬链接同一个文件,即添加一个新的文件名。然后每个文件名都引用同一个文件。

于 2013-08-27T15:53:06.087 回答
2

文件的权限阻止/允许访问该文件。重命名文件并不涉及更改文件本身——重命名实际上是对目录的更改。

尝试将目录权限更改为:

dr-xr-xr-x

看看会发生什么。

于 2013-08-27T15:58:36.153 回答