我正在尝试简化我的 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/*
”?