chmod: changing permissions of 'xxx': Operation not permitted

众所周知,在linux系统中,权限最大的是root账号,但凡修改涉及到系统本身的重大权限的操作,都需要root的权限才能操作。但是有些时候也有root干不了的事情。
比如:chmod: changing permissions of 'authorized_keys': Operation not permitted

问题背景和解决

  1. 部署在服务器上的redis缓存数据库被提示有高危风险,根据提出的改进意见,则是修改ssh/下的authorized_keys这个文件夹的权限为所有者只读。
  2. 修改文件权限,我们可以看到报了没有权限这个错误(Operation not permitted),如图:
    1425775-20190926162752052-674352975.png
  3. 一般我们都知道,Linux下root用户的权限是最大了,难道还有root用户操作不了的文件?(Linux下UID数值越小的用户,权限越大,可以看到最小值为0,即root用户)
  4. 其实chmod的底层实现是chattr命令,用此命的功能更为强大,甚至可以锁定文件,即使root用户也操作不了此文件。
    1425775-20190926163512184-1067761811.png
  5. chattr是用来更改文件属性,lsattr可用来查看文件的属性,执行命令lsattr authorized_keys查看当前文件属性,可以发现有i和a两个属性。
    1425775-20190926164013034-921756646.png

  6. 那么我们就去掉这两个属性。
chattr -ia authorized_keys 
  1. 然后我们chmod 400 authorized_keys即可。就可将文件的属性更改了。
  2. 最后恢复取消掉的那俩属性。
chattr +ia authorized_keys 

转载于:https://www.cnblogs.com/cpl9412290130/p/11592803.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值