设为首页 收藏本站
查看: 1446|回复: 0

[经验分享] centos7 vsftpd 虚拟用户 pam模块认证

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-2 10:19:48 | 显示全部楼层 |阅读模式
一、首先需要装的包有:
yum install vsftpd lftp ftp libdb-utils(生成虚拟用户验证数据库文件) -y
systemctl restart vsftpd.service  启动服务

systemctl enable vsftpd    设置开机启动

systemctl status vsftpd     查看服务启动状态与启动状态时间,加载的配置文件等。

二、建立一个虚拟用户的数据库文件
#!/bin/bash

cat > /etc/vsftpd/auth_virtual_ftp_user <<END
user1
123
user2
456
END
需要这个文件来生成数据库文件
db_load -T -t hash -f /etc/vsftpd/auth_virtual_ftp_user /etc/vsftpd/auth_virtual_ftp_user.db
-T :允许non-Berkeley DB应用程序容易文本文件加载到数据库
-t:指定生成数据库文件类型

指定了选项-T,那么一定要追加子选项-t;子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型后面就是要用哪个文件来生成数据库文件了,前面是文本文件,后面是数据库文件,什么名字都可以,但数据库文件必须是以*.db结尾的
三、配置vsftpd文件
首先要备份一份初始文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.$(date +%Y-%m-%d).bak
cat /etc/vsftpd/vsftpd.conf.$(date +%Y-%m-%d).bak | grep -v ^# | tr -s '\n' > /etc/vsftpd/vsftpd.conf
把里面多余的空行用tr -s '\n' 来清理掉,接着再重定向到vsftpd的配置文件中。
cat /etc/vsftpd/vsftpd.conf   按以下要求来修改配置文件
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=YES
userlist_enable=YES
pam_service_name=vsftpd   这个文件对应的位置是/etc/pam.d/vsftpd
userlist_enable=YES
tcp_wrappers=YES
use_localtime=YES
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/user_conf

创建虚拟用户配置目录

mkdir /etc/vsftpd/user_conf/
四、修改pam 模块

[iyunv@server1 ~]# cat /etc/pam.d/vsftpd | grep -v ^#
auth       required     pam_userdb.so    db=/etc/vsftpd/auth_virtual_ftp_user
account    required     pam_userdb.so    db=/etc/vsftpd/auth_virtual_ftp_user
这里的*.so 文件全部都是默认在/lib64/security/这个目录下
之前我总是认证不成功(登录503错误),我想可能是模块之间有一些影响,所以我把其他的都注释掉,只留下这两个即可。通常使用的情况下,暂无其他问题,若有的话欢迎指出问题,谢谢。
五、创建虚拟用户

touch  /etc/vsftpd/user_conf/{user1,user2}
cat /etc/vsftpd/user_conf/user1
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes     
anon_other_write_enable=yes     
anon_upload_enable=yes

local_root=/var/ftp/user1
cat /etc/vsftpd/user_conf/user2
anon_world_readable_only=no   # 允许匿名用户浏览器整个服务器的文件系统
write_enable=no             # 允许在文件系统写入权限
anon_mkdir_write_enable=yes   #  允许创建文件夹
anon_other_write_enable=NO  #   允许用户改名和删除文件的权限
anon_upload_enable=yes          # 允许用户上传文件
local_root=/var/ftp/user2
mkdir  /var/ftp/{user1,user2} 创建虚拟用户的根目录
六、创建一个用户要与vsftp.conf中的guest_username=ftpuser 所对应上
useradd  -s /sbin/nologin -c "ftpuser" ftpuser
分配权限
chown ftpuser:ftpuser /var/ftp/
cd /var/ftp/
chown -R ftpuser:ftpuser *
[iyunv@server1 ftp]# ll -dh /var/ftp/user1/
drwxr-xr-x. 2 ftpuser ftpuser 6 Oct 31 02:38 /var/ftp/user1/


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-133935-1-1.html 上篇帖子: 想在FTP中建两个文件夹,让A类用户可以看全部的文件夹,B用户看其中1个文件夹,具体怎 下篇帖子: VSFTP虚拟用户的配置 认证 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表