Irgendwelche Ideen, warum der which
Befehl den Befehl in RHEL 7 nicht finden kann? usermod
Hier ist, was ich getan habe (und die entsprechende Ausgabe)
[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
Der Kern des Problems besteht also darin, dass usermod
es sich physisch in befindet /usr/sbin/usermod
. Dieses Verzeichnis /usr/sbin
befindet sich im ec2-user
Suchpfad. Aber aus irgendeinem Grund which
gibt der Befehl es nicht zurück, wenn ich ihn als ausführe ec2-user
.
Irgendwelche Ideen, warum dies unter RHEL 7 passiert? Ich habe auch Ubuntu 14.04 und es funktioniert wie erwartet (sowohl Root- als auch normale Benutzer können usermod
es sehen /usr/sbin
).
Nach dem ersten Post habe ich noch Folgendes herausgefunden: +++++++++++++++++++++++++++++++++++++++++
Ich habe einige zusätzliche Informationen gefunden und denke, dass dies etwas damit zu tun haben könnte:
Unter RHEL 7 sind die Berechtigungsbits fürusermod
-rwxr-x---. 1 root root 113800 Jun 28 2016 /usr/sbin/usermod
Unter Ubuntu 14.04 sind die Berechtigungsbits fürusermod
-rwxr-xr-x 1 root root 110296 May 16 19:37 /usr/sbin/usermod
Ich vermute also, dass dies möglicherweise daran liegt, dass dem normalen Benutzer die Leseberechtigung fehlt usermod
.
Antwort1
usermod
ist ein Programm, das nur von root ausgeführt wird. So finden Sie die Speicherorte:
sudo which usermod
/usr/sbin/usermod