Linux에서 사용자로 명령을 실행할 수 없습니다.

Linux에서 사용자로 명령을 실행할 수 없습니다.

여기에는 두 가지 시나리오가 있습니다.

Sudo 권한은 특정 그룹에 부여됩니다.

ㅏ. 새 사용자가 생성되어 그룹에 할당됩니다. b. 이 사용자를 사용하면 쉘 스크립트를 통해 명령을 실행할 때 어떤 명령(예: mkdir)도 실행할 수 없으며 "명령을 찾을 수 없음" 오류가 표시됩니다. 하지만

ㅏ. 열린 터미널에서 동일한 명령을 실행하면 실행되어 디렉터리가 생성됩니다. 같은 생각이 있으면 매우 도움이 될 것입니다.

이에 대한 추가 정보가 필요하면 알려주시기 바랍니다.

답변1

스크립트에서 바이너리 파일에 전체 경로를 추가해 보세요. /bin/mkdir 명령 뒤에 를 사용하면 명령의 전체 경로를 찾을 수 있습니다. which그런 다음 명령의 전체 경로를 반환합니다. 예를 들면 다음과 같습니다.

$ which mkdir
/bin/mkdir

스크립트가 실행되는 환경의 PATH를 설정하는 데 사용할 수도 있습니다 export. 스크립트에서 이 작업을 수행하려면 export PATH=$PATH:/bin:/usr/bin:/path/to/whateverelse스크립트 시작 부분에 다음과 유사한 줄을 추가하세요.

바라보다http://www.cyberciti.biz/faq/unix-linux-adding-path/더 알아보기.

개인적으로는 바이너리의 전체 경로를 사용하는 것이 좋습니다.

관련 정보