如何更改默认 ftp 目录?

如何更改默认 ftp 目录?

当我使用 pem 文件连接 FTP 时,连接正常,并且默认情况下显示以下目录:/home/ubuntu

现在我试图将/home/ubuntu目录更改为/var/www/myApplication。我是 Linux 新手,谁能告诉我需要使用哪些命令?

我如何才能查看默认 ftp 路径,我的文件夹中没有vsftpd文件夹/文件/etc

答案1

ftp 目录默认为用户的HOME目录,因此实现目标的最简单方法是创建一个新用户并将其HOME目录设置为/var/www/myApplication

usermod -d /var/www/myApplication/ exampleuser

如果你想限制您需要设置对此目录的访问权限

chroot_local_user=YES

在你的vsftpd.conf. 然后使用以下命令重新启动 vsftpd 服务:

service vsftpd restart

Unix 和 Linux:如何在 Centos / Linux 安装上创建仅具有特定 /dir/ 访问权限的 FTP 用户


可能还有更简单的方法,参见这里

要更改 vsftpd 的默认登录目录,请更改 ftp 用户主目录/etc/passwdftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false

ftp 用户 (userID=116) 主目录更改为/var/vsftpd。这将允许默认/匿名/未知用户进入特定位置 (/var/vsftpd)。

答案2

我不太清楚您是如何设置的,但您需要安装vsftpd

脚步:

  1. 安装vsftpd

    sudo apt-get install vsftpd
    
  2. 备份vsftpd.conf

    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
    
  3. 设置防火墙规则:

    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp
    sudo ufw allow 990/tcp
    sudo ufw allow 40000:50000/tcp
    sudo ufw status
    
    • 没有防火墙,则安装:

      • sudo apt-get install ufw
      • 使能够:sudo ufw enabe
  4. 创建一个用户并将主目录设为/var/www/ftp/myApplication

    • 创建一个名为ftp如上所示的附加文件夹,以防您需要为其他用户添加更多文件夹。
    • 创建用户:

      sudo usermod -d /var/www/ftp/myApplication ftpuser
      
  5. 设置其所有权,并确保使用以下命令删除写权限

    sudo chown nobody:nogroup /var/www/ftp
    sudo chmod a-w /var/www/ftp
    
  6. 将文件夹所有权分配myApplication给用户ftpuser

    sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
    
  7. 设置中/etc/vsftpd.conf添加以下配置:

    # Allow anonymous FTP? (Disabled by default).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    write_enable=YES
    
    # Prevent the FTP-connected user from accessing any files or commands outside 
    # the directory tree
    chroot_local_user=YES
    
    # Add a user_sub_token in order to insert the username in our local_root directory 
    # path so our configuration will work for this user and any future users that might 
    # be added
    
    user_sub_token=$USER
    local_root=/var/www/ftp
    
    # Set up the configuration so that access is given to a user only when they 
    # are explicitly added to a list rather than by default
    userlist_enable=YES
    userlist_file=/etc/vsftpd.userlist
    userlist_deny=NO
    
  8. 创建并添加用户到user_list:

    echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
    
  9. 重新启动daemon以加载新配置:

    sudo systemctl restart vsftpd
    

来源:

https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-16-04

相关内容