vsftpd服务

我的虚拟机操作系统
  Operating System: Red Hat Enterprise Linux Server 7.0 (Maipo)

常遇到的报错

 500                                      ###权力过大
 530                                      ###认证失败
 550                                      ###无写权限
 553                                      ###权限问题

安装vsftp服务

yum install vsftpd  -y                                           ###安装vsftpd服务
systemctl start vsftpd                                           ###启动服务
systemctl stop firewalld                                         ###关闭防火墙
systemctl enable vsftpd                                          ###开机自动启动服务

vsftpd文件信息

可通过rpm -qc vsftpd 查出配置文件的目录

 /var/ftp                                                        ###默认发布目录
 /etc/vsftpd                                                     ###配置目录

vsftpd配置参数

匿名用户登陆设定
 vim /etc/vsftpd/vsftpd.conf                                     ###配置文件
 anonymous_enable=YES|NO                                         ###匿名用户登陆限制(YES为默认,即可以登陆)

这里写图片描述

匿名用户上传
 vim /etc/vsftpd/vsftpd.conf
 write_enable=YES                                                    ###匿名用户可写权限
 anon_upload_enable=YES                                              ###匿名用户上传权限(29行)
 chgrp ftp /var/ftp/pub或chown .ftp /var/ftp/pub
 chmod 775 /var/ftp/pub

如果不改权限

 lftp 172.25.254.156:/pub> put /etc/passwd
 put: Access failed: 553 Could not create file. (passwd)             ###权限报错

这里写图片描述

匿名用户家目录修改
 anon_root=/dream                                                  ###在配置中加入

这里写图片描述

匿名用户上传文件默认权限修改
 anon_root=/dream                                               ###把家目录修改注释掉
 anon_umask=000                                                 ###在配置中加入

可以发现匿名用户上传的文件权限变为666了

这里写图片描述

匿名用户建立目录
 anon_umask=000                                              ###把默认权限修改注释掉  
 anon_mkdir_write_enable=YES                                 ###可以创建目录(35行)            

这里写图片描述

匿名用户下载

可通过man vdftpd.conf查到

 anon_world_readable_only=YES|NO                            ###YES表示用户只能读,设定参数值为NO表示匿名用户可以下载

这里写图片描述

匿名用户删除
 anon_other_write_enable=YES|NO                            ###YES后可以删除与更名

这里写图片描述

匿名用户使用的用户身份修改
 chown_uploads=YES                                      ###打开后将会以chown_username设定的用户登陆
 chown_username=dream                                   ###匿名用户指定的登陆用户(52行)
 chown_upload_mode=0644                                 ###上传生成的文件权限(优先它的权限)

我们不难可以看出匿名用户以dream的身份登陆

这里写图片描述

上传速率设置
 anon_max_rate=102400                                  ###设置上线为100KB                    

这里写图片描述

最大链接数
 max_clients=1                                       ###设置连接数为1

这里写图片描述

本地用户设定

登陆限制
 local_enable=NO                                    ###本地用户登陆限制
 write_enable=YES                                   ###把本地用户登陆限制改成YES便可以登陆了

这里写图片描述

本地用户家目录修改
 local_root=/dream                                ###此目录有我们之前建好的东西

这里写图片描述

本地用户上传文件权限
 local_umask=022

这里写图片描述

限制本地用户浏览其他目录

