温馨提示×

Ubuntu如何限制vsftp用户访问权限

小樊
81
2025-05-17 20:22:12
栏目: 智能运维

在Ubuntu系统中,使用vsftpd作为FTP服务器时,可以通过配置文件来限制用户的访问权限。以下是一些常见的方法:

1. 配置vsftpd.conf文件

首先,编辑vsftpd的配置文件/etc/vsftpd.conf

sudo nano /etc/vsftpd.conf

基本设置

确保以下设置存在并正确配置:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

用户访问控制

  • 限制用户访问特定目录

    chroot_local_user=YES
    allow_writeable_chroot=YES
    
  • 允许特定用户访问

    userlist_enable=YES
    userlist_file=/etc/vsftpd.userlist
    userlist_deny=NO
    

    /etc/vsftpd.userlist文件中添加允许访问的用户列表:

    sudo nano /etc/vsftpd.userlist
    

    添加用户名,每行一个:

    user1
    user2
    
  • 限制用户访问特定IP

    tcp_wrappers=YES
    

    然后在/etc/hosts.deny/etc/hosts.allow文件中配置IP访问控制:

    sudo nano /etc/hosts.deny
    

    添加:

    vsftpd: ALL
    
    sudo nano /etc/hosts.allow
    

    添加允许访问的IP:

    vsftpd: 192.168.1.1
    vsftpd: 192.168.1.2
    

2. 重启vsftpd服务

配置完成后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

3. 验证配置

确保配置正确无误,可以通过FTP客户端连接到服务器并测试用户的访问权限。

注意事项

  • 确保/var/run/vsftpd/empty目录存在并且具有正确的权限:

    sudo mkdir -p /var/run/vsftpd/empty
    sudo chown nobody:nogroup /var/run/vsftpd/empty
    
  • 如果使用SELinux,可能需要调整SELinux策略以允许vsftpd正常运行。

通过以上步骤,你可以有效地限制vsftpd用户的访问权限,确保系统的安全性和稳定性。

0