安装
1. 检查是否安装了vsftpd
,如果安装了会显示对应信息的
rpm -qa|grep vsftpd
2. 没有的话下面开始安装
yum -y install vsftpd
启动
systemctl start vsftpd.service
开机启动
systemctl enable vsftpd.service
创建用户及配置
1. 创建用户
# 创建ftp目标文件夹
mkdir /home/testFtp
chmod 755 /home/testFtp
# 创建用户
useradd -d /home/testFtp -s /sbin/nologin -g ftp -G root testUser
# 设置密码 我设置的是 Test@123
passwd testUser
# 更改用户testUser 的主目录为/home/testFtp
usermod -d /home/testFtp testUser
# 上述命令参数解释如下 :
#useradd 添加用户testUser
#-d 指定用户根目录为/home/testFtp
#-s 指定shell脚本为/sbin/nologin,表示不允许shell登录
#-g 创建分组ftp
#-G 指定root分组
2. 一些配置
vi /etc/vsftpd/vsftpd.conf
找到内容修改成和我一样的:
anonymous_enable=NO
local_root=/home/testFtp
chroot_local_user=YES
chroot_list_enable=YES
# chroot_list文件中放的是限制目录的用户,防止里面的用户进入ftp目录以外的目录
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#下面自己加,上面的都有,仔细寻找和对比
userlist_deny=NO
allow_writeable_chroot=YES
编辑chroot_list文件
vi /etc/vsftpd/chroot_list
#添加一行 就是你创建的用户名 有多个的话一行一个
# 我这里写是为了不限制 testUser只能访问指定目录,一般是要限制的也就是不需要写进这个文件
testUser
编辑user_list文件
vi /etc/vsftpd/user_list
#添加一行 就是你创建的用户名 有多个的话一行一个
testUser
修改另一个文件 (防止后面登陆出现 530 Login incorrect 错误)
cd /etc/pam.d/
vi vsftpd
# 把第四行 pam_shells.so 的改成下面这个
pam_nologin.so
3. 启停命令,每次修改vsftpd.conf都要重启
#启动
service vsftpd start 或 systemctl start vsftpd.service
#停止
service vsftpd stop 或 systemctl stop vsftpd.service
#重启
service vsftpd restart 或 systemctl restart vsftpd.service
Windows连接测试
win + R
输入cmd
- 输入
ftp
- 输入
open 192.168.209.129
(换成你的IP) - 输入用户名
testUser
- 输入密码
Test@123
- 看到
230 Login successful.
即为成功,之后便可以使用ftp工具连接了。
补充知识
/etc/vsftpd下的文件作用
- ftpusers:指定了哪些用户账户不能访问FTP服务器,例如root等。 如果想要root 登录 则注释里面的root
- user_list:可以作为用户白名单,或者是黑名单,或者无效名单。完全由userlist_enable和userlist_deny这两个参数决定。
效果如下:
#拒绝文件中的用户FTP访问
userlist_enable=YES userlist_deny=YES
# 拒绝除文件中的用户外的用户FTP访问
userlist_enable=YES userlist_deny=NO
# 基本可以认为user_list文件无用
userlist_enable=NO userlist_deny=YES/NO