远程连接ECS服务器
打开Windows Terminal,输入命令连接服务器
ssh 用户名@ip地址
再输入密码登入服务器
安装vsftpd
运行以下命令安装
vsftpd
yum install -y vsftpd
运行以下命令设置FTP服务开机启动
systemctl enable vsftpd.service
启动FTP服务
systemctl start vsftpd.service
运行命令查看FTP服务将他的端口
netstat -antup | grep ftp

配置vsftpd 1
匿名用户模式
使用vim修改配置文件
vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
按下
i
或
Insert
键进入编辑模式,将
anon_upload_enable=YES
行的注释去掉
按
Esc
键退出编辑模式,输入
:wq
保存并退出 vim
更改
/var/ftp/pub
目录的权限,为FTP用户添加写权限
chmod o+w /var/ftp/pub/
重启FTP服务
systemctl restart vsftpd.service
打开Chrome或资源管理器,输入地址
ftp://ip地址:21
本地用户模式
为FTP服务创建一个Linux用户
adduser 用户名
adduser ftpuser
为刚创建的用户设置密码
passwd 用户名
passwd ftpuser
创建一个供FTP服务使用的文件目录
mkdir /var/ftp/share
/var/ftp/share
目录的拥有者为
ftpuser
chown -R ftpuser:ftpuser /var/ftp/share
修改
vsftpd.conf
配置文件
- 主动模式
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "local_root=/var/ftp/share" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录
- 被动模式
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "local_root=/var/ftp/share" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录
echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #开启被动模式
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中为ECS服务器弹性IP
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值
在
/etc/vsftpd
目录下创建
chroot_list
2 文件,并在文件中写入例外用户名单
vim /etc/vsftpd/chroot_list
systemctl restart vsftpd.service
访问服务器输入,用户名密码登录
最后成果如下
- 匿名用户模式和本地用户模式只可同时配置一种 ↩
- 没有例外用户时,也必须创建chroot_list文件,内容可为空