基于文件验证的vsftpd虚拟用户
2017-08-11 15:47
274 查看
简介
vsftpd 的实现,有三种用户认证身份。(1)匿名用户账号是ftp或者anonymous不需要密码即可登录,被限定在ftp用户的家目录,要求ftp用户家目录没有写权限,默认ftp用户的家目录是/var/ftp
(2)系统用户是系统上存在的实际用户,默认没有限定到用户家目录中。可以随便切换到其他目录,因此不需要取消用户家目录的写权限
(3)虚拟用户,虚拟用户是建立一些系统不存在的账号,用来进行登录。其实其也是映射到系统的某个用户身份。其配置参数使用的是匿名用户的配置参数。
基于虚拟用户的用户存放地点有两种,二进制文件和mysql,因为我们的用户一般不多,使用mysql验证还要通过TCP三次握手四次分手,比较慢,因此常用二进制文件来进行存放。跟我一块来做基于文件验证的实验吧!
实验环境
操作系统:CentOS7.3软件:vsftpd(version 3.0.2)
测试:filezilla
实验步骤
一、创建用户数据库文件
1、自定义用户文件vim /etc/vsftpd/vusers.txt ftp1 password1 ftp2 password2
注意:奇数行是用户名,偶数行是密码
2、依靠vusers.txt文件来生成二进制数据库
cd /etc/vsftpd/ db_load -T -t hash -f vusers.txt vusers.db chmod 600 vusers.db
二、创建用户和访问FTP目录
创建虚拟用户映射到系统的实际用户useradd -d /var/ftproot -s /sbin/nologin vuser chmod +rx /var/ftproot/ #虚拟用户使用的参数是匿名用户的参数,因此也是被禁锢在家目录中的,这就需要家目录没有写权限 chmod -w /var/ftproot/ #创建一个文件夹用来上传文件,并给他vuser写权限 mkdir /var/ftproot/upload setfacl -m u:vuser:rwx /var/ftproot/upload
三、创建pam配置文件
方法一:新建vsftpd.db文件,来进行认证,这样的话,本地用户则不能登录vim /etc/pam.d/vsftpd.db auth required pam_userdb.so db=/etc/vsftpd/vusers不需要加后缀 account required pam_userdb.so db=/etc/vsftpd/vusers
方法二:在原有的pam文件基础上前两行添加如下,这样的话本地用户也可以登录,虚拟用户也可以登录
auth sufficient pam_userdb.so db=/etc/vsftpd/vusers #sufficient代表如果此项通过,则不向下匹配,如果不通过,则不影响继续向下匹配 account sufficient pam_userdb.so db=/etc/vsftpd/vusers
这里使用方法一,如果是方法二,则下面的pam_service_name参数不需要新指定。
四、指定pam配置文件
vim /etc/vsftpd/vsftpd.confguest_enable=YES guest_username=vuser #指定pam使用哪个文件 pam_service_name=vsftpd.db
五、SELinux设置:
禁用SELinux或者setsebool-P ftpd_full_access1
六、虚拟用户建立独立的配置文件
虚拟用户独立的配置文件可以单独对每个用户控制,文件名需要和用户名一致.使用的参数是匿名用户的配置参数
1、指定用户独立的配置文件路径
#创建配置文件存放的路径 mkdir /etc/vsftpd/vusers.d/ #在配置文件中指定 vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vusers.d/
2、创建各用户自已的配置文件,允许ftp1用户可读写,其它用户只读
vim /etc/vsftpd/vusers.d/ftp1 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
vim /etc/vsftpd/vusers.d/ftp2 #登录目录改变至指定的其他目录 local_root=/app
如果有错误,请指出来,我们交流^_^
相关文章推荐
- 实现基于文件验证的vsftpd 虚拟用户
- ubuntu下vsftpd的配置(虚拟用户基于文件验证)
- 实验-----实现基于文件验证的vsftpd虚拟用户
- 实现基于文件验证的vsftpd虚拟用户和基于MYSQL验证的vsftpd虚拟用户
- 实现基于mysql验证的vsftpd虚拟用户
- 实验-----基于MYSQL验证的vsftpd虚拟用户
- 实现基于MYSQL验证的vsftpd虚拟用户
- 实现基于mysql验证的vsftpd虚拟用户 (centos6)
- ubuntu下vsftpd的配置(虚拟用户基于MySQL验证)
- 搭建FTP-----基于文件验证的虚拟用户
- vsftpd基于数据库文件实现虚拟用户管理站点目录
- 基于文件验证虚拟用户
- vsftpd的基于pam_mysql的虚拟用户机制实现数据传输
- vsftpd基于pam_mysql的虚拟用户机制
- vsftpd虚拟账户(虚拟用户,ubuntu16,舍弃虚拟用户配置文件)
- vsftpd基于pam虚拟用户认证,还怕泄漏账号么?
- ftp下实现文件和mysql验证虚拟用户
- struts2基于xml配置文件的用户验证方法
- 基于vsftpd + pam + mysql实现虚拟用户访问机制
- vsftpd的基于pam_mysql的虚拟用户机制