web-dev-qa-db-ja.com

`sudoedit`と` Sudo vim`の違いは何ですか?

Sudo vim /etc/servicessudoedit /etc/servicesの違いは何ですか? Linuxで/etc/servicesファイルを編集しようとしました。 sudoeditは編集を許可していますが、Sudo vimは編集を許可していません。

15
Nadaraj

sudoeditは、-eオプションを指定してSudoを指定します。マニュアルページから:

 -e          The -e (edit) option indicates that, instead of running a command, the
             user wishes to edit one or more files.  In lieu of a command, the string
             "sudoedit" is used when consulting the security policy.  If the user is
             authorized by the policy, the following steps are taken.

したがって、システム管理者は、特定のファイルや一般的なすべてのファイルではなく、特定のファイルを編集するためのSudo権限のみを許可できます。これにより、管理者は、ユーザー(またはユーザーのグループ)が昇格された特権で編集できるファイルを制御できます。

さらに、ユーザーは、管理者が指定したエディターではなく、好みのエディターを引き続き使用できます。また、このエディターをユーザー自体として実行します。つまり、たとえばユーザーが.vimrcで指定したオプションやコマンドが適用されます。

17
PurpleAlien

Sudo vim /etc/servicesは、スーパーユーザー権限でvimエディターを使用して、指定されたファイルを編集するようにシェルに指示しています。

一方、sudoedit /etc/servicesは、スーパーユーザー権限を使用してファイルを編集するために、EDITOR環境変数に格納されているエディターを使用するようにシェルに指示しています。

6
Vauxwell