%20usermod%20%D0%BA%D0%B0%D0%BA%20%D0%BE%D0%B1%D1%8B%D1%87%D0%BD%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%20%D0%B2%20RHEL7.png)
Есть идеи, почему which
команда не может найти usermod
команду в rhel 7. Вот что я сделал (и соответствующий вывод)
[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
Итак, суть проблемы в том, что usermod
физически он находится в /usr/sbin/usermod
. Этот каталог /usr/sbin
есть в ec2-user
пути поиска. Но по какой-то причине which
команда не возвращает его, когда я запускаю его как ec2-user
.
Есть идеи, почему это происходит на RHEL 7? У меня также Ubuntu 14.04, и он работает как и ожидалось (и root, и обычный пользователь могут видеть usermod
в /usr/sbin
).
После первого поста вот что еще я узнал: ++++++++++++++++++++++++++++++++++++++++++++++++
Я нашел дополнительную информацию и думаю, что это может иметь отношение к этому:
В RHEL 7 биты разрешений дляusermod
-rwxr-x---. 1 root root 113800 Jun 28 2016 /usr/sbin/usermod
В Ubuntu 14.04 биты разрешений дляusermod
-rwxr-xr-x 1 root root 110296 May 16 19:37 /usr/sbin/usermod
Я предполагаю, что причиной этого может быть отсутствие разрешения на чтение у обычного пользователя usermod
?
решение1
usermod
это программа, которая запускается только от root. Чтобы узнать местоположение:
sudo which usermod
/usr/sbin/usermod