Sudo
sudo 配置中的嵌套 Cmnd_Alias
我試圖簡化我的 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/*
”嗎?