1.关闭SElinux配置yum源,安装软件
vsftp ---> very secure ftp
安装
yum install vsftpd lftp -y
2.在防火墙中添加FTP服务,重启防火墙
firewall-cmd --permanet --add-service=ftp
firewall-cmd --reload
3.编译配置文件 /etc/vsftpd/vsftpd.conf
基本配置参数
允许匿名用户登录 anonymous_enable=YES
是否允许本地用户登录 local_enable=YES
登录后是否具有可写权限 write_enable=YES
匿名用户是否可以上传文件 anon_upload_enable=YES
匿名用户具有读权限 anon_world_readable_only=NO
匿名用户的可删除权限 anon_other_write_enable=YES
匿名用户上传文件的权限限制 anon_umask=022
更改上传文件所属用户 chown_uploads=YES
上传文件权限 chown_upload_mode=0644
匿名用户上传限速 anon_max_rate=1024(字节为单位)
最大可登录用户 max_clients=2
设置匿名用户的家目录 anon_root=/anon
切换目录的黑白名单限制
限制用户只能在自己的家目录 chroot_local_user=NO 黑名单
=YES 白名单
启用名单 chroot_list_enable=YES
名单内容 chroot_list_file=/etc/vsftpd/chroot_list
限制本地用户登录的黑白名单
永久黑名单
/etc/vsftpd/ftpusers
临时黑名单
/etc/vsftpd/user_lists
白名单设置
userlist_deny=NO
/etc/vsftpd/user_list 此时该文件为白名单
虚拟用户配置参数(该用户仅针对ftp使用/注意取消全局黑名单)
创建用户文件 /etc/vsftpd/login.file
zy1
123
zy2
123
zy3
123
加密 db_load -T -t hash -f login_file login_file.db
创建验证文件 /etc/pam.d/login_ftp
编辑内容
account required pam_userdb.so db=/etc/vsftpd/login_file
auth required pam_userdb.so db=/etc/vsftpd/login_file
编辑配置文件(注意临时白名单此时需要取消) /etc/vsftpd/vsftpd.conf
#userlist_deny=no
pam_service_name=login_ftp
guest_enable=yes
给每一个虚拟用户创建家目录
创建虚拟用户的家目录
mkdir /var/ftpuser
mkdir /var/ftpuser/zy{1,2,3}
mkdir /var/ftpuser/zy{1,2,3}/pubzy -p
修改配置文件
local_root=/var/ftpuser/$USER 使用虚拟用户家目录
user_sub_token=$USER 使用虚拟用户名称以便调用家目录
单独配置每一个用户的单独配置文件(注意关闭原配置文件的全局配置)
修改全局配置文件
user_config_dir=/etc/vsftpd/zy/
编写单个配置文件内容/etc/vsftpd/zy/zy1(目录名称要与用户名称相同)
anon_upload_enable=YES
...
...
4.连接方式
lftp ip 匿名用户连接
参数 -u 指定本地用户
5.报错提示
错误代码
500 权限过大,不允许登陆
530 认证失败
550 服务没有开启
553 文件系统不可写
安装FTP服务器,并完成使用环境的配置
安装lftp以及vsftp
关闭SELINUX,将ftp服务添加至防火墙并重启防火墙
启动vsftpd服务,同时设置为开机自启动
设置参数,使得匿名用户不可以登陆
设置参数,使得匿名用户可以登陆,本地用户不能登陆
设置匿名用户可以登陆,也可以上传文件
此时参数虽然已经设置,但仍无法上传文件,查看错误是由于没有权限,可以将/var/ftp/pub组改为ftp,同时赋予组读写权限解决
此时尝试删除刚刚上传的文件,发现失败,于是赋予匿名用户删除权限
匿名尝试创建目录,失败,修改赋予匿名用户创建目录的权限
尝试上传文件至新建的zy目录中,上传文件成功,但却无法查看
于是赋予匿名用户查看文件的权利
由上查看发现匿名用户上传的文件的权限为600,对普通用户没有读的权限,于是修改匿名用户的系统保留权限值,使得文件具有读权限
配置参数,使得上传文件的默认所有者为student,同时权限为644
限制上传文件速率为1M
限制最大可登陆客户数为2
设置登陆用户是否可以进入root目录的黑白名单
白名单设置
黑名单设置
限制本地用户登陆的黑白名单
限制本地用户登录
永久黑名单 /etc/vsftpd/ftpusers
取消永久黑名单设置临时黑名单
变更白名单设置
创建仅用于ftp服务的虚拟用户
创建用户并加密
创建验证文件
配置参数使用该验证模块
分配使得每个用户都有不同的家目录
创建家目录
配置参数分配家目录,登陆zy1,上传/etc/passwd,退出,登陆zy2,查看,发现无此文件,证明不在同一家目录
取消全局参数,分别设置zy1具有上传和删除文件的能力,zy2具有上传的能力,但不能删除
注释匿名用户的参数,修改配置参数,同时创建与用户对应名称的配置文件,重启服务
验证结果
验证zy1用户
验证zy2