Centosで「ファイルを開けて書き込めない」という問題
4858 ワード
サマリ
現在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
を実行できます.