1、安装ftp
yum install vsftpd -ysystemctl start vsftpd systemctl stop firewalld systemctl enable vsftpd setenforce 0 #关闭selinux或者设置selinux不然会对试验造成影响lftp ip ##能登陆并且显示,表示安装成功
2、vsftpd文件信息
/var/ftp ##默认发布目录
/etc/vsftpd##配置目录
3、vsftpd服务的配置参数
3.1 匿名用户设定
anonymous_enable=YES|NO ##匿名用户登陆限制# <匿名用户上传> vim /etc/vsftpd/vsftpd.confwrite_enable=YESanon_upload_enable=YESchgrp ftp /var/ftp/pubchmod 775 /var/ftp/pub# <匿名用户家目录修改> anon_root=/direcotry# <匿名用户上传文件默认权限修改> anon_umask=xxx# <匿名用户建立目录> anon_mkdir_write_enable=YES|NO# <匿名用户下载> anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载# <匿名用户删除> anon_other_write_enable=YES|NO# <匿名用户使用的用户身份修改> chown_uploads=YESchown_username=student# <最大上传速率> anon_max_rate=102400# <最大链接数> max_clients=2 最大链接数> 最大上传速率> 匿名用户使用的用户身份修改> 匿名用户删除> 匿名用户下载> 匿名用户建立目录> 匿名用户上传文件默认权限修改> 匿名用户家目录修改> 匿名用户上传>
3.2 本地用户设定
local_enable=YES|NO ##本地用户登陆限制write_enable=YES|NO ##本地用户写权限限制# <本地用户家目录修改> local_root=/directory# <本地用户上传文件权限> local_umask=xxx# <限制本地用户浏览 目录> 所有用户被锁定到自己的家目录中chroot_local_user=YESchmod u-w /home/*用户黑名单建立chroot_local_user=NOchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list用户白名单建立chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list# <限制本地用户登陆> /etc/vsftpd/ftpusers ##用户黑名单/etc/vsftpd/user_list ##用户临时黑名单#用户白名单设定userlist_deny=NO #serlist_deny=YES就是黑名单/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp 限制本地用户登陆> 限制本地用户浏览> 本地用户上传文件权限> 本地用户家目录修改>
3.3 一些其他的参数
ascii_upload_enable=YESascii_download_enable=YES#如果启用上面的两项则表示,用二进制传输文件,如果是文本类文件则会导致乱码listen=YES#yes表示将其定义为一个独立守护进程,反之则需要定义一个顺时守护进程,需要在 /etc/xinetd.d/写一个脚本#独立进程,适用用户访问量大,而且在线时间长#顺时进程,由超级守护继承(xinetd)代为管理,适用于用户访问量小,而且在线时间短max_clients #代表最多可以同时连接多少个客户端max_per_ip#每个IP可以同时发起几个连接请求pam_service_name=vsftpd#在使用pam做用户认证的时候在/etc/pam.d/下面pam的配置文件的名字userlist_enable=YES#在/etc/vsftpd/ftpusers文件中写的用户都禁止登录
3.3 虚拟账户登录
1》创建虚拟账号身份
vim /etc/vsftpd/loginusers##文件名称任意ftpuser1123ftpuser2123ftpuser3123#加密虚拟账号文件db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db
2》修改vsftp配置文件
vim /etc/vsftpd/vsftpd.confpam_service_name=ckvsftpdguest_enable=YESguest_username=ftpuser #虚拟帐号身份指定local_root=/ftpuserhome/$USERuser_sub_token=$USERchmod u-w /home/ftpuser #虚拟帐号家目录独立设
3》创建各个用户的家目录
mkdir /ftpuserhomechgrp ftpuser /ftpuserhomechmod g+s /ftpuserhomemkdir /ftpuserhome/ftpuser{1..3}
4》修改文件使文件,虚拟账号独立
vim /etc/vsftpd/vsftpd.confuser_config_dir=/etc/vsftpd/userconfmkdir -p /etc/vsftpd/userconf
注意: /etc/vsftpd/userconf/ftpuser1在此文件中设定配置文件中的所有参数,此文件的优先级高