¿Alguna idea de por qué el which
comando no puede encontrar el usermod
comando en rhel 7? Esto es lo que hice (y el resultado correspondiente)
[ec2-user@ip-10-0-4-109 ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
[ec2-user@ip-10-0-4-109 ~]$ which usermod
/usr/bin/which: no usermod in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin)
[ec2-user@ip-10-0-4-109 ~]$ sudo su
[root@ip-10-0-4-109 ec2-user]# which usermod
/sbin/usermod
[root@ip-10-0-4-109 ec2-user]# readlink -f /sbin/
/usr/sbin
Entonces, el quid de la cuestión es que usermod
está ubicado físicamente en /usr/sbin/usermod
. Este directorio /usr/sbin
está en ec2-user
la ruta de búsqueda. Pero por alguna razón which
el comando no lo devuelve cuando lo ejecuto como ec2-user
.
¿Alguna idea de por qué sucede esto en RHEL 7? También tengo Ubuntu 14.04 y funciona como se esperaba (tanto el usuario raíz como el usuario normal pueden verlo usermod
en /usr/sbin
).
Después de la publicación inicial, esto es lo que descubrí: +++++++++++++++++++++++++++++++++++++++ ++
Encontré información adicional y creo que esto puede tener algo que ver con esto:
En RHEL 7, los bits de permiso parausermod
-rwxr-x---. 1 root root 113800 Jun 28 2016 /usr/sbin/usermod
En Ubuntu 14.04 los bits de permiso parausermod
-rwxr-xr-x 1 root root 110296 May 16 19:37 /usr/sbin/usermod
Entonces, ¿supongo que no tener permiso de lectura para un usuario normal usermod
puede causar esto?
Respuesta1
usermod
es un programa que se ejecuta sólo desde root. Para conocer ubicaciones:
sudo which usermod
/usr/sbin/usermod