뿌리가 아닌 데비안 리눅스 데몬에서 어떻게 로그인해야합니까?
문제
나는 Debian Linux에서 호스팅 될 새로운 데몬을 쓰고 있습니다.
/var /log에는 루트가 쓰기 권한 만 있다는 것을 알았으므로 데몬은 로그 파일을 작성할 수 없습니다.
그러나 거기에 쓰는 경우 자동 로그 회전을 얻고 사용자가 기대할 수있는 것으로 보입니다.
데몬이 루트로 실행하지 않고 /var /log에 나타나는 로그 항목을 작성하는 권장 방법은 무엇입니까?
데몬은 웹 서버이므로 로그 트래픽은 Apache와 유사합니다.
해결책
와 같은 하위 디렉토리를 만들어야합니다 /var/log/mydaemon
데몬의 사용자 소유권이 있습니다
다른 팁
루트로 로그 파일을 만들고 파일 소유자를 웹 서버 사용자로 변경하십시오.
# touch /var/log/myserver.log
# chown wwwuser /var/log/myserver.log
그러면 서버가 사용자로 실행되면 파일에 쓸 수 있습니다. wwwuser
. 그러나 자동 로그 회전을 얻지 못합니다. 로그 파일을 추가해야합니다 /etc/logrotate.conf
또는 /etc/logrotate.d/...
서버가 로그 파일을 다시 열 수 있도록하십시오 logrotate 신호를 보내야합니다.
당신은 또한 사용할 수도 있습니다 syslog
로깅을 위해, 그것이 당신의 시나리오라면 더 나은 경우.
두 가지 옵션 :
- AS를 시작하십시오
root
, 파일을 열고와 함께 권한을 떨어 뜨립니다setuid
. (정확한 시스템이 삭제 권한을 요구하는 것을 기억하지 못합니다.) TCP 포트 80 또는 1024 미만의 포트에 바인딩하려면 어쨌든이 작업을 수행해야합니다. - 다음과 같이 데몬의 사용자 소유권을 갖는/var/log/mydaemon과 같은 하위 디렉토리를 만듭니다. Wisetechi가 말했다.
아래에 파일 /var/log
자동으로 회전되지 않습니다. 대신, 회전은 제어됩니다 /etc/logrotate.conf
그리고 파일 아래 /etc/logrotate.d
.
"로거"명령을 사용하십시오
제휴하지 않습니다 StackOverflow