![sudo는 stdout을 /etc/file로 리디렉션할 수 없는데 sudo 'nano' 또는 'cp'는 왜 할 수 있나요? [복사]](https://linux55.com/image/17546/sudo%EB%8A%94%20stdout%EC%9D%84%20%2Fetc%2Ffile%EB%A1%9C%20%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%8A%94%EB%8D%B0%20sudo%20'nano'%20%EB%98%90%EB%8A%94%20'cp'%EB%8A%94%20%EC%99%9C%20%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
리디렉션을 사용하고 다음 명령을 사용할 sudo
때 오류가 발생하는 이유는 무엇입니까 ?
$ sudo printf "foo" >/etc/file
bash: /etc/file: Permission denied
$ sudo printf "foo" ~/file; cat ~file >/etc/file
bash: /etc/file: Permission denied
...하지만 편집기를 사용할 때 cp
...
이전에 이것을 시도해 본 적이 없어서 시스템에 문제가 있는지 또는 이것이 정상적인지 알 수 없습니다. 평소에는 약간 제한적인 것처럼 보이지만(?) 의도적으로 제한적인 것일 수도 있습니다... (Ubuntu 사용)
답변1
이것은 정상입니다. 후속 파일은 해당 >
파일에서 실행 중인 프로세스에 의해 열리지 않고 sudo
쉘에 의해 열리지 않습니다. 이 시도:
printf "foo" | sudo tee /etc/file