저는 이 문제에 자주 부딪히는데 왜 이런 일이 발생하는지 혼란스럽습니다. 다음 예를 고려해 보겠습니다.
[me@localhost:~]$ sudo command > /some/file.log
user
내가 아는 한, /some/file.log
명령이 로 실행되더라도 쓰기 권한이 없으면 작동하지 않습니다 sudo
. 이 사이트에서 몇 가지 해결 방법을 찾았으므로 문제는 아니지만 알고 싶습니다.그 이유는 무엇입니까?명령은 사용자로 실행되지만 sudo
리디렉션은 사용자로 실행되는 이유는 무엇입니까? 이것을 지지할 타당한 이유가 있나요?
답변1
sudo
명령을 실행 하면 일반 사용자로 실행 중인 현재 셸에 의해 command
출력 리디렉션이 수행됩니다./some/file.log
출력을 작성하기 위해 시도할 수 있는 작업은 root
다음과 같습니다.
sudo bash -c "command > /some/file.log"