当我使用 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/passwd
:ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false
ftp 用户 (userID=116) 主目录更改为
/var/vsftpd
。这将允许默认/匿名/未知用户进入特定位置 (/var/vsftpd)。
答案2
我不太清楚您是如何设置的,但您需要安装vsftpd
。
脚步:
安装
vsftpd
:sudo apt-get install vsftpd
备份
vsftpd.conf
:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
设置防火墙规则:
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
创建一个用户并将主目录设为
/var/www/ftp/myApplication
- 创建一个名为
ftp
如上所示的附加文件夹,以防您需要为其他用户添加更多文件夹。 创建用户:
sudo usermod -d /var/www/ftp/myApplication ftpuser
- 创建一个名为
设置其所有权,并确保使用以下命令删除写权限
sudo chown nobody:nogroup /var/www/ftp sudo chmod a-w /var/www/ftp
将文件夹所有权分配
myApplication
给用户ftpuser
sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
设置中
/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
创建并添加用户到user_list:
echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
重新启动
daemon
以加载新配置:sudo systemctl restart vsftpd
来源: