在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服务器时,系统会自动发送一封邮件通知给你指定的邮箱地址。