sudo -e
間に大きな違いはありますかsudo vim
?sudoers
vimがデフォルトエディタになるようにファイルを設定しました。 2つの間に主な違いがありますか?またvim
、から切り替える必要がありますかrvim
?試しましたが、設定ファイルにいくつかの問題があります。
ベストアンサー1
最大の違いはWHO編集何文書。
(sudo vim
認証が成功したと仮定)、rootユーザーはvimを呼び出し、その場所でファイルを編集します(root環境とvimスワップファイルは編集中のファイルと並列です)。
sudoを呼び出すユーザーsudo -e
またはsudoedit
自分の環境にいるユーザーが自分が所有するファイルの一時コピーを編集します(例:~/.vimrc)。ユーザーが出力を保存すると、一時ファイルの内容はユーザーに編集権限を持たない元のファイルにコピーされます。この方法には、特定の状況で編集を防ぐためのいくつかのチェックも含まれています。
- ユーザーがシンボリックリンクを編集しようとしています。
- ユーザーはシンボリックリンクを含むパスを使用してファイルを編集しようとします。
- ユーザーには、ファイルを含むディレクトリに対する書き込み権限があります。
なぜこれらの特定の規則が厳しく適用されるのかわかりません(セキュリティの問題のようなものです)。
PSユーザーは、sudoの編集モードを使用してデバイス特殊ファイル(ブロックデバイス、シリアルデバイスなど)を編集することもできません。
編集:vimをrootとして実行しないもう1つの結果は、ユーザーがrootで任意のコマンドを実行するためにこの方法でvimのシェル機能を使用できないことです。これにより、ユーザーは王国にキーを渡すことなく、sudoersルールを使用して特定のファイルを編集できます。