Vsftpd: 基于PAM认证的虚拟用户和匿名用户 | 您所在的位置:网站首页 › vsftp配置虚拟账号 › Vsftpd: 基于PAM认证的虚拟用户和匿名用户 |
目录
环境说明效果说明及截图①. 安装组件②. 系统账户建立③. 编辑vsftpd的配置文件④. 生成虚拟用户的数据库文件⑤. 生成一个使用vsftpd_login.db数据文件的PAM认证文件⑥. 创建共享目录⑦. 创建虚拟用户的配置文件⑧. 开启服务测试用户权限 环境说明系统: CentOS 6.6 64位 版本: vsftpd 2.2.2 效果说明及截图匿名用户登录仅有下载的权限 虚拟用户登录有上传下载, 创建删除文件夹, 删除文件, 更改名字等权限 #安装vsftpd服务相关组件 a. yum install vsftpd -y#安装pam认证相关组件b. yum install pam -y#安装db4来支持文件数据库c. yum install db4 -y ②. 系统账户建立 1. 建立vsftpd服务的宿主用户useradd vsftpd -s /sbin/nologin#默认的Vsftpd的服务宿主用户是root,但是这不符合安全性的需要。这里建立名字为vsftpd的用户,用他来作为支持vsftpd的服务宿主用户。由于该用户仅用来支持vsftpd服务用,因此没有许可他登陆系统的必要,并设定他为不能登陆系统的用户。 2. 建立virtualuser虚拟宿主用户useradd virtualuser -s /sbin/nologin#虚拟用户并不是系统用户,也就是说这些FTP的用户在系统中是不存在的。他们的总体权限其实是集中寄托在一个在系统中的某一个用户身上的,所谓virtualuser的虚拟宿主用户,就是这样一个支持着所有虚拟用户的宿主用户。由于他支撑了ftp的所有虚拟的用户,那么他本身的权限将会影响着这些虚拟的用户,因此,处于安全性的考虑,也要非分注意对该用户的权限的控制,该用户也绝对没有登陆系统的必要,这里也设定他为不能登陆系统的用户。使用-d参数指定用户的主目录,用户主目录并不是必须存在的。如果没有存在指定的目录的话,那么它将不会被建立 ③. 编辑vsftpd的配置文件 1. 备份配置文件cp vsftpd.conf vsftpd.conf.bak 2. vim /etc/vsftpd/vsftpd.conf![]() ![]() touch /var/log/vsftpd.logchown vsftpd.vsftpd /var/log/vsftpd.log 4.建立虚拟用户配置文件存放路径:mkdir /etc/vsftpd/user_conf/ ④. 生成虚拟用户的数据库文件: 1. 先创建一个logins.txt,并在里面写入用户名及密码,注意,单数行为用户名,双数行为对应的密码:vim /root/logins.txtwilliam123456 2. 将logins.txt转换成db文件:db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.dbchmod 600 /etc/vsftpd/vsftpd_login.db ⑤. 生成一个使用vsftpd_login.db数据文件的PAM认证文件。vim /etc/pam.d/vsfptd auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login crypt=hash account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login crypt=hash注意: 把原有各行均注释掉,然后加入上面两行:注意: crypt=hash必须加上,否则依然会出priv_sock_get_result问题!注意: 你的系统如果是64位, 为/lib64, 32位为/lib: ⑥. 创建共享目录mkdir /var/ftp/sharepoint给匿名用户sharepoint文件夹授权setfacl -m u:ftp:rx /var/ftp/sharepointgetfacl /var/ftp/upload/: 验证说明: 匿名用户使用ftp系统用户权限, 此处控制了匿名用户对目录的权限 ⑦. 创建虚拟用户的配置文件cd /etc/vsftpd/user_conf vim william local_root=/var/ftp write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES注意: 配置文件以虚拟用户的名字命名 ⑧. 开启服务测试用户权限service vsftpd restart |
CopyRight 2018-2019 实验室设备网 版权所有 |