저는 루트로 로그인했고 전환하지 않고 redbox 사용자로부터 단일 명령을 실행해야 합니다. 이를 위해 다음 명령을 사용합니다.
# su - redbox -c 'CMD'
.
"ifconfig"( )를 실행하려고 하면 su - redbox -c 'ifconfig'
다음 오류가 발생합니다.
-bash: ifconfig: 명령을 찾을 수 없음
하지만 먼저 redbox로 전환한 다음 "ifconfig"를 수행하면 다음과 같이 작동합니다.
# su - redbox $ ifconfig
더 많은 명령에 동일한 문제가 있습니다. 이 문제의 원인이 무엇인지 이해하지 못합니다. 제가 알아낼 수 있도록 도와주세요.
저는 Alpine Linux v3.9.4를 사용하고 있습니다.
고쳐 쓰다:
Jeff가 공유한 링크 덕분에 이제 문제가 보입니다. 을 사용할 때 $PATH 값이 를 su - redbox - c 'ifconfig'
사용할 때와 다릅니다.su - redbox
ifconfig
두 경우 모두 $PATH가 다른 이유를 누군가 설명할 수 있습니까? 두 경우 모두 -
로그인 셸을 사용하고 있습니다.
답변1
읽다 man sudoers
. 수행하는 명령에 sudo
자신의 아이디어를 적용합니다 .$PATH
sudo -u redbox -c $( type -p ifconfig)
귀하의 $PATH
또는
sudo -u redbox /usr/sbin/ifconfig