Linux为什么无法进入文件,Linux系统运维之CentOS下提示“无法打开并写入文件”问题解决...

当前是root用户,去编辑/etc/ssh/sshd_config 却提示没有权限修改。报错如"/etc/ssh/sshd_config" E212: 无法打开并写入文件。

问题思考

既然提示没有权限,又是root用户,看肯定是给该文件设置了特殊的权限。检查特殊权限设置:

· getfacl

· lsattr

getfacl 结果正常

root@pts/1 $ getfacl /etc/ssh/sshd_configgetfacl: Removing leading '/' from absolute path names# file: etc/ssh/sshd_config# owner: root# group: root

user::rw-

group::---

other::---

lsattr提示错误:-bash: lsattr: command not found 没有该命令,奇怪。当前系统是CentOS release 6.5 (Final),那就尝试安装。

查找得知lsattr和chattr属于安装包e2fsprogs,安装之。

root@pts/1 $ yum install e2fsprogs

设置安装进程

解决依赖关系--> 执行事务检查---> Package e2fsprogs.x86_64 0:1.41.12-18.el6_5.1 will be 升级---> Package e2fsprogs.x86_64 0:1.41.12-23.el6 will be an update--> 处理依赖关系 libss = 1.41.12-23.el6,它被软件包 e2fsprogs-1.41.12-23.el6.x86_64 需要

... ...

更新完毕:

e2fsprogs.x86_64 0:1.41.12-23.el6

作为依赖被升级:

e2fsprogs-libs.x86_64 0:1.41.12-23.el6      libcom_err.x86_64 0:1.41.12-23.el6      libcom_err-devel.x86_64 0:1.41.12-23.el6

libss.x86_64 0:1.41.12-23.el6

完毕!

lsattr 检查

root@pts/1 $ lsattr  /etc/ssh/sshd_config

----i--------e- /etc/ssh/sshd_config

这里的i 表示immutable,在文件上启用这个属性时,我们不能更改、重命名或者删除这个文件。

这里的e 表示extent format,它表明该文件使用磁盘上的块的映射扩展。属于“正常”规则

chattr删除不可修改属性

root@pts/1 $ chattr -i /etc/ssh/sshd_config

iZ25zjpz5pqZ [~] 2017-12-16 10:59:14

root@pts/1 $ lsattr  /etc/ssh/sshd_config

-------------e- /etc/ssh/sshd_config

iZ25zjpz5pqZ [~] 2017-12-16 10:59:17

root@pts/1 $ vim /etc/ssh/sshd_config

iZ25zjpz5pqZ [~] 2017-12-16 10:59:26

root@pts/1 $

从上面的操作可以看到我们取消i设置之后可以成功修改该文件。

如果完成修改你可以让其恢复不可修改属性,可以执行chattr +i /etc/ssh/sshd_config

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标系统运维之Linux!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值