Linux下如何阻止用户修改文件名?使用chmod -v 000无效
Linux下阻止用户修改文件名的方法
你用chmod -v 000没效果是因为修改文件名的权限由文件所在目录控制,而非文件本身的权限——文件权限只管内容读写执行,重命名本质是修改目录里的条目,和文件自身权限无关。
下面是两种可行的方法:
通过目录权限限制:
把文件所在目录设为只读权限,比如:chmod 555 /path/to/target-directory
这样普通用户无法在该目录内添加、删除、重命名文件。但注意,目录的所有者依然有权限修改,除非你把目录的所有者改成其他用户(比如root)。使用chattr设置 immutable 属性(仅ext系列文件系统支持):
给目标文件添加不可变属性,命令:chattr +i filename
加了这个属性后,包括文件所有者在内的所有用户都无法修改、重命名、删除该文件。如果需要恢复操作,执行chattr -i filename即可。
内容的提问来源于stack exchange,提问作者Ivan Ivan
相关产品推荐
相关产品推荐

