我想允许一个用户运行grep(通过sudo),并在一个特定文件中为一个特定字符串进行grep。我不想让该用户能够在所有文件上运行grep。用户没有对该文件的读取访问权限,因此需要使用sudo。我正在尝试编写nagios检查,以检查计算机上另一项服务的日志文件。
但是它不起作用,sudo不断要求输入密码。
我的命令是:(sudo grep "string I want (" /var/log/thefilename.log
是的,(
我要grep的字符串中有一个原始字符和一些空格)
/etc/sudoers.d/user-can-grep
具有以下内容:
user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log
此sudoers文件由拥有root:root
并拥有权限-r--r-----
该服务器是Ubuntu Trusty 14.04.3 LTS。
我该如何进行这项工作?
sudo
。
grep
,并which grep
告诉我它正在使用/bin/grep
。sudo文件中的AFAIK即使您在没有完整路径的情况下调用它,也需要指定二进制文件的完整路径。