ここでは少し混乱しています。ユーザーにマシンへのSudoアクセスを許可するように求められたとき。ユーザーをwheelグループに追加するだけです。
# usermod -aG wheel 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
基本的にボブはルートのように同じ力を持っていますが、これは良くありません。
私のもう1つの質問は、システム上のすべてのユーザーが最後のコマンドを実行できるようにする方法です。グループを作成してからすべてのユーザーをこのグループに追加する必要がありますか、それとも別の方法がありますか?
WheelグループのメンバーシップがユーザーにSudoを介した完全なrootアクセスを許可する場合、通常は/etc/sudoers
ファイルで次のように構成されます。
%wheel ALL=(ALL) ALL
意味:「wheel
ホスト上のグループALL
のメンバーは、ALL
ユーザーアカウントにSudoを実行して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年前から存在していると思います。