[중복] 파일에 로그 메시지를 쓸 때 Linux 권한이 거부되었습니다.

[중복] 파일에 로그 메시지를 쓸 때 Linux 권한이 거부되었습니다.
sudo date > output.txt
bash: output.txt: Permission denied

로그 메시지를 파일에 쓰고 싶은데 접두사를 추가해도 권한이 거부되는데 파일을 생성하고 권한을 변경한 후 시도 sudo하면 제대로 작동합니다.output.txt755

파일을 생성하고 권한을 변경하지 않고 어떻게 로그 메시지를 작성할 수 있나요?

처럼sudo date > output.txt --chmod 755 ?

답변1

date | sudo tee output.txt > /dev/null

tee이는 켜져 있고 output.txt루트로 실행 중이기 때문에 작동합니다 . 이는 으로 전송된 추가 복사본을 > /dev/null버릴 뿐입니다 .teestdout

sudo date > output.txt작동하지 않는 이유는 출력 리디렉션( > output.txt)이 수행되었기 때문입니다.앞으로시작 되므로 sudo date현재 액세스 권한으로 실행됩니다.

또 다른 방법은 현재 사용자가 파일을 생성할 수 있도록 현재 디렉터리의 권한을 변경하는 것입니다. 그렇게 하면 date > output.txt필요가 없다는 뜻입니다 sudo.

관련 정보