CentOS下提示“无法打开并写入文件”问题解决
摘要
当前是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
相关推荐
changecan 2020-11-19
ECSHOP专属建设 2020-11-13
88427810 2020-11-02
步知道 2020-10-27
Junzizhiai 2020-10-10
jackalwb 2020-10-05
小网管 2020-09-03
shiwenqiang 2020-09-14
85251846 2020-09-14
summerinsist 2020-08-21
87901735 2020-08-19
PinkBean 2020-08-11
85407718 2020-08-09
MichelinMessi 2020-07-30
suosuo 2020-07-28
CARBON 2020-07-28
lizhengfa 2020-07-27
88427810 2020-07-26