vim /etc/pam.d/westos ##编写连接文件 required插件认证用户账号密码 认证失败会使此认证环节失败
account required pam_userdb.so db=/etc/vsftpd/westos_pam
auth required pam_userdb.so db=/etc/vsftpd/westos_pam
3.1.1 ftp介绍
ftp:file transfer proto ????????互联网中最老牌的文件传输协议
1、 vsftpd基本信息
服务名称 ????????vsftpd.service 配置目录 ????????/etc/vsftpd 主配置文件 ????????/etc/vsftpd/vsftpd.conf 默认发布目录 ????????/var/ftp 报错信息 ????????550?? ??? ?##程序本身拒绝 ????????553?? ??? ?##文件系统权限限制?? ? ????????500?? ??? ?##权限过大?? ??? 目录文件权限过大 ????????530?? ??? ?##认证失败?? ??? 密码错误 用户不存在
?3.1.2 匿名用户访问控制
lftp 172.25.254.122?? ??? ?##匿名用户登陆
登陆控制: ?? ?anonymous_enable=yes|no?? ??? ?##匿名用户是否可登入?
配置文件:?
?测试:
?家目录控制 ?? ?anon_root=/westosdir?? ??? ?##设定指定目录访问地点
?配置文件:
?测试:
?上传控制 ?? ?anon_upload_enable=yes|no?? ?##调整目录权限进行上传操作
??? chmod 777 /var/ftp/pub?? ??????????? ?##上传需要o+w权限在个目录下
配置文件:
测试:
目录建立控制 ?? ?anon_mkdir_write_enable=yes|no?? ?##匿名用户可建立目录(pub目录需要含有ftp组),用户和用户组是主机用户用户组ftb?
配置文件:
测试:
下载控制 ?? ?anon_world_readable_only=no?? ?##匿名用户可下载资源
配置文件:
测试:
?删除重命令控制 ?? ?anon_other_write_enable=yes|no?? ?##匿名用户可删除文件资源
配置文件:
测试:
?上传文件权限设定 ?? ?anon_umask=xxx?? ??? ??? ? ?? ?anon_umask=022?? ??? ??? ?##文件权限=777-111-umask? 目录权限=777-umask
配置文件:
测试:
登陆数量控制 ?? ?max_clients=2?? ??? ??? ?##用户连接数量最大为2????
配置文件:
测试:
?上传文件的用户身份设定 ?? ?chown_upload=yes?? ??? ???????????? ? ? ? ?? ##指定用户身份可上传 ?? ?chown_username=lee?? ??? ?????????????????##指定用户身份lee ?? ?chown_upload_mode=0644?? ? ? ? ?? ? ##上传文件权限为0664???
配置文件:
测试:
?上传速率控制 ?? ?anon_max_rate=102400?? ??? ?##设定传输速率为100k每秒
配置文件:
测试:
??3.1.3 本地用户访问
登陆控制 客户端创建用户 ? useradd westos useradd lee echo lee | passwd --stdin lee/westos
本地用户可登陆:
????????local_enable=NO|YES???????? (本地用户是否可以登陆)
配置文件:
测试:
家目录控制:
????????local_root=/softwart ????????(将指定用户锁定在加目录中)
配置文件:
测试:
写权限控制:
???????? write_enable=NO|YES?? (20行,写的总开关,在这里关闭了写或者开,匿名用户无论写是否开启都无法写东西,可以mkdir和rm了)
配置文件:
测试:
上传文件权限控制:
????????local umask=077?? (设定完成之后新创建的目录就成了700了)
配置文件:
测试:
用户黑白名单:
? ????????? 永久黑:/etc/vsftpd/ftpusers? (至高无上) ?? ??? ??? ?默认黑:/etc/vsftpd/user_list (经过一定设置可以变白) ?? ??? ??? ?白名单:编写userlist_deny=NO (表示关闭deny功能,双重否定表肯定,user_list就成了白名单)
锁定用户到自己的家目录:
???????????????? chmod u-w /home/* ?? ??? ??? ????? chroot_local_user=YES (109左右)
配置文件:
测试:
锁定用户到自己的家目录中的白名单:
??????????????????? chroot_local_user=YES?? ??? ??? ?##是否将所有用户限制在家目录 ?? ??? ??? ??? ???? chroot_list_enable=YES?? ??? ??? ?##是否启动限制用户的名单 ?? ??? ??? ??? ???? chroot_list_file=/etc/vsftpd/chroot_list?? ?##是否限制在家目录下的用户名单 ?? ?锁定用户到自己的家目录中的黑名单:
??????????????????? chroot_local_user=NO?? ??? ??? ?##不将所有用户限制在家目录 ?? ??? ??? ??? ???? chroot_list_enable=YES?? ??? ??? ?##启动限制用户的名单 ?? ??? ??? ??? ???? chroot_list_file=/etc/vsftpd/chroot_list?? ?##是否限制在家目录下的用户名单
??3.1.4 虚拟用户登陆
??? vim /etc/vsftpd/westos_pam?? ?##编写文件指定虚拟账号
db_load -T -t hash -f westos_pam westos_pam.db ##加密文件(T 转换为hash t类型 type f 指定的文件)
vim /etc/pam.d/westos ##编写连接文件 required插件认证用户账号密码 认证失败会使此认证环节失败
account required pam_userdb.so db=/etc/vsftpd/westos_pam
auth required pam_userdb.so db=/etc/vsftpd/westos_pam
?? ?????
vim /etc/vsftpd/vsftpd.conf ##编写配置文件
listen_ipv6=YES
pam_service_name=westos ##本地认证,指定认证策略文件
userlist_enable=YES
guest_enable=YES ##指定虚拟用户身份开启
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份
?? ????
虚拟用户家目录的独立设定和用户配置独立
local_root=/ftphome/$USER?? ??? ?##指定家目录地址并识别用户文件 user_sub_token=$USER?? ??? ??? ?##变量申明
?
用户配置独立
chmod 775 ../pub chgrp ftp ../pub vim /etc/vsftpd/vsftpd.conf?? ??? ?##编写配置文件指定用户配置独立文件为westos ?? ?user_config_dir=/etc/vsftpd/westos
mkdir /etc/vsftpd/westos?? ??? ? vim /etc/vsftpd/westos/user1?? ??? ?##编写user1用户独立配置文件可以上传文件user2 3不可以 ?? ?anon_upload_enable=YES
systemctl restart vsftpd
|