
Ich habe /var/log/secure versehentlich entfernt. Ich versuche, es neu zu erstellen, aber es bleibt nach mehreren Verbindungen immer noch leer.
Auf einem Server, auf dem alles funktioniert, habe ich mit ls -l:
-rw-------. root:root /var/log/secure
und auf einem Server, auf dem es nicht funktioniert, habe ich mit ls -l:
-rw------- root:root /var/log/secure
Der einzige Unterschied besteht in den Rechten mit dem "." am Ende der Zeile, das fehlt auf dem Server, wo es nicht funktioniert.
Irgendeine Idee ?
Antwort1
Das Problem ist also, dass Ihr Syslog-Prozess die gelöschte Datei immer noch geöffnet hat. Sie müssen Ihren Syslog-Prozess neu starten. Standardmäßig ist das rsyslog in CentOS
service rsyslog restart
Ich bin sicher, Sie können es auch als gelöscht geöffnet sehen, wenn Sie etwas wie versuchen
lsof | grep '/var/log/secure'
Dadurch erhalten Sie den PID-/Prozessnamen dessen, was es offen hält. Zum Beispiel
[[email protected] ~]# lsof | grep '/var/log/secure'
rsyslogd 977 root 5w REG 253,0 585555 2756243 /var/log/secure
Der rsyslogd-Prozess hält es also offen
[[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 -