在Ubuntu上使用FTPServer(通常是vsftpd)时,可以通过配置文件来限制访问。以下是一些常见的方法:
你可以在/etc/vsftpd.conf
文件中添加或修改以下配置来限制特定IP地址的访问:
# 只允许特定IP地址访问
listen_ipv6=NO
listen=YES
listen_port=21
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
# 允许的IP地址列表
tcp_wrappers=YES
hosts.deny=ALL
hosts.allow=192.168.1.1,192.168.1.2
你可以为每个用户设置不同的访问权限。例如,只允许特定用户登录:
# 只允许特定用户登录
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
然后在/etc/vsftpd.userlist
文件中添加允许的用户:
user1
user2
你可以使用vsftpd
的时间段功能来限制用户在特定时间段内访问FTP服务器:
# 定义时间段
start_time=00:00
end_time=23:59
你可以使用PAM(Pluggable Authentication Modules)来实现更复杂的认证和授权策略。编辑/etc/pam.d/vsftpd
文件并添加以下内容:
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.deny onerr=succeed
auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd.allow onerr=succeed
account required pam_listfile.so item=user sense=deny file=/etc/vsftpd.deny onerr=succeed
account required pam_listfile.so item=user sense=allow file=/etc/vsftpd.allow onerr=succeed
然后在/etc/vsftpd.deny
和/etc/vsftpd.allow
文件中定义允许和拒绝的用户。
你还可以使用ufw
或iptables
来限制对FTP服务器的访问:
sudo ufw allow from 192.168.1.1 to any port 21
sudo ufw deny 21
sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j DROP
完成上述配置后,记得重启vsftpd
服务以使更改生效:
sudo systemctl restart vsftpd
通过这些方法,你可以有效地限制对Ubuntu上FTPServer的访问。根据你的具体需求选择合适的方法进行配置。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>