温馨提示×

Ubuntu FTPServer如何限制访问

小樊
44
2025-03-03 05:26:02
栏目: 智能运维
亿速云云数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

在Ubuntu上使用FTPServer(通常是vsftpd)时,可以通过配置文件来限制访问。以下是一些常见的方法:

1. 基于IP地址的限制

你可以在/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

2. 基于用户的限制

你可以为每个用户设置不同的访问权限。例如,只允许特定用户登录:

# 只允许特定用户登录
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

然后在/etc/vsftpd.userlist文件中添加允许的用户:

user1
user2

3. 基于时间段的限制

你可以使用vsftpd的时间段功能来限制用户在特定时间段内访问FTP服务器:

# 定义时间段
start_time=00:00
end_time=23:59

4. 使用PAM进行更复杂的认证和授权

你可以使用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文件中定义允许和拒绝的用户。

5. 使用防火墙限制访问

你还可以使用ufwiptables来限制对FTP服务器的访问:

使用ufw

sudo ufw allow from 192.168.1.1 to any port 21
sudo ufw deny 21

使用iptables

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

6. 重启vsftpd服务

完成上述配置后,记得重启vsftpd服务以使更改生效:

sudo systemctl restart vsftpd

通过这些方法,你可以有效地限制对Ubuntu上FTPServer的访问。根据你的具体需求选择合适的方法进行配置。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:Ubuntu FTPServer如何避免端口冲突

0