저는 sudo 1.6.9p23과 함께 AIX 5.3을 사용하고 있습니다. Sudoers 파일은 사용자 fcomartin
에게 사용자로서 모든 명령을 실행할 수 있는 권한을 부여합니다 oas
.
fcomarti ALL=(oas) ALL
사용자에게는 oas
선택한 옵션에 따라 다른 스크립트를 시작하는 menu라는 bash 스크립트가 있습니다.
문제는 일부 도우미 스크립트가 표준 출력을 사용자 temp
소유 텍스트 파일 로 리디렉션한다는 것입니다 oas
. 이런 일이 발생하면 사용자에게 올바른 쓰기 권한이 없다는 메시지가 나타납니다.
사용자는 fcomarti
ksh를 사용하고 다음 명령을 사용합니다.
sudo -u oas bash menu
(사용자가 oas
bash를 사용하기 때문에 bash).
메뉴가 시작된 다음 메뉴에서 monitorAv 스크립트를 시작합니다. monitorAv 내부에는 다음 줄이 있습니다 echo > temp
. 그러면 사용자에게 fcomarti
올바른 쓰기 권한이 없다는 오류가 발생합니다.
이 문제를 어떻게 해결할 수 있나요?
답변1
스크립트를 편집하고 실행하지 말고 sudo something > here
이렇게 사용하세요sudo sh -c "something > here"
man
redirection
매우 유용할 수 있습니다. 에서 검색해 보세요 man sudo
.
답변2
마침내 문제를 해결했습니다. sudo의 구문은 다음과 같습니다.
sudo -u oas bash -c "cd /Oas/bin; menu"
이는 메뉴에서 실행되는 일부 도우미 스크립트가 작동하려면 절대 경로가 필요하기 때문입니다.