参考:https://www.alibabacloud.com/help/zh/doc-detail/92048.htm#h2-url-3
1. 安装启动vsftpd
1.1 运行以下命令安装vsftpd,如图代表安装成功
yum install -y vsftpd
1.2 设置开机自启
systemctl enable vsftpd.service
1.3 启动ftp服务
systemctl start vsftpd.service
1.4 查看ftp服务监听的端口
netstat -antup | grep ftp
如图表示ftp服务已启动,监听的端口号为21。默认已开启匿名访问功能,无需输入用户名密码即可登录ftp服务器,但没有修改或上传文件的权限
2. 配置vsftpd
以下方式二选一即可。
匿名用户: 配置匿名用户上传文件权限
a. 修改配置文件(进入编辑器后,按i
可进行编辑,按Esc
退出编辑,非编辑模式输入/
+搜索内容
回车 可进行搜索,非编辑模式输入:wq
保存退出编辑器,:q!
不保存强制退出)
vim /etc/vsftpd/vsftpd.conf
进入编辑模式,将anon_upload_enable=YES
取消注释,保存退出
b. 修改ftp服务默认目录的权限
chmod o+w /var/ftp/pub/
c. 重启ftp服务,让配置生效
systemctl restart vsftpd.service
本地用户: 配置本地用户访问FTP服务器
a. 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest
adduser ftptest
b. 运行以下命令修改ftptest用户的密码
passwd ftptest
c. 运行以下命令创建一个供FTP服务使用的文件目录
mkdir /var/ftp/test
d. 运行以下命令更改/var/ftp/test目录的拥有者为ftptest
chown -R ftptest:ftptest /var/ftp/test
e. 修改/etc/vsftpd/vsftpd.conf
配置文件
#除下面提及的参数外,其他参数保持默认值即可。
#修改下列参数的值
#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#监听IPv4 sockets
listen=YES
#在行首添加#注释掉以下参数,关闭监听IPv6 sockets
#listen_ipv6=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
#本教程中为Linux实例公网IP
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值
pasv_min_port=<port number>
#设置被动模式下,建立数据传输可使用的端口范围的最大值
pasv_max_port=<port number>
f. 创建chroot_list文件,并在文件中写入例外用户名单(此名单中的用户不会被锁定在主目录,可以访问其他目录)
vim /etc/vsftpd/chroot_list
注:如果想知道安装到哪个位置,可以通过以下步骤
a. 查看安装包 rpm -qa|grep vsftpd
b. 查看安装路径 rpm -ql vsftpd-3.0.2-28.el7.x86_64