Linux

SSH 未正確記錄

  • October 24, 2014

我正在查看/var/log/auth.logDebian 網路伺服器,它記錄的最後一件事是:

Jul  2 21:09:01 h311 /USR/SBIN/CRON[25912]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
Jul  2 21:12:37 h311 systemd[1]: Reloading.

/var/log/sysloghas 的大小為 0 字節。較舊的日誌在他們的檔案中。

我試過刪除它,重新啟動服務。它再次被創建,大小為 0 字節。

我曾嘗試在此伺服器上安裝諸如 syslog-ng 之類的東西,並在玩了一段時間後將其刪除。我安裝的某些軟體包可能會篡改配置,但我無法準確告訴您。

這台伺服器上還有不止一個超級使用者,所以它可能是別的東西。

為了讓日誌記錄再次工作,我應該檢查並嘗試做什麼?

如評論中所示,您的系統正在使用 systemd 進行服務管理。Systemd 是傳統 SysVinit 的替代品。它還捆綁了許多其他東西,例如 syslog 收集器。在這種情況下,要訪問您的日誌,您需要使用該journalctl命令。

$ journalctl

如果您只想查看sshd日誌,可以傳遞一個過濾器:

$ journalctl -n 1 _COMM=sshd
-- Logs begin at Wed 2014-10-22 19:29:29 EDT, end at Fri 2014-10-24 09:05:09 EDT. --
Oct 24 09:05:09 gadget sshd[5800]: pam_unix(sshd:session): session closed for user phemmer

您可以通過將輸出格式更改為verbose

$ journalctl -n 1 -o verbose
Fri 2014-10-24 09:05:09.533633 EDT [s=30566909a26443ffb7185d318ccc4cd6;i=3d5d;b=19dd64e325fd4577a78af1a73f005b6c;m=1e82168a3c;t=5062ad4a511bc;x=1fae374af8a7dbc3]
   PRIORITY=6
   _UID=0
   _GID=0
   _BOOT_ID=19dd64e325fd4577a78af1a73f005b6c
   _MACHINE_ID=5288dcb47f9fed3ab946f54754305a4f
   _HOSTNAME=gadget
   _CAP_EFFECTIVE=1fffffffff
   _TRANSPORT=syslog
   SYSLOG_FACILITY=10
   SYSLOG_IDENTIFIER=sshd
   _COMM=sshd
   _EXE=/usr/sbin/sshd
   _SYSTEMD_OWNER_UID=1000
   _SYSTEMD_SLICE=user-1000.slice
   _PID=5800
   _CMDLINE=sshd: phemmer [priv]   
   _SYSTEMD_CGROUP=/user.slice/user-1000.slice/session-3.scope
   _SYSTEMD_SESSION=3
   _SYSTEMD_UNIT=session-3.scope
   MESSAGE=pam_unix(sshd:session): session closed for user phemmer
   _SOURCE_REALTIME_TIMESTAMP=1414155909533633

回答您關於禁用 systemd 的評論。我不會建議它。您的發行版正在向 systemd 發展,而刪除系統的核心組件可能會讓您的生活變得極其困難。

可以只禁用日誌日誌,並使用傳統的 syslog 守護程序,而不會帶來太多痛苦,但我建議在決定不使用之前先學習使用日誌。不應該輕易違背慣例。

引用自:https://unix.stackexchange.com/questions/163981