
Actualmente estoy intentando bloquear un poco a mis usuarios. He creado algunos usuarios:
www.foo
www.bar
y un grupo:
apacheadmins
Ambos www.foo
, y www.bar
son miembros del apacheadmins
grupo. Actualmente no tienen acceso Sudo, pero me gustaría otorgarles acceso Sudo para:
service httpd configcheck
service httpd restart
service httpd graceful
Agregué las siguientes líneas, usando visudo en la parte inferior del archivo 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
Me gustaría que estos usuarios pudieran usar estos comandos sin solicitar contraseña, pero solo tienen acceso mediante clave y actualmente no tienen contraseñas asignadas.
Cada vez que guardo mis cambios, abro una nueva sesión de bash como www.foo
o www.bar
, todavía me aparece una solicitud de contraseña.
He jugado un poco con él y puedo hacerlo funcionar si especifico la ruta completa, es decir:
sudo service httpd graceful
No funciona.
sudo /sbin/service httpd graceful
funciona.
¿Puedo hacer que esto funcione sin especificar la ruta completa?
EDITAR: Estoy usando:
[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)
Respuesta1
El problema es que la $PATH
variable de los usuarios no incluye /sbin
y, por lo tanto, sudo
no encuentra el 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...
Agregue /sbin
a los usuarios $PATH
para resolver esto.