您的位置:首页 > 运维架构 > Linux

Centos下“无法打开并写入文件”问题

2017-12-16 11:06 465 查看

摘要

当前是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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lsattr chattr ssh