温馨提示×

如何设置Linux FTP Server用户隔离

小樊
73
2025-05-28 15:37:49
栏目: 智能运维

在Linux上设置FTP服务器用户隔离,通常意味着您希望每个FTP用户只能访问自己的主目录,而不能访问其他用户的文件或系统上的其他部分。这可以通过配置FTP服务器软件来实现。以下是使用两种流行的FTP服务器软件(ProFTPD和vsftpd)设置用户隔离的方法:

ProFTPD

  1. 安装ProFTPD(如果尚未安装):

    sudo apt-get update
    sudo apt-get install proftpd
    
  2. 配置ProFTPD: 编辑ProFTPD的主配置文件,通常位于/etc/proftpd/proftpd.conf

    sudo nano /etc/proftpd/proftpd.conf
    

    在配置文件中添加或修改以下内容:

    <Directory /home/*/public_html>
        Options Indexes MultiViews
        AllowOverride None
        Require all granted
    </Directory>
    
    <Directory />
        AllowOverride None
        Require all denied
    </Directory>
    
    DefaultRoot ~
    

    这里的/home/*/public_html是用户的FTP根目录,您可以根据需要更改它。

  3. 重启ProFTPD服务

    sudo systemctl restart proftpd
    

vsftpd

  1. 安装vsftpd(如果尚未安装):

    sudo apt-get update
    sudo apt-get install vsftpd
    
  2. 配置vsftpd: 编辑vsftpd的主配置文件,通常位于/etc/vsftpd.conf

    sudo nano /etc/vsftpd.conf
    

    在配置文件中添加或修改以下内容:

    chroot_local_user=YES
    allow_writeable_chroot=YES
    local_root=/home/$USER/public_html
    

    这里的/home/$USER/public_html是用户的FTP根目录,您可以根据需要更改它。

  3. 重启vsftpd服务

    sudo systemctl restart vsftpd
    

注意事项

  • 安全性:确保FTP服务器的配置符合您的安全要求。例如,禁用匿名访问,使用SSL/TLS加密连接等。
  • 用户目录权限:确保用户的FTP根目录及其子目录的权限设置正确,以防止用户访问不应访问的文件。
  • SELinux/AppArmor:如果您使用的是启用了SELinux或AppArmor的系统,可能需要额外的配置来允许FTP服务器正常工作。

通过以上步骤,您可以在Linux上设置FTP服务器用户隔离,确保每个用户只能访问自己的主目录。

0