Centos系統下「沒法打開並寫入文件」問題的解決

問題思考vim

既然提示沒有權限,又是root用戶,看確定是給該文件設置了特殊的權限。檢查特殊權限設置:bash

  • getfacl
  • lsattr

getfacl 結果正常ssh

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,安裝之。spa

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

 

 

完畢!code

lsattr 檢查orm

root@pts/1 $ lsattr /etc/ssh/sshd_config
----i--------e- /etc/ssh/sshd_config

 

這裏的i 表示immutable,在文件上啓用這個屬性時,咱們不能更改、重命名或者刪除這個文件。blog

這裏的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

總結

以上就是這篇文章的所有內容了,但願本文的內容對你們的學習或者工做具備必定的參考學習價值,若是有疑問你們能夠留言交流,謝謝你們對腳本之家的支持。

相關文章
相關標籤/搜索