このsudoers
ファイルには、次の行のいずれかを含めることができます。
modernNeo ALL=(ALL:ALL) ALL
modernNeo ALL=(ALL) ALL
私はこれを理解するためにここで次の答えを見ました。
- Sudoersファイル、ユーザーに対してNOPASSWDを有効にする、すべてのコマンド
root ALL=(ALL:ALL) ALL
これらとそしての違いは何ですかroot ALL=(ALL) ALL
?- sudoersで(ALL:ALL)の役割は何ですか?
- sudoersでは、「ALL ALL =(ALL)ALL」とはどういう意味ですか?
質問1
上記の答えを正しく理解した場合:
(ALL:ALL)
すべてのユーザーとグループでコマンドを実行できることを意味します。(ALL)
これは、すべてのユーザーでコマンドを実行できますが、グループは同じままです。 [これは自分のグループです] -sudo
3番目のアイテムでwithを使用するとき、どのユーザーになっても構いません。ALL
質問2
しかし、一緒に(ALL:ALL)
- 任意のグループで実行できる場合、sudoを使用してコマンドラインで指定されていないように、sudoはコマンドを実行するグループをどのように決定しますか
-g
? - まず、自分のグループで実行しようとしてから、コンピュータのすべてのグループのリストを見て、コマンドを実行できるグループを探しますか?
- グループリストはどこから取得され、そのリスト内のグループの順序は何ですか?
root
または、目的のユーザーおよび/またはグループのデフォルト設定を指定しないと、そのユーザーおよび/またはグループに使用されるものに戻りますか?それでは(ALL:ALL)
できますが、なぜそうするのですか(root:root)
?
質問3
また、このUbuntuフォーラムの投稿、次の行について
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
彼らは言った
管理者グループのユーザーは root にできます。 sudoグループのユーザーはsudoコマンドのみを使用できます。たとえば、彼らはできません
sudo su
(ALL:ALL)
(user:group)
使い方を知るという意味だsudo
。実行時に使用して指定できます-u
。何も指定しない場合はデフォルトで実行されます。とにかく、ほとんどの人は最終的にそれを使用します。-g
sudo
root:root
これは私を混乱させます。コマンドを実行するときにどのグループにも参加できる場合は、ルートになることはできません。
答え1
次の行:
smith ALL=(ALL) ALL
ユーザーsmithはsudoを使用して、すべてのコンピューター(最初のALL)からすべてのユーザー(2番目のALL、括弧内の項目)にすべてのコマンド(最後のALL)を実行できます。 sudo は次のコマンドを受け入れます。
smith@site ~ $ sudo -u root -g root bash
しかし、次はそうではありません。
smith@site ~ $ sudo -u root -g smith bash
まだグループ権限が宣言されていないからです。
しかし、これは:
smith ALL=(ALL:ALL) ALL
このコマンドは実行が許可されます(ユーザーtom
とグループsawyer
が存在すると仮定)。
smith@site ~ $ sudo -u tom -g sawyer bash
tom@site ~ $ id
uid=1023(tom) gid=1087(sawyer) groups=1047(tom),1092(sawyer)
それでも:
第1四半期
(ALL:ALL)は、すべてのユーザーとすべてのグループでコマンドを実行できることを意味します。
はい
(ALL) は、すべてのユーザーでコマンドを実行できることを意味します。
はい
…しかし、あなたのグループは同じままです。 [それはあなたのグループです。]
いいえ、許可される唯一のグループはですroot
。
第2四半期
コマンドラインでsudoを使用してグループを指定していないかのように、sudoはコマンドを実行するグループをどのように決定しますか
-g
?
デフォルト値はroot
。
まず、自分のグループで実行しようとしてから、コンピュータのすべてのグループのリストを見て、コマンドを実行できるグループを探しますか?
いいえ。
グループリストはどこから取得され、そのリスト内のグループの順序は何ですか?
登録された商品はありません。上記のように、ただ使用時root
にはデフォルト値に属しuser:ALL
、user:group
使用時には名前付きグループに属することになります。
単純なルール、簡単な行動。
root
または、目的のユーザーおよび/またはグループのデフォルト設定を指定しないと、ユーザーおよび/またはグループに使用されるように戻りますか?
はい。
それでは(root:root)できますが、なぜ(ALL:ALL)を行うのですか?
それで(ALL:ALL)
できるので:
sudo -u tom -g sawyer id
しかし、それでしか(root:root)
できません:
sudo -u root -g root id
他に何もありません(ユーザーとグループの面で)。
第3四半期
次の行の場合:
%admin ALL=(ALL) ALL %sudo ALL=(ALL:ALL) ALL
管理者グループのユーザーは root にできます。
はい、グループ(%)のユーザーはadmin
すべてのユーザー(ルートを含む)にすることができますが、グループ(ALL)
のみroot
が可能です。
sudoグループのユーザーはsudoコマンドのみを使用できます。
これは正確ではありません。グループ(%)のユーザーはすべてのsudo
コマンド(最後のコマンドALL
)を実行できます。
グループ(%)のユーザーsudo
はすべてのユーザーにすることができます((ALL:)
部分)。 そしてすべてのグループ((:ALL)
一部)そしてすべてのコマンド(最後のコマンドALL
)を実行できます(特に誤ったsudoだけでなく)。
たとえば、彼らはできません
sudo su
いいえ、彼らはできsudo su
ますsudo ls
。sudo anycommand
(ALL:ALL)
(user:group)
使い方を知るという意味だsudo
。実行時に使用して指定できます-u
。-g
sudo
ここには正しいです。コマンドはsudo -u tom -g sawyer ls
正確で有効です。
何も指定しない場合は
root:root
デフォルトで実行されます。
これはここでも同様です。コマンドは資格情報(たとえば、許可/権限)を使用して実行されますsudo ls
。root:root
とにかく、ほとんどの人は最終的にそれを使用します。
そうですね。最も一般的に使用されるsudo
コマンドは、ユーザーやグループを指定しません。だからそれ「とにかく最もよく使われる」(基本root:root
)。
混乱しています...コマンドを実行すると、どのグループでも許可できると言われています...
(ALL:ALL)
はい、コマンドはsudo
すべてのユーザーまたはグループで機能できると指定されています。
そして:
...では、ルートになることはできませんか?
いいえ、この説明は正しくありません。
sudoを使用すると、
(ALL:ALL) ALL
すべてのグループのすべてのユーザーになり、すべてのコマンドを実行できます。根までも。sudoを使用すると、
(ALL) ALL
グループを設定する機能は失われますが、まだユーザーを設定してすべてのコマンドを実行できます(sudo su -
許可されています)。