1、安装ftp
yum install vsftpd -y systemctl 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.conf write_enable=YES anon_upload_enable=YES chgrp ftp /var/ftp/pub chmod 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=YES chown_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=YES chmod u-w /home/* 用户黑名单建立 chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 用户白名单建立 chroot_local_user=YES chroot_list_enable=YES chroot_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=YES ascii_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##文件名称任意 ftpuser1 123 ftpuser2 123 ftpuser3 123 #加密虚拟账号文件 db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db
2》修改vsftp配置文件
vim /etc/vsftpd/vsftpd.conf pam_service_name=ckvsftpd guest_enable=YES guest_username=ftpuser #虚拟帐号身份指定 local_root=/ftpuserhome/$USER user_sub_token=$USER chmod u-w /home/ftpuser #虚拟帐号家目录独立设
3》创建各个用户的家目录
mkdir /ftpuserhome chgrp ftpuser /ftpuserhome chmod g+s /ftpuserhome mkdir /ftpuserhome/ftpuser{1..3}
4》修改文件使文件,虚拟账号独立
vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/userconf mkdir -p /etc/vsftpd/userconf
注意: /etc/vsftpd/userconf/ftpuser1在此文件中设定配置文件中的所有参数,此文件的优先级高