私はここで少し混乱しました。ユーザーにコンピュータへの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
意味:「ホスト上のグループのすべてのメンバーは、ユーザーアカウントをALL
sudoしてコマンドを実行できます。」したがって、これは「間違った」行とまったく同じです。ALL
ALL
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年ほどになったようです。