搭建vsftp pam认证

1、yum安装vsftpd程序:

[[email protected] other]# yum install vsftpd -y

2、修改配置文件

[[email protected] other]# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

//是否允许anonymous登录FTP服务器,默认是允许的。
local_enable=YES

//是否允许本地用户登录FTP服务器,默认是允许
write_enable=YES

//是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许
anon_umask=022

//设置虚拟用户的文件生成掩码为022,默认是077
dirmessage_enable=YES

//激活目录信息,当远程用户更改目录时,将出现提示信息
xferlog_enable=YES

//启用上传和下载日志功能
connect_from_port_20=YES

//启用FTP数据端口的连接请求
xferlog_file=/var/log/vsftpd.log

//设置日志文件的文件名和存储路径,这是默认的
xferlog_std_format=YES

//是否使用标准的ftpd xferlog日志文件格式
listen=YES

//使vsftpd 处于独立启动模式
user_config_dir=/etc/vsftpd/vuser_dir

//使用虚拟用户配置文件的目录
pam_service_name=/etc/pam.d/vsftpd

//设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下.
userlist_enable=NO

//用户列表中的用户是否允许登录FTP服务器,默认是不允许
chroot_list_enable=YES

//如果希望用户登录后不能切换到自己目录以外的其它目录,需要设置该项
tcp_wrappers=YES

//使用tcp_wrqppers作为主机访问控制方式
guest_enable=YES

//是否启用来宾用户(也就是启用虚拟用户)
guest_username=root

//如果启用了虚拟用户后上传文件修改文件的用户名
chown_uploads=YES

//是否启用上传文件后修改为指定的属主
chown_username=root

//是否启用上传文件后修改为指定的属主用户

3、在/etc/vsftpd/下创建两个目录

vuser_db  #后续存放虚拟用户的配置文件
vuser_dir  #存放虚拟用户的认证文件

//以下是login_vuser虚拟用户的帐号密码格式,奇数行为用户名,双数行为密码
user003
20150105
user004
20150106
user005
20150107

//生成数据库文件
//选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。
如果指定了选项-T,那么一定要追跟子选项-t
子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。扩展介绍下,-t可以指定的数据类型有Btree、Hash、Queue和Recon数据库。
-f:参数后面接包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码
[[email protected] vuser_db]# db_load -T -t hash -f /etc/vsftpd/vuser_db/login_vuser /etc/vsftpd/vuser_db/vuser.db

4、更改pam认证模块

[[email protected] vuser_db]# cd /etc/pam.d/
[[email protected] vuser_db]# vim vsftpd  //这个文件名要与主配置文件中的pam_service_name指定的一致
//最后面的vuser就是vuser.db,但是这里的后缀不是需要写的
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_db/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_db/vuser

5、为虚拟用户创建对应的文件vi

[[email protected] vsftpd]# cd /etc/vsftpd/vuser_dir/
[[email protected] vuser_dir]# ll  //login_vuser中有多少个帐号就创建多少个虚拟用户文件
total 6
-rw-r--r--. 1 root root 177 Jan  5 17:03 user003
-rw-r--r--. 1 root root 177 Jan  5 17:09 user004
-rw-r--r--. 1 root root 177 Jan  5 17:19 user005
[[email protected] vuser_dir]# vim user003
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/data/www/test  //指定虚拟用户有权限登录到哪个目录
chown_upload_mode=0777  //虚拟用户上传文件的权限设置

到这里基本上算是配置完成了,可以启动vsftpd服务了:

[email protected] vsftpd]# service vsftpd start

6添加新的虚拟用户

[[email protected] vsftpd]# vi adduser.txt

账号

密码

db_load -T -t hash -f adduser.txt  addftpuser.bdb

db_dump addftpuser.bdb > addftpuser.txt

db_dump vuser.db > vuser.db.txt

然后打开Mobileusers.txt 和 addftpuser.txt

格式类似:

VERSION=3                          #版本
format=bytevalue                  #本文格式
type=hash                            #加密方式
h_nelem=2                            #文件内含用户的数量
db_pagesize=4096
HEADER=END                          #头属性结束
 6674707573657231                #第一个用户的用户名
 313233343536                       #第一个用户的密码
 6674707573657232                 #第二个用户的用户名
 313233343536                        #第二个用户的密码
DATA=END                              #数据属性结束

将addftpuser.txt中的内容相应的加入到Mobileusers.txt 中并且修改文件内用户的数量

之后在使用db_load回复pam的配置文件。

(执行操作之前一定要做备份)

db_load -f vuser.db.txt vuser.db

[[email protected] vsftpd]# ll /etc/vsftpd/vuser_dir/

total 8

-rw-r--r-- 1 root root 173 May  6 11:26 user003

-rw-r--r-- 1 root root 173 May  23 11:19 user004

