1 安装
安装 vsftpd
$ yum install -y vsftpd
启动 vsftpd
$ systemctl start vsftpd.service
设置开机启动
$ systemctl enable vsftpd.service
查看服务状态和端口(默认端口是 21)
$ systemctl status vsftpd.service
$ netstat -nltp | grep 21
2 配置
2.1 配置目录 /etc/vsftpd
/etc/vsftpd 目录有三个配置文件
vsftpd.conf:主配置文件
ftpusers:禁止访问 ftp 服务器的用户列表,一行一个账号(黑名单)
user_list:用户访问控制文件,一行一个账号(白名单)
2.2 关闭匿名访问和禁止切换根目录
编辑 /etc/vsftpd/vsftpd.conf
# 禁用匿名用户
anonymous_enable=NO
# 允许本地用户
local_enable=YES
# 写权限
write_enable=YES
# 设置权限掩码,上传文件时的默认权限
local_umask=022
# 禁止本地用户切换 ftp 根目录
chroot_local_user=YES
# 设置 ftp 根目录
local_root=/var/www/html
# 设置最大客户端接入数为 20
max_clients = 20
# 限定 user_list 文件记录的用户才能登陆,有点奇怪,开了这个限定后,windows 系统就不能通过文件资源管理器访问 ftp 了,不知道是什么原因。
userlist_enable=YES
userlist_deny=NO
重启 ftp 服务
$ systemctl restart vsftpd.service
3 创建 ftp 用户
创建本地用户 lk,用于登陆 ftp
$ useradd lk
设置 lk 用户的密码
$ passwd lk
禁止 lk 用户直接登陆服务器
$ usermod -s /sbin/nologin lk
把用户添加到 /etc/vsftpd/user_list 文件,一行一个账号
重启 vsftpd 服务
$ systemctl restart vsfftpd.service
然后客户端就可以使用 lk 用户登录 ftp 服务器了。