所有用户被锁定到自己的家目录中

 chroot_local_user=YES  
 chmod u-w /home/*

如果不改变权限会有500报错

这里写图片描述

修改权限后

这里写图片描述

用户白名单名单建立

 chroot_local_user=YES                                    ###YES时为白名单只有名单中的用户能改变目录
 chroot_list_enable=YES
 chroot_list_file=/etc/vsftpd/chroot_list

这里写图片描述

这里写图片描述

用户黑名单名单建立

 chroot_local_user=NO                                     ###NO时只有名单中的用户不能改变目录
 chroot_list_enable=YES
 chroot_list_file=/etc/vsftpd/chroot_list

这里写图片描述

这里写图片描述

限制本地用户登陆

用户黑名单设定

 vim /etc/vsftpd/ftpusers                              ###用户黑名单
 vim /etc/vsftpd/user_list                             ###用户临时黑名单

这里写图片描述

用户白名单设定

注意:如果在/etc/vsftpd/user_list中设置dream用户,/etc/vsftpd/ftpusers也设置,用户dream将不能登陆

 userlist_deny=NO                               ###修改配置
 /etc/vsftpd/user_list                          ###此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

这里写图片描述

ftp虚拟用户的设定

创建虚拟帐号身份
 [root@ftp ~]# vim /etc/vsftpd/dream                                             ###名字可以任意
 [root@ftp ~]# cat /etc/vsftpd/dream
 dream1
 123
 dream2
 123
 dream3
 123
 [root@ftp ~]# db_load -T -t hash -f /etc/vsftpd/dream /etc/vsftpd/dream.db       ###加密帐号密码
 [root@ftp ~]# ls /etc/vsftpd/
 chroot_list  dream.db  user_list    vsftpd_conf_migrate.sh
 dream        ftpusers  vsftpd.conf

我们可以看一下默认的路径,其实我们现在就是在建立这个的过程中

这里写图片描述

这里写图片描述

 [root@ftp pam.d]# vim /etc/pam.d/dream
 [root@ftp pam.d]# cat /etc/pam.d/dream
 account        required    pam_userdb.so   db=/etc/vsftpd/dream
 auth           required    pam_userdb.so   db=/etc/vsftpd/dream
 [root@ftp pam.d]# vim /etc/vsftpd/vsftpd.conf 
 pam_service_name=dream                        ###制定读取的文件为/etc/pam.d/dream
 guest_enable=YES                              ###虚拟用户登陆
 guest_username=dream                          ###登陆虚拟用户时以dream用户身份登陆

如果不可以登陆500报错,表示权限过大执行:chmod u-w /home/dream

这里写图片描述

虚拟帐号家目录独立设定

可以发现上面的方法登陆的目录都为dream的目录,下面就是家目录的独立的方法介绍

 [root@ftp pam.d]# vim /etc/vsftpd/vsftpd.conf 
 local_root=/ftphome/$USER
 user_sub_token=$USE
 [root@ftp pam.d]# mkdir -p /ftphome/dream{1..3}/pub
 [root@ftp pam.d]# chown .dream -R /ftphome/
 [root@ftp pam.d]# chmod g+s /ftphome/ -R                    ###让自己可以删除自己的建的文件
 [root@ftp pam.d]# touch /ftphome/dream1/pub/file1
 [root@ftp pam.d]# touch /ftphome/dream2/pub/file2
 [root@ftp pam.d]# touch /ftphome/dream3/pub/file3
 [root@ftp pam.d]# systemctl restart vsftpd.service

这里写图片描述

这里写图片描述

注意:对文件开权限,不能开上层目录的权限会报错,这里的虚拟用户的权限是看匿名用户的权限

这里写图片描述

虚拟帐号配置独立

把虚拟用户的权限关了

这里写图片描述

 [root@ftp pam.d]# vim /etc/vsftpd/vsftpd.conf 
 user_config_dir=/etc/vsftpd/userconf
 [root@ftp pam.d]# mkdir -p /etc/vsftpd/userconf
 [root@ftp pam.d]# vim /etc/vsftpd/userconf/dream1
 [root@ftp pam.d]# systemctl restart vsftpd.service

/etc/vsftpd/userconf/dream1中的配置

这里写图片描述

这里写图片描述

虚拟帐号和普通用户同时存在

配置vsftpd.conf

 [root@ftp pam.d]# vim /etc/vsftpd/vsftpd.conf 
 pam_service_name=vsftpd                        ###修改回vsftpd

配置pam.d

[root@ftp pam.d]# vim /etc/pam.d/vsftpd
###这二条要写到上面,下面会报错,required不能进行认证,修改为sufficient
account    sufficient   pam_userdb.so db=/etc/vsftpd/dream
auth       sufficient pam_userdb.so db=/etc/vsftpd/dream

session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ft
pusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

这样普通用户和虚拟用户就可以同时进行登陆了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wielun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值