Zmienić lokalizację pliku dziennika sshd na CentOS?
14
Jak zmienić sshdlokalizację pliku dziennika w CentOS? sshdloguje się do /var/log/messageszamiast /var/log/secure. Jak mogę zmienić to ustawienie, aby sshdzatrzymać wysyłanie dzienników /var/log/messages?
Ciągle piszesz, /var/log/messageczy to naprawdę lokalizacja? Jest ogólnie /var/log/messages.
slm
1
@slm tutaj było /var/log/messages, może OP ma oba ;-)
Anthon
W moim systemie Ubuntu log ssh jest włączony/var/log/auth.log
Eric Wang
Odpowiedzi:
18
Prześlij swoje sshd_configcoś, co wydaje się być gotowe. Zapasowy system CentOS zawsze się loguje /var/log/secure.
Przykład
$ sudo tail -f /var/log/secure
Feb 18 23:23:34 greeneggs sshd[3545]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Feb 18 23:23:36 greeneggs sshd[3545]: Failed password for root from ::1 port 46401 ssh2
Feb 18 23:23:42 greeneggs unix_chkpwd[3555]: password check failed for user (root)
Feb 18 23:23:42 greeneggs sshd[3545]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Feb 18 23:23:43 greeneggs sshd[3545]: Failed password for root from ::1 port 46401 ssh2
Feb 18 23:23:48 greeneggs sshd[3545]: Accepted password for root from ::1 port 46401 ssh2
Feb 18 23:23:48 greeneggs sshd[3545]: pam_unix(sshd:session): session opened for user root by (uid=0)
Feb 18 23:24:05 greeneggs sshd[3545]: Received disconnect from ::1: 11: disconnected by user
Feb 18 23:24:05 greeneggs sshd[3545]: pam_unix(sshd:session): session closed for user root
Feb 18 23:27:15 greeneggs sudo: saml : TTY=pts/3 ; PWD=/home/saml ; USER=root ; COMMAND=/bin/tail /var/log/secure
Jest to kontrolowane poprzez /etc/ssh/sshd_config:
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
Jak również zawartość /etc/rsyslog.conf:
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
Twój problem
W jednym z komentarzy wspomniałeś, że rsyslogdplik konfiguracyjny został nazwany /etc/rsyslog.config. To nie jest prawidłowa nazwa tego pliku i prawdopodobnie jest to powód, dla którego twoje logowanie jest zepsute. Zmień nazwę tego pliku na, /etc/rsyslog.confa następnie uruchom ponownie usługę rejestrowania.
Dzięki, zastanawiałem się, czy „SyslogFacility AUTHPRIV” jest komentowane. Skąd sshd wie, jakie są wartości domyślne? Czy wartości domyślne są przechowywane w miejscu, które można edytować?
Jidrick
Domyślne są w kodzie źródłowym, który został użyty do skompilowania sshdpliku wykonywalnego. Jeśli chcesz zastąpić ustawienia domyślne, możesz podać sshdopcje wiersza polecenia lub edytować jego plik konfiguracyjny.
Mark Plotnick
@MarkPlotnick - tak, jak zwykle dzieje się to w plikach konfiguracyjnych (jak pokazano powyżej), wartości domyślne są pokazane w pliku konfiguracyjnym, ale są następnie przetwarzane. Tak sshzostało skompilowane, aby LogLevelbyło ustawione INFOdomyślnie. Aby go pominąć, musisz odkomentować tę linię, a następnie zmienić jej wartość.
slm
3
Domyślna sshdfunkcja syslog to AUTH, więc będzie logowana w syslog do /var/log/messages.
Aby utworzyć sshddziennik w nowym pliku, możesz zmienić narzędzie syslog na coś innego, a następnie skonfigurować syslog, aby logował ten nowy obiekt do nowego pliku, tj .:
/var/log/message
czy to naprawdę lokalizacja? Jest ogólnie/var/log/messages
./var/log/messages
, może OP ma oba ;-)/var/log/auth.log
Odpowiedzi:
Prześlij swoje
sshd_config
coś, co wydaje się być gotowe. Zapasowy system CentOS zawsze się loguje/var/log/secure
.Przykład
Jest to kontrolowane poprzez
/etc/ssh/sshd_config
:Jak również zawartość
/etc/rsyslog.conf
:Twój problem
W jednym z komentarzy wspomniałeś, że
rsyslogd
plik konfiguracyjny został nazwany/etc/rsyslog.config
. To nie jest prawidłowa nazwa tego pliku i prawdopodobnie jest to powód, dla którego twoje logowanie jest zepsute. Zmień nazwę tego pliku na,/etc/rsyslog.conf
a następnie uruchom ponownie usługę rejestrowania.źródło
sshd
pliku wykonywalnego. Jeśli chcesz zastąpić ustawienia domyślne, możesz podaćsshd
opcje wiersza polecenia lub edytować jego plik konfiguracyjny.ssh
zostało skompilowane, abyLogLevel
było ustawioneINFO
domyślnie. Aby go pominąć, musisz odkomentować tę linię, a następnie zmienić jej wartość.Domyślna
sshd
funkcja syslog toAUTH
, więc będzie logowana w syslog do/var/log/messages
.Aby utworzyć
sshd
dziennik w nowym pliku, możesz zmienić narzędzie syslog na coś innego, a następnie skonfigurować syslog, aby logował ten nowy obiekt do nowego pliku, tj .:W sshd_config dodaj ten wiersz:
Następnie w syslog.conf:
źródło
SyslogFacility AUTHPRIV
jest już domyślny w dystrybucjach RH. Zastępują go jako część opakowania./etc/rsyslog.config
na/etc/rsyslog.conf
.