sudoアクセスとホイールセット

sudoアクセスとホイールセット

私はここで少し混乱しました。ユーザーにコンピュータへのsudoアクセス権を付与するように求められます。ユーザーをホイールグループに追加する必要がありますか?

# usermod -aG wheel bob

あるいは、ホイールセットが存在しないか、何らかの理由で除去されたと仮定する。

それでは、bob sudoにマシンへのアクセス権をどのように付与できますか?私がするとき

# which sudo

結果は次のとおりです。/usr/bin/sudo

では、次のことができますか?

bob     ALL=/usr/bin/sudo

ところでbobユーザーに変更して実行しようとしました。

# sudo iptables -L

その後、エラーメッセージが表示されました。

申し訳ありません。 bob ユーザーは root として '/sbin/iptables -L' を実行できません。

したがって、グループホイールが存在しない場合は、ユーザーにシステムへのsudoアクセス権を付与する方法がわかりません。そして私が知る限り

bob       ALL=ALL    ALL

基本的に、bobにrootと同じ権限を与えるのは悪いことです。

もう1つの質問は、システム内のすべてのユーザーが最後のコマンドを実行できるようにする方法です。グループを作成してから、すべてのユーザーをそのグループに追加する必要がありますか、それとも別の方法がありますか?

ベストアンサー1

Wheelグループメンバーシップがユーザーにsudoを介してフルrootアクセス権を提供する場合、通常は次のようにファイルに設定されます/etc/sudoers

%wheel    ALL=(ALL) ALL

wheel意味:「ホスト上のグループのすべてのメンバーは、ユーザーアカウントをALLsudoしてコマンドを実行できます。」したがって、これは「間違った」行とまったく同じです。ALLALL

bob      ALL=(ALL) ALL

他の操作を行わずにユーザー(またはグループ)に他の特定のユーザーアカウントへのフルアクセス権を付与するには、次のようにします。

user     ALL=(targetuser) ALL
# or
%group   ALL=(targetuser) ALL

これにより、ユーザーは次のことができます。

$ sudo -u targetuser command

ターゲットユーザーとして単一のコマンドをすばやく実行する

$ sudo -iu targetuser

ターゲットユーザーが直接ログインしている場合は、取得できるのとまったく同じ環境を使用してターゲットユーザーと同じシェルをインポートします。

歴史的な理由から、一部の人々は反射的に以下を使用します。

sudo su - targetuser

第二の目的のために。これを行うには、関連ユーザーに少なくとも「

su - targetuser 

rootでコマンドを実行し、ユーザーが実際に実行した操作をログにまとめるのはより困難です。sudoこのコマンドはそのオプションが利用できないときに便利でしたが、-iこのオプションが出てからもう15年ほどになったようです。

おすすめ記事