sudo date > output.txt
bash: output.txt: Permission denied
로그 메시지를 파일에 쓰고 싶은데 접두사를 추가해도 권한이 거부되는데 파일을 생성하고 권한을 변경한 후 시도 sudo
하면 제대로 작동합니다.output.txt
755
파일을 생성하고 권한을 변경하지 않고 어떻게 로그 메시지를 작성할 수 있나요?
처럼sudo date > output.txt --chmod 755 ?
답변1
date | sudo tee output.txt > /dev/null
tee
이는 켜져 있고 output.txt
루트로 실행 중이기 때문에 작동합니다 . 이는 으로 전송된 추가 복사본을 > /dev/null
버릴 뿐입니다 .tee
stdout
sudo date > output.txt
작동하지 않는 이유는 출력 리디렉션( > output.txt
)이 수행되었기 때문입니다.앞으로시작 되므로 sudo date
현재 액세스 권한으로 실행됩니다.
또 다른 방법은 현재 사용자가 파일을 생성할 수 있도록 현재 디렉터리의 권한을 변경하는 것입니다. 그렇게 하면 date > output.txt
필요가 없다는 뜻입니다 sudo
.