sudo 配置中嵌套的 Cmnd_Alias

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

或者也许指定可以执行这些操作的文件列表?

答案1

它不能那样工作,阅读sudoers(5)手册页

答案2

也许这不是“sudoers”的工作,而是组权限的工作?您是否可以创建一个组(例如:“ auditors”),将所需的用户放入该组中,然后只需“ chgrp auditors /var/log/*”后面跟着“ chmod g+r /var/log/*”?

相关内容