最近在学习linux操作系统的时候,想用chattr来修改某一个文件的权限时,突然爆出了以下这个错误:
bash /usr/bin/chattr permission denied
考虑到可能是普通用户权限不够,我又切换到了root用户。按理说root用户的权限是最高的了,结果还是爆出上面那个错误。
查阅了国内的相关博客,发现没有解决这一问题的,于是FQ在外网上找到了解决办法。
以下是链接
# chattr -l -bash: /usr/bin/chattr: Permission denied # chattr -i chattr -bash: /usr/bin/chattr: Permission denied # chmod +x chattr chmod: changing permissions of `chattr': Operation not permitted
为了恢复chattr的功能,解决办法如下:
# cp /usr/bin/chattr /usr/bin/chattr2 # chmod 755 /usr/bin/chattr2 # chattr2 -i /usr/bin/chattr # chmod 755 /usr/bin/chattr # ls -la /usr/bin/chattr
# lsattr /usr/bin/chattr
-rwxr-xr-x 1 root root 9664 2010-08-17 01:29 /usr/bin/chattr
-----------------e- /usr/bin/chattr
大致思路是:复制chattr的副本chattr2,用chmod来修改chattr2的权限(号码为755)。然后反过来使用chattr2打开chattr的权限,再用chmod修改。最后chattr就能使用了。
通过这个问题的解决,让我体会对一句话有了深刻的体会:inux一切皆文件
补充关于权限:i和a的说明
i:不可修改权限 例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件是否设置了i权限用lsattr filename。
a:只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr +a设置追加权限。