
실수로 /var/log/secure를 제거했습니다. 이를 다시 생성하려고 시도했지만 여러 번 연결한 후에도 여전히 비어 있습니다.
모든 것이 작동하는 서버에서 ls -l을 사용하면 다음이 있습니다.
-rw-------. root:root /var/log/secure
작동하지 않는 서버에서는 ls -l을 사용하여 다음을 수행합니다.
-rw------- root:root /var/log/secure
유일한 차이점은 "."이 있는 권리에 있습니다. 줄 끝에는 작동하지 않는 서버에서 누락되었습니다.
어떤 아이디어?
답변1
따라서 문제는 syslog 프로세스에 삭제된 파일이 여전히 열려 있다는 것입니다. syslog 프로세스를 다시 시작해야 합니다. 기본적으로 centos의 rsyslog입니다.
service rsyslog restart
다음과 같은 것을 시도하면 삭제된 것으로 열린 것을 볼 수 있을 것이라고 확신합니다.
lsof | grep '/var/log/secure'
그러면 열려 있는 항목의 pid/프로세스 이름이 제공됩니다. 예를 들어
[[email protected] ~]# lsof | grep '/var/log/secure'
rsyslogd 977 root 5w REG 253,0 585555 2756243 /var/log/secure
따라서 rsyslogd 프로세스가 이를 열어두고 있습니다.
[[email protected] ~]# ps aux | grep 977
root 977 0.0 0.0 249856 5916 ? Sl 2014 8:25 /sbin/rsyslogd -i /var/run/syslogd.pid -