
これまでに、ユーザーを sudoers グループに追加する 4 つの方法を見つけましたが、すべての方法がすべてのシステムで機能するわけではありません。なぜこれほど多くの異なる実装があるのでしょうか。どれが最善でしょうか。標準 (つまり、ほとんどのシステムで機能するもの) は何でしょうか。
さまざまな実装:
- ユーザーを「wheel」グループに追加します。
- ユーザーを 'sudo' グループに追加します。
- /etc/sudoersファイルの編集
- visudo を使用して /etc/sudoers ファイルを編集する
答え1
ユーザーが sudo 経由で root としてコマンドを実行することを許可するには、主に 2 つの方法があります。
- 「アリスはルートとしてコマンドを実行できる」と宣言します。
- 「Alice はシステム管理者です」と「システム管理者は root としてコマンドを実行できます」と宣言します。
「アリスはシステム管理者です」と宣言する方法は、彼女をシステム管理者グループのメンバーにすることですが、システム管理者グループには標準的な名前はありません(システム管理者グループが存在する義務もありません)。いくつかの従来のUnixシステムには、wheel
ただし、多くの場合、wheel グループに所属することは root になるための前提条件にすぎず、ユーザーは root パスワードを知って実行する必要がありますsu
(特に BSD ではこのように使用されます)。Ubuntu や Debian などの一部のディストリビューションには、と呼ばれるグループsudo
と「グループのメンバーはsudo
コマンドを root として実行できる」というルールがデフォルト設定に含まれています。
/etc/sudoers
(または ) 内のファイルに/etc/sudoers.d
のような行が含まれている場合%sudo ALL=(ALL:ALL) ALL
、ユーザーをsudo
グループ ( adduser alice sudo
) に追加することで、そのユーザーを sudoer にすることができます。名前はsudo
魔法のようなものではなく、 内のエントリと一致する必要があります/etc/sudoers
。
/etc/sudoers
(または の下にあるファイル)を直接編集しないでください/etc/sudoers.d
。構文エラーが発生すると、ルート アクセスからロックアウトされてしまいます。visudo
そのファイルを編集するには、常に を使用してください。実行するエディターを選択するにはvisudo
、VISUAL
環境変数 (またはが設定されていEDITOR
ない場合はVISUAL
)を設定します。マルチユーザー マシンでは、 を使用すると、visudo
2 人の管理者が同時にファイルを編集した場合にロックが処理されるという追加の利点があります。
答え2
adduser username sudo
私の場合はうまくいきますが、私は Debian を使用しています。Debian には、グループsudoers
内の全員にsudo
sudo アクセスをデフォルトで付与するファイルがあります。
答え3
私は次の行をUbuntu
追加しました<somefile>
:/etc/sudoers.d/
<user> ALL=(ALL:ALL) ALL
次のコマンドを使用します:
visudo -f /etc/sudoers.d/<somefile>
/etc/suoders
これは、ファイルをそのまま残し、アップグレード間での競合 (およびその後の必要な手動解決) を回避するため、推奨されます。参照:なぜ /etc/sodoers.d/
答え4
方法 2 と 4 は、ほぼすべての Linux で機能します。動作中のシステムでは 3 を使用しないでください。システムに損傷を与える可能性があります。方法 1 は機能する場合がありますが、必ずしも機能するとは限りません。
/etc/sudoers を手動で編集するのではなく、visudo を使用する必要があるのはなぜですか?
ルート アクセスを取得したら、visudo を使用して sudoers ファイルを修正しました。なぜ visudo か? それは、それが使用すべきプログラムだからです。はい、私は少し腹を立てています。このサーバーを壊した人はもっとよく知っているべきだったからです。visudo は、保存する前に sudoers ファイルの構文をチェックするすばらしい小さなプログラムです。これにより、非常に愚かなことをしても、それが問題になり、ルートとしてシステムに戻れなくなる前に、そのことを知ることができます。
http://lickthesalt.com/2009/07/06/fail-why-you-should-always-use-visudo/