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를 가지고 있으며 예상대로 작동합니다 (루트 및 일반 사용자 모두 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