Logging

使用日誌在 SFTP 伺服器中查找已刪除/導入的文件

  • January 18, 2022

我們有一個 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 不會將傳輸的文件記錄在系統日誌中,僅會斷開連接。

可以為未來的交易啟用它,但這可能無法幫助您解決手頭的問題 - 但它可能會在未來解決它。

引用自:https://serverfault.com/questions/1090038