创建虚拟文件给与权限

重启vsftp即可

时间: 2024-08-05 14:56:58

搭建vsftp pam认证的相关文章

linux系统上搭建vsftp服务

实验 实验环境: 在虚拟机搭建一台linux服务器和一台win7系统客户机. 实验要求: 一,匿名访问FTP服务,并可以上传和下载目录和文件. 二,用户验证访问FTP服务,上传和下载目录和文件. 三,使用user_list用户列表文件,作用户访问限制. 四,建立虚拟用户的账号数据库,并使用虚拟用户访问FTP上传和下载目录和文件. 五,为单独虚拟用户建立独立的配置文件. 实验步骤: 一,匿名访问FTP服务,并可以上传和下载目录和文件. 使用RPM方式安装vsftp服务: 关闭防火墙功能: 开启vs

详解Linux搭建vsftp服务器通过三种方式实现文件传输

概述 FTP(File Transfer Protocol)中文称为"文件传输协议".用于Internet上的控制文件的双向传输. 工作原理 一.主动模式: 1.客户端通过用户名和密码登录服务器端,登录的是21端口(服务器端主动开启的).2.服务器端通过21端口接收到客户端的访问,验证用户名和密码.3. 登陆成功,客户端会随机开启一个1024以上的端口,在端口上会传递一个叫port的命令,通过命令告知服务器,打开端口,向客户端传递数据.(顺便的会将随机端口号告知服务器)4.服务器接收之

vsftp pam mysql

一.安装所需要程序 事先安装好开发环境和mysql数据库 #yum -y install mysql-server mysql-devel #yum -y install groupinstall "Development Tools" "Development Libraries" 安装pam_mysql-0.7RC1 #tar zxvf pam_mysql-0.7RC1.tar.gz #cd pam_mysql-0.7RC1 #./configure --wit

Centos|Rhel搭建vsftp

vsftp,在ftp传输中相对安全的 01.安装vsftpd yum install -y vsftpd 版本信息: Installed PackagesName        : vsftpdArch        : x86_64Version     : 2.2.2Release     : 11.el6_4.1Size        : 331 kRepo        : installedSummary     : Very Secure Ftp DaemonURL        

linux 下搭建vsftp的虚拟用户登陆

系统环境:192.168.1.62.    centos6.4   64位系统 安装vsftp的软件包 yum  install  vsftpd 2.虚拟用户需要一个数据库的转换.安装所需要的软件 yum install db4* db_load –T –t hash –f vftpuser.txt  vftpuser.db 转换数据格式 3.增加pam认证 安装pam所需要的包 yum install pam* 编辑pam的配置文件 这个错误可以从/var/log/secure里面看出来 Se

CentOS搭建VSFTP

1.先看看有没有安装 rpm -qa | grep vsftpd 如果没有提示,说明没有安装.接下来,我们安装一个ftp. 2.yum安装vsftpd: yum -y install vsftpd 安装完之后看看生成的配置文件: [[email protected] ~]# ll /etc/vsftpd/ 总用量 20 -rw------- 1 root root 125 10月 18 07:54 ftpusers -rw------- 1 root root 361 10月 18 07:54

Cent OS7搭建vsftp服务器

今天简单配置匿名访问及用户验证的相关配置,基于虚拟用户的配置敬请期待下一篇搭建vsftp服务器首先要确保虚拟机的防火墙和seLinux防火墙都是关闭的一.ftp文件传输服务1.ftp连接的端口号21:传输控制使用,进行身份验证授权访问20:传输数据使用2.ftp连接模式主动模式:服务器端通过20号端口给客户端传输数据,POST指令表示主动连接,默认工作在主动模式被动模式:服务器端开放指定范围的端口号等待客户端建立数据连接,pasv指令表示被动模式3.ftp传输模式文本 模式:文本模式不支持传输流

拿nodejs快速搭建简单Oauth认证和restful API server攻略

拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最近一直在鼓捣这个东西,拿出来分享下一下经验吧,其实很简单,一点也不难. 首先需求是这样,给自己的网站要增加API服务,API分为两种,公共的和私有授权的,授权的使用Oauth方法认证身份,API格式均为JOSN和JSONP. 嗯,别的语言我也没怎么学过,首先是找合适的框架进行实现吧.本身网站使用的e

Linux中pam认证详解(下)

Linux中pam认证详解(下) 在上一篇中详细的介绍了pam的介绍.pam认证原理.pam认证构成以及pam验证控制类型,下面向大家详细介绍一下常用的pam服务模块,以及pam认证的应用. 一.常用的pam服务模块 下面是Linux提供的PAM模块列表(只是其中一部分),这其中包含模块文件.模块功能描述和相关配置文件,具体如下: pam_access 提供logdaemon风格登录控制 /etc/security/access.conf pam_chroot 提供类似chroot命令的功能 p