使用root登录
1.确保服务器系统处于最新状态
[root@localhost ~]# yum -y update
如果显示以下内容说明已经更新完成
Complete!
2.重启服务器
[root@localhost ~]# reboot
3.首先检查是否已经安装,如果已经安装先删除以前版本,以免安装不成功
[root@localhost ~]# rpm -qa | grep vsftpd
或
[root@localhost ~]# yum list installed | grep vsftpd
4.查看httpd包是否可用
[root@localhost ~]# yum list | grep vsftpd
5.安装vsftpd
[root@localhost ~]# yum -y install vsftpd
6.设置vsftpd服务开机自启
[root@localhost ~]# systemctl enable vsftpd.service
7.检查是否已经安装了开机自动启动
[root@localhost ~]# systemctl list-unit-files | grep vsftpd
如果显示以下内容说明已经完成设置
vsftpd.service enabled
8.激活vsftpd服务
[root@localhost ~]# systemctl start vsftpd.service
9.将原有配置文件备份
[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
10.修改配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
11.常用配置
#设定不允许匿名访问
anonymous_enable=NO
#设定允许本地用户可以访问
local_enable=YES
#设定允许登陆用户有写权限
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
#如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启。
dirmessage_enable=YES
#是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中
xferlog_enable=YES
#指定FTP使用20端口进行数据传输
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#设置日志文件名和路径,默认值为/var/log/vsftpd.log。
xferlog_file=/var/log/vsftpd.log
#启用,则日志文件将会写成xferlog的标准格式
xferlog_std_format=YES
#设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒
idle_session_timeout=600
#设置建立FTP数据连接的超时时间,单位为秒
data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#设定支持ASCII模式的上传功能
ascii_upload_enable=YES
#设定支持ASCII模式的下载功能
ascii_download_enable=YES
#定义欢迎话语的字符串
ftpd_banner=Welcome to FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#将所有用户限制在主目录
chroot_local_user=YES
#启动限制用户的名单
chroot_list_enable=YES
#限制用户的名单列表,chroot_local_user=YES时,这些用户作为“例外”,不受限制
chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
#设置vsftpd服务器是否以standalone模式运行
listen=YES
#禁止使用ipv6
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
#这个是ftp根目录,根据你自己的情况配置
#local_root=/var/ftp
tcp_wrappers=YES
#若设置为YES,则使用PASV被动模式工作模式;若设置为NO,则使用PORT模式。默认值为YES,即使用PASV工作模式。
pasv_enable=YES
#在PASV工作模式下,数据连接可以使用的端口范围的最大端口,0 表示任意端口。默认值为0。
pasv_max_port=33003
#在PASV工作模式下,数据连接可以使用的端口范围的最小端口,0 表示任意端口。默认值为0。
pasv_min_port=33000
#设置vsftpd允许的最大连接数,默认值为0,表示不受限制。若设置为100时,则同时允许有100个连接,超出的将被拒绝。只有在standalone模式运行才有效。
max_clients=50
#设置每个IP允许与FTP服务器同时建立连接的数目。默认值为0,表示不受限制。只有在standalone模式运行才有效。
max_per_ip=50
12.创建FTP用户网站根目录
[root@localhost ~]# mkdir -p /home/ftpusername/www/{databases,logfiles,others,wwwroot}
13.增加FTP账户
[root@localhost ~]# useradd ftpusername -d /home/ftpusername/www
14.给FTP账户设置密码
[root@localhost ~]# passwd ftpusername
15.给FTP账户设置权限,用户不允许登录(通过ftp可以连接)
[root@localhost ~]# usermod -s /sbin/nologin ftpusername
16.修改用户网站根目录权限
[root@localhost ~]# chown -R ftpusername /home/ftpusername/www/wwwroot
[root@localhost ~]# chmod -R 777 /home/ftpusername/www/wwwroot
17.创建用户工作组
[root@localhost ~]# groupadd clent
18.把Ftp用户移动指定工作组
[root@localhost ~]# usermod -G clent ftpusername
19.创建限制用户的名单列表文件
[root@localhost ~]# vim /etc/vsftpd/chroot_list