web-dev-qa-db-ja.com

なぜrootが書き込み用にファイルを開けないのですか?

[root@localhost ~]# vim /usr/lib64/sas12/smtpd.conf    
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
log_level:3

:wq

エラーが発生します。

"/usr/lib64/sas12/smtpd.conf" E212: Can't open file for writing.  

Rootが書き込み用にファイルを開けないのはなぜですか?

enter image description here

4

/ usr/lib64/sas12ディレクトリがすでに存在することを確認します。

root@Host:~# ls /usr/lib64/sas12

そうでない場合は、ファイルを作成する前にディレクトリを作成する必要があります。

root@Host:~# mkdir -p /usr/lib64/sas12
root@Host:~# vim /usr/lib64/sas12/smtpd.conf

これで、vimコマンドが期待どおりに機能するはずです。

5
WhiteWinterWolf

このエラーは、ファイルに「+ a」属性が設定されている場合に発生する可能性があります。コマンドchattrは、既存のファイルの削除のみを許可し、追加のみを許可します。

server123:/tmp # chattr +a manish
server123:/tmp # lsattr manish
-----a---------- manish
1
Manish Singh

ファイルシステムが読み取り専用でマウントされているか、これはroot権限の問題ではなく、vim機能です。別のエディターを使用するか、ファイルのアクセス許可を変更し(例:rootをファイルの所有者にする)、ファイルを編集して、元に戻します。

1
Hauke Laging

これは、同じ場所にスワップファイルがあり、編集のためにファイルをロックする可能性がある場合に発生する可能性があります。

例ファイルを探してください

/usr/lib64/sas12/.smtpd.conf.swp

このファイルが存在する場合、ファイルを編集することはできません。それを削除してみてください、それを編集するとうまくいくはずです。

0
satish arya