
sudo 명령을 통해 성공적으로 완료되었습니다 usermod
.
sudo usermod -aG some_group some_user
하지만 su를 통해 실행하면 오류가 발생합니다.
su
...I enter root password...
usermod -aG some_group some_user
bash: usermod: command not found
왜 이런 일이 발생합니까?
시스템을 어떻게 구성하나요?
사실, 변경할 수 없는 스크립트가 있습니다. 이 스크립트는 su에서 usermod 명령을 사용합니다.
답변1
필요한 $PATH
설정 입니다 root
. 이것은 sudo
자체적으로 있기 때문에 문제가 되지 않습니다 $PATH
.
su
기본적으로 변경되지 않습니다 $PATH
. 로그인 쉘을 시작해야 합니다.
su -
그냥보다는
su
su
통화를 변경할 수 없는 경우 $PATH
통화 전에 변경하세요. usermod
찾은 경우 /usr/sbin/usermod
다음을 수행하십시오.
PATH=/usr/sbin:$PATH
su
답변2
su
쉘 변수를 수정할 수 있는 /etc/profile에서 구성 파일을 로드합니다 $PATH
.
man su
설명하다
-m, -p, --preserve-environment
Preserve the entire environment, i.e., it does not set HOME,
SHELL, USER nor LOGNAME. This option is ignored if the option
--login is specified.
따라서 플래그를 사용하여 기존 쉘에서 --preserve-environment
로드하십시오 .$PATH
su --preserve-environment
또는
PATH 변수를 수동으로 내보냅니다.
su
export PATH=$PATH:/path/of/usermod/dir