Sudo
幫助我理解 sudoers 文件中的權限語法
基於文件本身:
接下來是主要部分:哪些使用者可以在哪些機器上執行什麼軟體(sudoers 文件可以在多個系統之間共享)。句法:
user MACHINE=COMMANDS
好的,例如我們有這個:
john.doe ALL=(ALL:ALL) /sbin/ifup, /sbin/ifdown
這意味著 john.doe 被授予使用 sudo 發出 ifup 和 ifdown 命令的權限。我不明白的是括號中的部分。我只知道第一個是使用者,第二個是組。但是,當我們已經在第一行指定了使用者時,這是為了什麼?謝謝你
分解你的例子:
- 約翰·多伊
- 全部=
- (全部:全部)
- /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
文件。