ルートが'書き込み用にファイルを開くことができないのはなぜですか?

[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. 

ルートが書き込み用にファイルを開くことができないのはなぜですか?

画像の説明はこちら

回答

/ 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コマンドが期待どおりに機能するようになりました。

コメント

  • ありがとうございます。実際には、存在しないフォルダ内のファイルに対してviを実行していました。As:vi ~/bin/backup

回答

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

回答

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

server123:/tmp # chattr +a manish server123:/tmp # lsattr manish -----a---------- manish 

コメント

  • これで問題は解決しました。thx

回答

これは、同じ場所にスワップファイルがあり、編集用にファイルにロックが設定されている場合に発生する可能性があります。

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

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

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です