Logging
使用日誌在 SFTP 伺服器中查找已刪除/導入的文件
我們有一個 SFTP 伺服器,我試圖找出某些特定文件是否已從伺服器中刪除,或者它們是否已導入伺服器。我正在瀏覽 /var/log 下的日誌文件,但到目前為止還沒有找到相關的日誌。
我想知道在哪個日誌文件中可以找到這樣的資訊?
任何幫助,將不勝感激。
更新:
根據答案和連結:在此處輸入連結描述 我已經修改了配置文件,其中部分如下所示:
Subsystem sftp internal-sftp -f AUTH -l INFO # Force sftp and chroot jail for members of sftp group Match group sftp ForceCommand internal-sftp ChrootDirectory /sftp/%u # Members of sftp-glob have access to all user folders Match group sftp-glob ForceCommand internal-sftp ChrootDirectory /sftp # Enable this for more logs LogLevel VERBOSE
然後重啟sshd:
sudo systemctl restart sshd
在這種情況下,我只能在 /var/log/auth.log 下看到管理員使用者(我)創建的日誌
Jan 17 12:57:50 ios-sftp internal-sftp[5262]: remove name "/tmp/test.txt"
為了記錄 chrooted 使用者的操作,我已經這樣做了:
cd /sftp sudo mkdir dev sudo chmod 755 dev sudo touch dev/log sudo mount --bind /dev/log dev/log
但是,如果他們上傳或刪除文件,我仍然看不到其他使用者登錄 /var/log/auth.log。
通過將 ForceCommand internal-sftp 更改為 ForceCommand internal-sftp -f AUTH -l INFO 修復配置文件後,它開始工作
Subsystem sftp internal-sftp -f AUTH -l INFO # Force sftp and chroot jail for members of sftp group Match group sftp ForceCommand internal-sftp -f AUTH -l INFO ChrootDirectory /sftp/%u # Members of sftp-glob have access to all user folders Match group sftp-glob ForceCommand internal-sftp -f AUTH -l INFO ChrootDirectory /sftp # Enable this for more logs LogLevel VERBOSE
現在我可以看到 /var/log/auth.log 下的日誌:
Jan 18 10:13:02 user-sftp internal-sftp[7466]: set "/folder1/folder2/myfile.xml" modtime 20210106-10:32:58
預設情況下,sftp 不會將傳輸的文件記錄在系統日誌中,僅會斷開連接。
可以為未來的交易啟用它,但這可能無法幫助您解決手頭的問題 - 但它可能會在未來解決它。