![sudoers cmnd_alias 查看日志文件](https://linux22.com/image/565872/sudoers%20cmnd_alias%20%E6%9F%A5%E7%9C%8B%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6.png)
我的 /etc/sudoers 文件中有以下行:
Cmnd_Alias MSGES = /usr/bin/tail -* /var/log/*, /bin/more * /var/log/*, /bin/cat * /var/log/*, /bin/grep * /var/log/*
我有这个:
level2 ALL = NOPASSWD: MSGES
目的是允许 level2 用户读取 /var/log 文件夹中的日志文件。
但这样做不行。这样做是不是不对?我是否需要以不同的方式设置文件权限?
/var/log/messages 的权限如下:
-rw-r----- 1 root root 174161 2011-10-31 15:30 /var/log/messages
答案1
我刚刚尝试了以下操作并且其功能符合预期。
Cmnd_Alias MSGES = /usr/bin/tail /var/log/*, /bin/more * /var/log/*, /bin/cat *\
/var/log/*, /bin/grep * /var/log/*
%wheel ALL = NOPASSWD: MSGES
看起来您要么缺少组的 %,要么问题出在 -* 上。我尽量避免在命令行选项中使用这样的通配符。我发现要求它们是最后输入的条目更容易。
编辑 - 不过我建议你只需将用户添加到管理员组并允许该组读取你的日志文件即可。不过完全由你决定。
答案2
尝试使用“adm”更改 /var 中文件的组权限。之后,将您自己添加到该组中。