![로그 파일에 쓸 때 권한이 거부되는 이유는 무엇입니까? [복사]](https://linux55.com/image/104685/%EB%A1%9C%EA%B7%B8%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%93%B8%20%EB%95%8C%20%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EA%B1%B0%EB%B6%80%EB%90%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
debian8@hwy:~$ sudo cat /etc/sudoers |grep debian8
debian8 ALL=(ALL:ALL) NOPASSWD:ALL
이는 debian8이 슈퍼유저로 명령을 실행할 수 있는 사용자라는 뜻입니다.
로그 파일에 뭔가를 쓰고 싶습니다.
debian8@hwy:~$ trafficlog="/var/log/traffic.log"
debian8@hwy:~$ sudo echo -n `date "+%Y-%m-%d %H:%M:%S"` >> $trafficlog
bash: /var/log/traffic.log: Permission denied
Debian8에는 루트 권한이 있는데 왜 trarric 로그에 날짜 기록을 쓸 수 없나요?
답변1
sudo
명령이 끝나는 곳에서 명령이 끝나기 때문입니다 .
암시적 괄호를 사용하면 이것이 바로 여러분이 하는 일입니다(특히 복잡한 방식으로 수행하고 있지만 그 이상이라는 점을 덧붙이겠습니다).
(sudo echo -n) ( date "+%Y-%m-%d %H:%M:%S"
) >> $trafficlog
보시다시피 echo
루트로 명령을 실행하지만 리디렉션은 debian8에서 발생합니다.
무엇회의직업은 다음과 같습니다
echo -n date "+%Y-%m-%d %H:%M:%S"
| sudo tee --$trafficlog 추가