centos7 vsftpd 虚拟用户 pam模块认证
若开启selinux的话,那么就需要
chcon -R -t public_content_t /var/ftp/user1/
chcon -R -t public_content_t /var/ftp/user2/
setsebool -P ftp_home_dir on
一、首先需要装的包有:
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=NO (默认是YES,改为NO的话,启动服务时就不会出错了)
listen_ipv6=YES
#userlist_enable=YES 如果这个开启的话,那么必须要有下面的这个文件
#userlist_file=/etc/vsftpd.user_list 只有这文件里面的用户才用访问
pam_service_name=pam_vsftpd 这个文件对应的位置是/etc/pam.d/pam_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 模块
[root@server1 ~]# cat /etc/pam.d/pam_vsftpd
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 -g ftp -s /sbin/nologin ftpuser
分配权限
cd /var/ftp/
chown -R ftpuser *
[root@server1 ftp]# ll -dh /var/ftp/user1/
drwxr-xr-x. 2 ftpuser ftpuser 6 Oct 31 02:38 /var/ftp/user1/
转载于:https://blog.51cto.com/silencezone/1708341
centos7 vsftpd 虚拟用户 pam模块认证相关推荐
- FTP服务学习笔记之基于MySQL+PAM的vsftpd虚拟用户
基于mysql+PAM的vsftpd虚拟用户配置 一.实验说明 操作系统:Redhat5.8_X64bit 实验平台:VMware Workstation 所需要的软件包:pam_mysql-0.7R ...
- Linux之Vsftpd虚拟用户、扩展应用tcp_wrapper实验总结
Linux之Vsftpd虚拟用户实验总结 一.vsftpd简介 vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX ...
- FTP服务(3)实现基于文件验证的vsftpd虚拟用户
1.虚拟用户 所有虚拟用户会统一映射为一个指定的系统帐号: 访问共享位置,即为此系统帐号的家目录各虚拟用户可被赋予不同的访问权限,通过匿名用户的权限控制参数进行指定虚拟用户 帐号的存储方式: 文件:编 ...
- vsftpd虚拟用户和本地用户不能共存的解决方法
在配置vsftpd的过程中,听信了网上的谗言,把vsftpd配了一遍,发现配完,虚拟用户和本地用户不能共存,即虚拟用户可以登录ftp,但是本地用 户不能登录的ftp.折腾了很久,包括上网找过很多内容都 ...
- 两种方式建立Vsftpd虚拟用户
http://blog.51cto.com/yuanbin/129071 两种方式建立Vsftpd虚拟用户 我们登录FTP有三种方式,匿名登录.本地用户登录和虚拟用户登录. 匿名登录:在登录FTP时使 ...
- linux搭建vsftpd虚拟用户访问
配置vsftpd服务 FTP服务器默认匿名可以访问. 1.搭建yum仓库 [root@accp~]# vim /etc/yum.repos.d/dvd.repo [server] name ...
- linux之vsftpd虚拟用户搭建
vsftpd虚拟用户的配置过程 系统版本:Redhat 4.0 1.安装软件包 #rpm -ivh /mnt/RedHat/RPMS/vsftpd...... 2.建立虚拟用户口令库 ...
- vsftpd虚拟用户帐号
vsftpd虚拟用户帐号的设置步骤: 1.建立虚拟用户口令库文件 2.生成vsftpd的认证文件 3.建立虚拟用户所需的PAM配置文件 4.建立虚拟用户所要访问的目录并设置相应权限 ...
- linux下配置vsftpd虚拟用户为登录用户
1.安装vsftpd 安装依赖包: yum -y install pam pam-devel db4 de4-devel db4-uitls db4-tcl 新建vsftpd系统用户: #建立Vsft ...
最新文章
- 024_JDK的equals方法
- linux deepin tar安装jdk8
- OpenStack三种类型的NAT转换
- JAVA就业面试题之单例模式
- Kafka SCRAM和PLAIN实战
- xstream不映射字段_这本XStream学习手册,真的不来看看?
- SQL里变量的声明以及常用函数举例
- cgi web页面传入命令
- matlab中使用libsvm工具箱训练的svm分类器model保存
- 【Axure图标库】单线形图标元件库 细线矢量图标1000+
- 思维导图学习---数据库相关基础思维导图(2)
- 从键盘输入10个整数,求其平均值
- 基于DCT的信息隐藏
- 这一周CSDN人都看了些什么?(5.14-5.20)
- nginx单点故障怎么破?
- 游戏数据后台,kafka代替rsync同步日志数据
- yara规则--编写
- f7功能键使用计算机,【ThinkPad】F1-F12功能键最全使用指南
- python读取excel(读写处理xls或xlsx)
- 前端VUE面试题总结
热门文章
- java main函数_Java经典面试题集锦
- android fragment 抽屉,如何从Fragment Android中禁用或隐藏抽屉布局
- 磁盘格式 mac android,MacDroid for mac(安卓手机数据传输助手)
- python 通用数据库类型_Python开发基础之Python常用的数据类型
- groupadd r mysql_MySQL三种安装方式大揭秘
- 机器人改变生活利弊英语作文_左手建筑右手餐饮,机器人如何改变大众生活? 圆梦人感言...
- 不小心点了计算机一键还原怎么操作,电脑一键还原在哪里?电脑怎样一键还原系统...
- java rails orm_php 模拟 rails 中的 ActionRecord 的 ORM (一)
- std::list 循环删除指针_数据结构_006_线性表_循环链表
- docx文档怎么排列图片_PDF怎么转Word?这几款软件满足你的要求