-bash: ifconfig: "su - redbox -c 'ifconfig'"를 사용할 때 명령을 찾을 수 없습니다.

-bash: ifconfig: "su - redbox -c 'ifconfig'"를 사용할 때 명령을 찾을 수 없습니다.

저는 루트로 로그인했고 전환하지 않고 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 - redboxifconfig

두 경우 모두 $PATH가 다른 이유를 누군가 설명할 수 있습니까? 두 경우 모두 -로그인 셸을 사용하고 있습니다.

답변1

읽다 man sudoers. 수행하는 명령에 sudo자신의 아이디어를 적용합니다 .$PATH

sudo -u redbox -c $( type -p ifconfig) 

귀하의 $PATH또는

sudo -u redbox /usr/sbin/ifconfig

관련 정보