web-dev-qa-db-ja.com

sudoを使用するユーザー権利を削除する

管理者として、Sudoを使用するユーザー権利を削除する方法。これを行う簡単なコマンドはありますか?

3
fantamoja

SudoグループのユーザーのみがSudoコマンドを使用できます。グループjdoeからユーザーSudoを削除するには(rootとして)タイプ:

deluser jdoe Sudo

rootでない場合は、次を入力します

Sudo deluser jdoe Sudo

参照: グループからユーザーを削除する方法


更新

@ Aleks G a comment で指摘されているように、上記は真実の半分にすぎません:

デフォルトでは、SudoグループのメンバーのみがSudo <command>を使用してコマンドを実行できます。これは次の行によって達成されます

#  who  where    as-whom  what
  %Sudo  ALL  = (ALL:ALL) ALL

/etc/sudoersファイル内。その意味は:

  • グループSudoのメンバー(who)は実行可能
  • 任意のコンピューターで(where
  • 任意のユーザーおよび任意のグループとして(as-whom
  • 任意のコマンド(what

これはUbuntuのデフォルト設定であるため、Sudoグループにユーザーを追加またはグループから削除すると、Sudo <command>を使用してコマンドを実行する特権が付与または取り消されます。

ただし、/etc/sudoersファイル(または/etc/sudoers.d/の下)に他のグループやユーザーを追加することもできます。 :

alice  myhost  = (bob) /bin/ls

つまり、ユーザーaliceは、ホストbobでのみ、ユーザーmyhostとして/bin/lsを実行できます。

aliceSudo -u bob ls /home/bobを実行できるようになりました。これは、Sudoグループのメンバーシップに依存しません。このような設定がある場合、aliceグループからSudoを削除するにはnotで十分です。代わりに、/etc/sudoersファイルからalice行を削除する必要があります。

whereの部分は、sudoersファイルを異なるコンピューターで共有し、すべてのコンピューターで同じ状態に保ちたい場合にのみ関係します。

10
PerlDuck

Sudoグループに関する答えは、mostの状況に対して正しいです。ユーザーにSudo権限を付与する別の方法があります。それは、ユーザー名をsudoersファイルに直接追加することです。ユーザー名が追加されている場合は、そのファイルから削除する必要があります。通常は、ユーザー名を含む行全体です。これは一般的なシナリオではありませんが、可能です。 sudoersファイルを編集するには、visudoを使用します。

4