2010-06-01 159 views
4

我想要獲取每次執行scp命令時的警報消息。如果有人使用scp命令訪問我的文件,那麼我必須收到一封郵件。我怎樣才能做到這一點。請幫幫我。帶警報消息的scp命令

+0

您的文件由您的計算機上的sshd服務,因此您需要在sshd中設置日誌記錄。我不知道除了使用調試選項'-d'外是否可能。 – 2010-06-01 05:16:43

+0

監控此活動的原因是什麼?也許還有另外一種方法來實現相同的目標。 – Rudi 2010-06-01 07:25:30

回答

5

除非你有服務器的管理控制權,否則你所要求的是不可能的 - Unix文件系統根本就不能這樣工作。您可以設置文件權限,以便其他用戶無法找到或讀取您的文件,但作爲非特權用戶,您無法通過scp或任何其他方法請求試圖或成功訪問嘗試的電子郵件通知。

+1

在Linux上,您可以使用inotify完成此操作。 – 2010-06-01 16:30:10

2

你在服務器端還是客戶端?

服務器端:基於密鑰的ssh認證能夠在用戶登錄到系統時啓動自定義命令(如果用戶可以更改authorized_keys文件,可以繞過該命令)。在那裏你可以添加一個掛鉤在登錄時發送郵件,或者啓動一個自己的sftp服務器並啓用所需的日誌記錄。

0

正確的做法是用自己的版本(或封裝)替換服務器上的scp程序。