Centos系统下“无法打开并写入文件”问题的解决

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

摘要

最近在工作中发行限了一个问题,当前是root用户,去编辑/etc/ssh/sshd_config 却提示没有权限修改。报错如”/etc/ssh/sshd_config” E212: 无法打开并写入文件。

问题思考

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

getfacl lsattr

getfacl 结果正常

root@pts/1 $ getfacl /etc/ssh/sshd_config getfacl: 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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对免费资源网的支持。

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容