rhel 7でこのwhich
コマンドが見つからない理由がわかります。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