Rootが所有しているファイルを編集できないのはなぜですか。私の個人的なディレクトリのどこかに、それは言う:
sudoedit: existingFile: editing files in a writable directory is not permitted
次の関数を定義していますが:
function sunano {
export Sudo_EDITOR='/usr/local/bin/nano'
sudoedit "$@"
}
そして、私はこのように編集します:
sunano existingFile
ファイルが本当にrootによって所有されている場合:
ls -l existingFile
証明:
-rwxr-xr-x 1 root root 40 Jun 15 2015 existingFile
manpage は言う
呼び出し元のユーザーが書き込み可能なディレクトリにあるファイルは、そのユーザーがroot(バージョン1.8.16以降)でない限り編集できません。
ファイルを含むディレクトリに書き込むことができる場合は、sudoedit
を必要とせずに実際に編集できます(ただし、現在の内容を読み取ることができない場合があります)。ファイルを移動して作成できます。同じ名前の新しいファイル。特定のケースでは、ファイルを読み取ることができます。少なくとも一部のエディターで編集できることを確認してください(少なくとも一時ファイルを作成してファイル名を変更してファイルを保存するエディター)。
この機能の背後にある理由は Sudo
バグ707 にあります。基本的に、ユーザーがsudoedit
で書き込み可能なディレクトリ内のファイルを編集できるようにすると、 sudoedit
の構成で設定された制限(およびシステム上のファイルを効果的に編集)。