我想阻止用户修改文件,但我似乎不能让它使用标准权限工作。文件名为file.jpg,位于文件夹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/
型我的目的是防止用户重命名文件,但与权限,因为他们是他能够。我错过了什么?
pes8fvy91#
在重命名文件或将其移动到同一个文件系统中时,您不会更改文件,因为文件实际上是一个inode(在目录中可能有零个、一个或多个文件名)。重命名文件是在相关目录内进行的操作(而不是在文件本身上)。也许删除对目录的写权限可能会有帮助(但是如果用户拥有目录,他可以再次使用chmod更改目录上的这些权限)。阅读更多关于sticky bit的目录。顺便说一句,用户也可以硬链接到同一个文件,即添加一个新的文件名。然后每个文件名都是相同的文件。
chmod
bsxbgnwa2#
对文件的权限禁止/允许访问 * 文件 *。重命名文件并不涉及更改文件本身-重命名实际上是更改 * 目录 *。尝试将目录权限更改为:
dr-xr-xr-x
字符串看看会发生什么
2条答案
按热度按时间pes8fvy91#
在重命名文件或将其移动到同一个文件系统中时,您不会更改文件,因为文件实际上是一个inode(在目录中可能有零个、一个或多个文件名)。
重命名文件是在相关目录内进行的操作(而不是在文件本身上)。也许删除对目录的写权限可能会有帮助(但是如果用户拥有目录,他可以再次使用
chmod
更改目录上的这些权限)。阅读更多关于sticky bit的目录。顺便说一句,用户也可以硬链接到同一个文件,即添加一个新的文件名。然后每个文件名都是相同的文件。
bsxbgnwa2#
对文件的权限禁止/允许访问 * 文件 *。重命名文件并不涉及更改文件本身-重命名实际上是更改 * 目录 *。
尝试将目录权限更改为:
字符串
看看会发生什么