linux 安装ftp
1、安装vsftpd
sudo yum install -y vsftpd
2、运行以下命令,启动FTP服务,并设置开机自启动。
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
3、运行以下命令,查看FTP服务监听的端口。
sudo netstat -antup | grep ftp
出现如下图所示界面,表示FTP服务已启动,监听的端口号为21。
此时,vsftpd默认已开启匿名访问功能,无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。
4、配置vsftpd
1) 创建一个Linux用户并设置密码。运行以下命令,为FTP服务创建一个Linux用户。
2)本示例中,该用户名为 ftptest
sudo adduser ftptest
运行以下命令,修改 ftptest 用户的密码。
sudo passwd ftptest
运行命令后,根据命令行提示完成FTP用户的密码修改。
3)、运行以下命令,创建一个供FTP服务使用的文件目录。
sudo mkdir -p /var/ftp/test
4) 运行以下命令,创建测试文件。
该测试文件访问FTP服务器时使用。
sudo touch /var/ftp/test/testfile.txt
5)、运行以下命令,更改 /var/ftp/test
目录的拥有者为 ftptest
。
sudo chown -R ftptest:ftptest /var/ftp/test
6) ftp 配置文件
sudo vim /etc/vsftpd/vsftpd.conf
#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES
在行首添加#注释掉以下参数,关闭监听IPv6 sockets:
#listen_ipv6=YES
在配置文件的末尾添加下列参数,其中 pasv_address
需修改为FTP服务器的公网IP地址。
#设置本地用户登录后所在目录。
local_root=/var/ftp/test
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例的公网IP。
pasv_address=FTP服务器公网IP地址
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010
按 Esc 键,输入 :wq ,按 Enter 键关闭并保存配置文件。
创建 chroot_list 文件,并在文件中写入例外用户名单。
运行以下命令,创建 chroot_list 文件。sudo vim /etc/vsftpd/chroot_list
按 i 进入编辑模式。输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。重要没有例外用户时,也必须创建chroot_list文件,内容可为空。按 Esc 键,输入 :wq ,按 Enter 键关闭并保存配置文件。
参考配置文件:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NOpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES#设置本地用户登录后所在目录。
local_root=/var/ftp/test
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
pasv_address=39.106.7.119
pasv_min_port=40000
pasv_max_port=40001
6)、运行以下命令,重启vsftpd服务。
sudo systemctl restart vsftpd