sudoersファイルの権限構文を理解するのに役立ちます。

sudoersファイルの権限構文を理解するのに役立ちます。

ファイル自体に基づいて:

以下は主な部分です。どのユーザーがどのソフトウェアをどのシステムで実行できるか(sudoersファイルは複数のシステム間で共有できます)。通事論:

  user    MACHINE=COMMANDS

いいですね。たとえば、次のようになります。

john.doe ALL=(ALL:ALL) /sbin/ifup, /sbin/ifdown

これは、john.doeがsudoを使用してifupおよびifdownコマンドを実行する権限を持っていることを意味します。私が理解していない部分は括弧内の部分です。私は最初はユーザーであり、2番目はグループであることを知っています。しかし、すでに最初の行にユーザーを指定していますが、これは何の役に立ちますか?ありがとう

答え1

あなたの例を分析すると、次のようになります。

  1. ジョン・ドウ
  2. すべて =
  3. (すべて:すべて)
  4. /sbin/ifup、/sbin/ifdown

(1)ユーザーjohn.doeは、(2)コンピューター名に関係なく、任意の(ALL)ユーザーIDであるかのように偽装することも、任意の(:ALL)グループに属してこれらのコマンドを実行することもできます(4)。たとえば、john.doe は/sbin/ifup目的のユーザーとしてコマンドを実行します。

$ sudo -u vahid2015 /sbin/ifdown eth0

あなたは非難されます!

通常、(ALL:ALL)部分は必要ありません。デフォルトは最も一般的なルートです。ユーザーがコマンドを実行する必要がある場合は、(operator)をuidとして使用するか、(:operator)をgidとして使用してください。

可能であればシステム名を指定するのが最善ですが、管理対象システムグループ全体でALL=共通ファイルを維持できます。sudoers

関連情報