which
rhel 7 でコマンドが見つからない理由について何かアイデアはありますか。usermod
私が行ったことは次のとおりです (および対応する出力)
[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
ルートからのみ実行されるプログラムです。場所を確認するには:
sudo which usermod
/usr/sbin/usermod