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

 更新时间:2017年12月17日 10:48:09   作者:全栈运维  
这篇文章主要给大家介绍了关于在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

总结

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

相关文章

  • Ubuntu解决火狐浏览器无法同步书签的问题【推荐】

    Ubuntu解决火狐浏览器无法同步书签的问题【推荐】

    最近在ubuntu系统中使用自带的firefox浏览器,发现有写问题,添加书签功能无法使用,下面小编给大家带来了Ubuntu解决火狐浏览器无法同步书签的问题,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-06-06
  • Ubuntu 16.04/18.04 安装Pycharm及Ipython的教程

    Ubuntu 16.04/18.04 安装Pycharm及Ipython的教程

    这篇文章主要介绍了Ubuntu 16.04/18.04 安装Pycharm及Ipython的教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 详解Linux索引节点inode

    详解Linux索引节点inode

    这篇文章主要介绍了Linux索引节点inode的相关资料,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下
    2020-08-08
  • 教你如何在ubuntu15.04安装 RVM

    教你如何在ubuntu15.04安装 RVM

    rvm 的全称是 Ruby Version Manager ,是一款由 Wayne E. Seguin 开发的一款命令行工具。rvm 能够让你轻松的安装、管理 ruby 生产力环境,诸如不同版本的解释器和 gem 。
    2015-11-11
  • Linux用make指令编译进度条程序

    Linux用make指令编译进度条程序

    这篇文章主要为大家详细介绍了在Linux下写一个简单的进度条,用make指令进行编译,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Linux进程间通信方式之socket使用实例

    Linux进程间通信方式之socket使用实例

    这篇文章主要介绍了Linux进程间通信方式之socket使用实例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 配置Apache支持shtml(SSI)的方法

    配置Apache支持shtml(SSI)的方法

    这篇文章主要介绍了配置Apache支持shtml(SSI)的方法,需要的朋友可以参考下
    2014-03-03
  • 你可能会用到的16个Linux命令

    你可能会用到的16个Linux命令

    这篇文章主要跟大家分享了一些在日常你可能会用到的16个Linux命令,文中通过示例代码和图文介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • linux查看匹配内容的前后几行方法

    linux查看匹配内容的前后几行方法

    这篇文章给大家分享了linux查看匹配内容的前后几行的方法以及实例代码,有兴趣的朋友可以参考学习下。
    2018-07-07
  • Linux虚拟机中node.js之开发环境搭建

    Linux虚拟机中node.js之开发环境搭建

    这篇文章主要介绍了Linux虚拟机中node.js之开发环境搭建,有需要的朋友可以了解一下。
    2016-11-11

最新评论