한 명의 사용자가 grep (sudo를 통해)를 실행하고 하나의 특정 파일에서 하나의 특정 문자열을 grep하도록 허용하고 싶습니다. 이 사용자가 모든 파일에서 grep을 실행할 수있게하고 싶지 않습니다. 사용자는 파일에 대한 읽기 권한이 없으므로 sudo를 사용해야합니다. 컴퓨터에서 다른 서비스의 로그 파일을 greps하는 nagios check를 작성하려고합니다.
그러나 작동하지 않으면 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에서는 전체 경로없이 호출하더라도 바이너리의 전체 경로를 지정해야합니다.