在Linux上配置FTP服務器以發送郵件通知,通常涉及以下幾個步驟:
安裝FTP服務器軟件: 常用的FTP服務器軟件有vsftpd、ProFTPD和Pure-FTPd等。這里以vsftpd為例。
sudo apt-get update
sudo apt-get install vsftpd
配置FTP服務器:
編輯vsftpd的配置文件 /etc/vsftpd.conf。
sudo nano /etc/vsftpd.conf
確保以下配置項被正確設置:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
保存并退出編輯器。
重啟FTP服務器:
sudo systemctl restart vsftpd
配置郵件發送功能: 你需要一個可以發送郵件的系統,比如Postfix或Sendmail。這里以Postfix為例。
sudo apt-get install postfix
在安裝過程中,選擇“Internet Site”配置類型,并設置系統郵件名稱。
配置Postfix以允許本地發送郵件:
sudo nano /etc/postfix/main.cf
添加或修改以下配置項:
myhostname = your_hostname.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, $mydomain
relayhost =
inet_protocols = ipv4
保存并退出編輯器。
重啟Postfix服務:
sudo systemctl restart postfix
編寫腳本發送郵件通知: 創建一個腳本,當FTP用戶登錄或執行某些操作時發送郵件通知。
sudo nano /usr/local/bin/ftp_notify.sh
添加以下內容:
#!/bin/bash
EMAIL="your_email@example.com"
SUBJECT="FTP Notification"
MESSAGE="User $1 logged in at $(date)"
echo -e "$MESSAGE" | mail -s "$SUBJECT" "$EMAIL"
賦予腳本執行權限:
sudo chmod +x /usr/local/bin/ftp_notify.sh
配置FTP服務器以調用腳本:
編輯vsftpd的配置文件 /etc/vsftpd.conf,添加以下配置項:
ftpd_banner=Welcome to the FTP server
local_root=/home/ftpuser
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
創建一個自定義的vsftpd配置文件 /etc/vsftpd/conf.d/notify,并添加以下內容:
login_success_script=/usr/local/bin/ftp_notify.sh
重啟vsftpd服務:
sudo systemctl restart vsftpd
通過以上步驟,你就可以在Linux上配置FTP服務器以發送郵件通知了。每當有用戶成功登錄FTP服務器時,系統會自動發送一封郵件通知給你指定的郵箱地址。