Sudo

sudo 配置中的嵌套 Cmnd_Alias

  • August 27, 2013

我試圖簡化我的 sudo 配置,但不確定 sudo 是否支持此配置。

我有一個“查看”命令別名,我們使用它來提供對日誌文件的訪問:

Cmnd_Alias VIEW =   /bin/cat, \
                   /bin/zcat, \
                   /bin/grep, \
                   /usr/bin/zgrep, \
                   /bin/more, \
                   /usr/bin/head, \
                   /usr/bin/tail, \
                   /usr/bin/less, \
                   /usr/bin/zless

過去,我只是用使用者需要訪問的相關文件複製了這個塊:

Cmnd_Alias VIEW =   /bin/cat /var/log/messages, \
                   /bin/grep /var/log/messages, \
                   /bin/more /var/log/messages, \
                   /usr/bin/head /var/log/messages, \
                   /usr/bin/tail /var/log/messages, \
                   /usr/bin/less /var/log/messages, \
                   /bin/zcat /var/log/messages*.gz, \
                   /usr/bin/zgrep /var/log/messages*.gz, \
                   /usr/bin/zless /var/log/messages*.gz

這工作正常,但當您需要允許訪問大量文件時會變得有點瘋狂。

為了簡化,我可以使用嵌套命令別名(顯然這種語法不正確,但類似):

Cmnd_Alias VIEW_MESSAGELOG =   {VIEW} /var/log/messages, \
                              {VIEW} /var/log/messages*.gz
Cmnd_Alias VIEW_MAILLOG =   {VIEW} /var/log/maillog, \
                           {VIEW} /var/log/maillog*.gz

或者也許指定可以執行這些操作的文件列表?

它不能那樣工作,請閱讀sudoers(5)手冊頁

也許這不是“sudoers”的工作,而是組權限?您可以創建一個組(例如:“ auditors”),將所需的使用者放入組中,然後只需“ chgrp auditors /var/log/*”後跟一個“ chmod g+r /var/log/*”嗎?

引用自:https://serverfault.com/questions/533778