
No momento, estou tentando bloquear um pouco meus usuários. Eu criei alguns usuários:
www.foo
www.bar
e um grupo:
apacheadmins
Ambos www.foo
e www.bar
são membros do apacheadmins
grupo. Atualmente, eles não têm acesso ao sudo, mas gostaria de conceder-lhes acesso ao sudo para:
service httpd configcheck
service httpd restart
service httpd graceful
Adicionei as seguintes linhas, usando visudo na parte inferior do arquivo sudoers:
### Setting permissions for www.* users
Cmnd_Alias APACHECMDS = /sbin/service httpd configcheck, /sbin/service httpd graceful, /sbin/service httpd restart
%apacheusers ALL = NOPASSWD: APACHECMDS
Gostaria que esses usuários pudessem usar esses comandos sem solicitação de senha, mas eles têm acesso apenas por chave e atualmente não possuem senhas atribuídas a eles.
Sempre que salvo minhas alterações, abro uma nova sessão bash como www.foo
ou www.bar
, ainda sou recebido com uma solicitação de senha.
Eu brinquei um pouco com ele e posso fazê-lo funcionar se especificar o caminho completo, ou seja:
sudo service httpd graceful
não funciona.
sudo /sbin/service httpd graceful
funciona.
Posso fazer isso funcionar sem especificar o caminho completo?
EDITAR: Estou a usar:
[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)
Responder1
O problema é que a variável dos usuários $PATH
não inclui /sbin
e, portanto sudo
, não encontra o comando.
$ 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...
Adicione /sbin
aos usuários $PATH
para resolver isso.