作者: | 来源:互联网 | 2023-09-07 08:52
关于Linux如何删除被设置了隐藏属性的文件的一些问题
? 最近博主在熟悉Linux文件权限操作的时候复制了/etc/fstab 来创建了一个带了只允许追加内容属性的可执行文件,并且改动了其所属者和所属组
一些关键命令:
chmod 1770 /tmp/test #注意:这里设置1770是为了测试文件在原本其他用户已无执行权限下是否会产生伪权限显示
chattr +a /tmp/test #给文件设置只能追加内容属性
查询其属性如图所示
然后在删除的时候遇到了些问题,以拥有者alice的身份去删除,显示无权限
以root用户身份也无法删除该文件
查看上一级目录权限信息
tmp目录的权限设置也没问题,那会不会是文件出了问题或者系统卡住了呢,下面来测试一下。
测试追加属性功能
(alice和mary在admin组内,bobby不在)
追加内容和查看功能均正常,说明不是文件或者系统出了问题
唯一的可能性就是刚才设置的隐藏属性在阻止用户进行删除操作了,用 lsattr 查看文件属性
man命令查看chattr的帮助手册
注意这里只提到了清除属性,并没有说超级管理员之类的可以对文件进行删除操作
重新使用chattr清除a属性
再尝试用boddy用户执行删除操作
访问拒绝,因为boddy不属于admin组
使用alice用户进行删除操作
执行成功,问题解决
总结:在遇到无法删除的文件时,首先查看该文件所属用户及所属组的信息,切换至相对应的用户进行操作,若仍无法进行删除时,考虑该文件是否添加了隐藏属性,去除后即可进行删除,极端情况考虑上一级甚至上上一级文件是否设置了隐藏属性,需要一一进行去除