一、 检查服务器是否已经安装
#rpm -qa |grep vsftpd
二、安装
如果输入上面的命令提示没有,那么进行安装
#yum install -y vsftpd
三、检查服务是否正常启动
1、启动 vsftp 服务
#systemctl start vsftpd
2、检查服务是否正常启动
#ps -ef|grep vsftpd
这个表示ftp 已经正常启动
3、把服务添加到开机启动项
#systemctl enabled vsftpd
四、修改 配置文件
1、进到安装vsftpd安装目录
#cd /etc/vsftpd
2、编辑 vsftpd.conf 配置文件
# vi vsftpd.conf 修改 一下几个地方
分别打开:
anonymous_enable=NO
write_enable=YES
local_enable=YES
chroot_local_user=YES
pam_service_name=vsftpd:
listen=no
添加一下 内容:
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
anon_root=/home/test
保存退出
五、配置文件说明
配置的选项及说明
1、 核心设置
local_enable=YES //允许本地用户登录
write_enable=YES //本地用户的写权限
local_umask=022 //使用FTP的本地文件权限,默认为077,一般设置为022
pam_service_name=vsftpd //验证方式
connect_from_port_20=YES //启用FTP数据端口的数据连接
listen=yes // 以独立的FTP服务运行
listen_port=23 //修改连接端口
2、匿名登录设置
anon_upload_enable=YES // 如果允许匿名登录,是否开启匿名上传权限
anon_mkdir_write_enable=YES //如果允许匿名登录,是否允许匿名建立文件夹并在文件夹内上传文件
anon_other_write_enable=yes // 如果允许匿名登录,匿名帐号可以有删除的权限
anon_world_readable_only=no //如果允许匿名登录,匿名的下载权限,匿名为Other,可设置目录/文件属性控制
anon_max_rate=30000 // 如果允许匿名登录,限制匿名用户传输速率,单位bite
3、限制登录
userlist_enable=yes //用userlist来限制用户访问
userlist_deny=no //名单中的人不允许访问
userlist_file=/etc/vsftpd/userlist_deny.chroot //限制名单文件放置的路径
4、限制目录
chroot_local_user=yes //限制所有用户都在家目录
chroot_list_enable=YES //调用限制在家目录的用户名单
chroot_list_file=/etc/vsftpd/chroot_list //限制在家目录的用户名单所在路径
5、日志设置
xferlog_file=/var/log/vsftpd.log //日志文件路径设置
xferlog_std_format=YES // 使用标准的日志格式
6、安全设置
idle_session_timeout=600 //用户空闲超时,单位秒
data_connection_timeout=120 //数据连接空闲超时,单位秒
accept_timeout=60 //将客户端空闲1分钟后断开
local_max_rate=10000 //本地用户传输速率,单位bite
max_clients=100 //FTP的最大连接数
max_per_ip= 3 //每IP的最大连接数
7、被动模式设置
pasv_enable=yes //是否开户被动模式
pasv_min_port=3000 // 被动模式最小端口
pasv_max_port=5000 //#被动模式最大端口
六 、如没有创建用户和路径需要创建要和指定用户路径
如:
mkdir /home/ftp
useradd -d /home/ftp -s /sbin/nologin test
给相应的权限
chowm -R test:test /home/ftp
七、测试
使用ftp 客户端工具 连接测试
1、如果测试的有报500 错误
如: vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
原因是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
解决这个错误的方法,可以用命令chmod a-w /home/test去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:allow_writeable_chroot=YES
2、如果ftp出现乱码,这个时候先检查是不是ftp 客户端设置的问题,如不是 则检查服务器。
FlashFXP 4.2.1,选择【站点】-【站点管理器】-【站点列表】-【快速连接】,选择使用的连接,点击【选项】-【字符编码】-【UTF-8】问题 解决。
ftp 安装完毕