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

总结

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

相关文章

  • 详解fedora 开启 apache 并 开启目录浏览模式

    详解fedora 开启 apache 并 开启目录浏览模式

    这篇文章主要介绍了fedora 开启 apache 并 开启目录浏览模式的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • CentOS7安装PHP7 Redis扩展的方法步骤

    CentOS7安装PHP7 Redis扩展的方法步骤

    这篇文章主要介绍了CentOS7安装PHP7 Redis扩展的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • YUM软件包管理工具与yum命令的详细介绍

    YUM软件包管理工具与yum命令的详细介绍

    yum是基于RPM包管理器、为了提高RPM软件包安装性而开发的一种软件包管理器。它能够从指定的服务器自动下载.rpm包并自动安装,可以自动处理依赖性关系,并一次性安装所有依赖的软体包。本文就详细介绍了YUM软件包管理工具与yum命令。有需要的朋友们下面来一起看看吧。
    2017-01-01
  • Linux系统下使用rpm方式安装最新mysql5.7.17完整步骤

    Linux系统下使用rpm方式安装最新mysql5.7.17完整步骤

    这篇文章主要介绍了Linux系统下使用rpm方式安装最新mysql5.7.17完整步骤,需要的朋友可以参考下
    2017-01-01
  • CentOS7.4下MySQL5.7.28二进制方式安装的方法步骤

    CentOS7.4下MySQL5.7.28二进制方式安装的方法步骤

    这篇文章主要介绍了CentOS7.4下MySQL5.7.28二进制方式安装的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 教你如何修改Linux远程登录欢迎提示信息

    教你如何修改Linux远程登录欢迎提示信息

    教你如何在Linux中创建登录欢迎提示信息,要登录或登录后的用户显示不同的警告或消息
    2018-03-03
  • Apache配置独立域名的方法

    Apache配置独立域名的方法

    现在遇到的同学,好多还不会配置Apache,那就更别说在本地配置独立配置独立域名了
    2012-02-02
  • 带你入门Linux中size命令的6个例子

    带你入门Linux中size命令的6个例子

    这篇文章主要给大家介绍了几个带你入门Linux中size命令的例子,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • 详解linux pwm驱动编写

    详解linux pwm驱动编写

    这篇文章主要介绍了详解linux pwm驱动编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Linux unlink函数和删除文件的操作方法

    Linux unlink函数和删除文件的操作方法

    这篇文章主要介绍了Linux unlink函数和删除文件的操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论