Sudo

幫助我理解 sudoers 文件中的權限語法

  • March 16, 2022

基於文件本身:

接下來是主要部分:哪些使用者可以在哪些機器上執行什麼軟體(sudoers 文件可以在多個系統之間共享)。句法:

  user    MACHINE=COMMANDS

好的,例如我們有這個:

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

這意味著 john.doe 被授予使用 sudo 發出 ifup 和 ifdown 命令的權限。我不明白的是括號中的部分。我只知道第一個是使用者,第二個是組。但是,當我們已經在第一行指定了使用者時,這是為了什麼?謝謝你

分解你的例子:

  1. 約翰·多伊
  2. 全部=
  3. (全部:全部)
  4. /sbin/ifup, /sbin/ifdown

(1) 使用者 john.doe 可以 (2) 無論機器名稱如何 (3) 假裝是任何 (ALL) 使用者 ID,或屬於任何 (:ALL) 組以執行 (4) 這些命令. 因此,例如,john.doe 以/sbin/ifup他希望的任何使用者身份執行該命令:

$ sudo -u vahid2015 /sbin/ifdown eth0

你會受到指責!

通常你不需要 (ALL:ALL) 部分,預設是 root,這是最常見的情況。如果一個使用者應該執行一個命令,比方說,並且操作員使用 (operator) 為 uid 或 (:operator) 為 gid。

如果可能,最好指定機器名稱,但是使用ALL=允許在一組受管理的機器上維護一個公共sudoers文件。

引用自:https://unix.stackexchange.com/questions/694592