
현재 사용자를 약간 잠그려고 노력하고 있습니다. 일부 사용자를 만들었습니다.
www.foo
www.bar
그리고 그룹:
apacheadmins
www.foo
, 및 모두 그룹 www.bar
의 구성원입니다 apacheadmins
. 현재 sudo 액세스 권한이 없지만 다음에 대한 sudo 액세스 권한을 부여하고 싶습니다.
service httpd configcheck
service httpd restart
service httpd graceful
sudoers 파일 맨 아래에 visudo를 사용하여 다음 줄을 추가했습니다.
### Setting permissions for www.* users
Cmnd_Alias APACHECMDS = /sbin/service httpd configcheck, /sbin/service httpd graceful, /sbin/service httpd restart
%apacheusers ALL = NOPASSWD: APACHECMDS
이러한 사용자가 암호 프롬프트 없이 이러한 명령을 사용할 수 있기를 바랍니다. 하지만 해당 사용자는 키로만 액세스할 수 있고 현재 암호가 할당되어 있지 않습니다.
변경 사항을 저장할 때마다 www.foo
또는 으로 새 bash 세션을 열 때마다 www.bar
여전히 비밀번호 프롬프트가 표시됩니다.
나는 그것을 조금 가지고 놀았고 전체 경로를 지정하면 작동하도록 할 수 있습니다. 즉:
sudo service httpd graceful
작동하지 않습니다.
sudo /sbin/service httpd graceful
작동합니다.
전체 경로를 지정하지 않고 이 작업을 수행할 수 있습니까?
편집하다: 나는 다음을 사용하고 있습니다 :
[foo@bar~]$ uname -a
Linux bar 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[foo@bar~]$ cat /etc/redhat-release
CentOS release 5.4 (Final)
답변1
문제는 사용자 $PATH
변수에 가 포함되어 있지 않아 실제로 명령을 찾지 못한다는 /sbin
것 입니다.sudo
$ sudo service acpid status
[sudo] password for mgorven:
$ sudo /sbin/service acpid status
acpid (pid 3185) is running...
$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
$ export PATH=$PATH:/sbin:/usr/sbin
$ sudo service acpid status
acpid (pid 3185) is running...
/sbin
이 문제를 해결하려면 사용자에게 추가하세요 $PATH
.