마운트된 드라이브에 디렉터리 계층 구조가 있다는 점을 고려
|-ssd-drive
|-main
|-sub
다음은 main 및 sub 폴더에 대한 액세스입니다.
drwxrwxrwx. 12 poweruser devgroup 4096 Oct 26 18:45 main
drwxrwxr-x. 8 poweruser poweruser 4096 Oct 26 19:01 sub
poweruser
이제 사용자를 대신하여 쉘 스크립트를 실행하고 디렉토리에 로그를 출력하려고 하면 sub
권한 문제로 인해 실패합니다.
[myaccount@vm-002 log]$ sudo -u poweruser /script.sh > /ssd-drive/main/sub/app.log 2>&1
-bash: /ssd-drive/main/sub/app.log: Permission denied
이 경우 왜 sudo -u poweruser
작동하지 않습니까? 자신이 속한 디렉토리의 소유자입니다.
답변1
Steeldriver가 언급했듯이 리디렉션은 sudo의 일부가 아닙니다.
해결 방법은 bash를 통해 실행하는 것입니다.
sudo -u poweruser bash -c "/script.sh > /ssd-drive/main/sub/app.log 2>&1"
이런 방식으로 리디렉션은 다음과 같이 실행되는 새로운 bash 인스턴스에 의해 처리됩니다.poweruser