centos 6 安装vsftpd与PAM虚拟用户

使用yum 安装vsftp

1 yum install vsftpd pam pam-* db4 db4-*

创建一个保存用户及密码的文件

1 cd /etc/vsftpd/
2 touch  vuser_passwd.txt

添加用户(奇行用户,偶行密码)

1 vim  vuser_passwd.txt
2
3 tom
4 DSfaoewLD3
5 ken
6 GetpOIIofd324DLJhg

将文本内的帐号及密码添加到db4的数据库文件内

1 db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

将vsftpd原内容全部注释掉,并添加如下:

1 sed -ir ‘s/^/#/g‘ /etc/pam.d/vsftpd
2
3 auth    required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/vuser_passwd
4 account required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/vuser_passwd

创建一个vsftpd服务的用户vsftpd,你也可以使用-d来指定他的家目录

1 useradd -d /home/vsftpd -s /sbin/nologin vsftpd

更改 vsftpd的配置文件,先备份一下vsftpd.conf

1 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

配置如下:

 1 #不允许匿名访问
 2 anonymous_enable=NO
 3 #设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问
 4 local_enable=YES
 5 #允许写操作
 6 write_enable=YES
 7 #创建或上传后文件的权限掩码
 8 local_umask=022
 9 #禁止匿名用户上传
10 anon_upload_enable=NO
11 #禁止匿名用户创建目录
12 anon_mkdir_write_enable=NO
13 #进入目录时可以显示一些设定的信息,可以通过message_file=.message来设置
14 dirmessage_enable=YES
15 #开启日志
16 xferlog_enable=YES
17 #主动连接的端口号
18 connect_from_port_20=YES
19 #设定禁止上传文件更改宿主
20 chown_uploads=NO
21 #日志路径,记得自己创建一下并且对这个文件进行chown  vsftpd.vsftpd /var/log/vsftpd.log
22 xferlog_file=/var/log/vsftpd.log
23 #就是格式话日志格式的,你懂得。使用wu ftp软件时设置yes就行
24 xferlog_std_format=YES
25 #因为我们把vsftpd的shell设置为nobody 了,所以 这个地方写vsftpd就可以啦!当然或者可以写成系统内的nobody
26 nopriv_user=vsftpd
27 #设定支持异步传输功能
28 async_abor_enable=YES
29 #设定支持ASCII模式的上传
30 ascii_upload_enable=YES
31 #设定支持ASCII模式的上传
32 ascii_download_enable=YES
33 #登陆欢迎语
34 ftpd_banner=Welcome to dongnan FTP service.
35 #限定在自己的目录内,不让他出去,就比如如果设置成NO,那么当你登陆到ftp的时候,可以访问服务器的其他一些有权限目录。设置为YES后即,锁定你的目录了
36 chroot_list_enable=YES
37 #待会要把用户写到这个里面,写到这里的用户乖乖的呆在家目录下吧
38 chroot_list_file=/etc/vsftpd/chroot_list
39 #以standalone方式来启动
40 listen=YES
41 #/etc/pam.d/下的vsftpd文件
42 pam_service_name=vsftpd
43 #在/etc/vsftpd/user_list中的用户将不得使用FTP
44 userlist_enable=YES
45 #支援 TCP Wrappers 的防火墙机制
46 tcp_wrappers=YES
47 #启用虚拟用户功能
48 guest_enable=YES
49 guest_username=vsftpd
50 #虚拟用户的权限符合他们的宿主用户
51 virtual_use_local_privs=YES
52 #虚拟用户个人vsftpd的配置文件存放路径。vsftpd_config是文件夹啊。注意:配置文件名必须和虚拟用户名相同
53 user_config_dir=/etc/vsftpd/vuser_conf
54 #设置被动模式
55 pasv_enable=yes
56 #被动模式数据传输端口范围
57 pasv_min_port=8888
58 pasv_max_port=8899

创建保存虚拟用户配置文件的目录

1 mkdir /etc/vsftpd/vuser_conf/

创建vsftp日志文件

1 touch /var/log/vsftpd.log
2 chmod 600 /var/log/vsftpd.log
3 chown vsftpd.vsftpd /var/log/vsftpd.log

创建要将哪些用户固定在家目录的配置文件

1 touch /etc/vsftpd/chroot_list
2 echo -e "vsftpd\ntom\nken" > /etc/vsftpd/chroot_list

将需要固定用户目录的用户名字写进去即可

cd /etc/vsftpd/vuser_conf/
cat > tom << EOF #起用虚拟用户,centos下yes必须为小写字母

local_root=/home/ftp/tom
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

注:行末不能有空格

启动vsftpd

1 /etc/init.d/vsftpd start

 

转载 https://www.cnblogs.com/jenqz/p/5195306.html

原文地址:https://www.cnblogs.com/nieqibest/p/9233292.html

时间: 2024-10-21 22:59:21

centos 6 安装vsftpd与PAM虚拟用户的相关文章

CentOS 6.4下安装vsftpd、配置虚拟用户登录

概述: vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个. 本文介绍了在CentOS 6.4下安装vsftpd.配置虚拟用户登录FTP的过程. 正文: 一:安装vsftpd 查看是否已经安装vsftpd rpm -qa | grep vsftpd 如果没有,就安装,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on 二:基于虚拟用户的配置 所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的.虚拟

Centos 7 安装配置Vsftp(虚拟用户登录)

虚拟用户特点: 1.只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源.所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性. 2.可以建立多个虚拟用户,设置各自的密码,并且根据其用途设置相应的配置,能适应多种情况. 虚拟用户原理: 以本地系统用户为宿主(一般是不能登录系统的本地用户),然后通过虚拟用户和本地系统用户建立映射关系,实现虚拟用户登录FTP服务功能. 使用yum安装vsftpdyum -y install vsftp

Centos下安装FTP并进行虚拟用户访问方式配置

1.准备工作 yum install pam* yum install db4* 首先安装PAM(用于用户认证)和DB4(用于生成虚拟用户的用户名密码的db文件). 2.安装vsftpd yum install vsftpd 设置vsftpd开机启动: chkconfig vsftpd on 通过chkconfig --list 查看启动项 3. 配置vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_u

vsftpd基于pam虚拟用户认证,还怕泄漏账号么?

一.ftp简要介绍 ftp是一个很古老的协议了,是一种基于明文传输的C/S架构协议.ftp基于tpc21.20端口,其中21端口为命令端口,20端口为数据端口.ftp命令连接同其他TCP连接一样,不过数据连接有两种模式: 主动模式,也称作PORT模式:命令请求端口时,服务器端为减少等待,主动将数据发送给客户端:使用本机的20端口请求客户端的端口.这里有个问题:服务器端想要主动连接客户端就需要知道客户端的端口号,可是客户端根本没有启动任何端口给服务器端.协议设计中服务器端根据客户端的命令连接端口(

Vsftpd安装以及配置FTP虚拟用户实践

安装vsftpd #查看当前系统版本 [[email protected] vsftpd]# cat  /etc/redhat-release CentOS release 6.7 (Final) #安装 yum  install  vsftpd  -y #开机启动 chkconfig  vsftpd   on 基于虚拟用户和被动模式的配置 [[email protected] vsftpd]# cat  vsftpd.conf anonymous_enable=NO listen=YES li

Linux下vsftpd安装以及配置FTP虚拟用户实践

首选的FTP服务器搭建方式 安装vsftpd #查看当前系统版本 cat /etc/redhat-release  CentOS release 6.6 (Final)  #查看是否已经安装vsftpd rpm -qa | grep vsftpd #如果没有,就安装,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on 基于虚拟用户的配置 所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的.虚拟用户不能登录CentOS系统.

在Centos7上使用vsftpd+pam_mysql实现虚拟用户认证

一.安装所需要程序 1.安装开发环境及所需要程序 # yum groupinstall -y "Development Tools" "Server PlatformDevelopment" # yum install -y pam-devel mariadb-devel mariadb-server vsftpd lftp ftp 启动服务: # systemctl start mariadb.service 2.编译安装pam_mysql-0.7RC1 # ta

vsftp安装与配置(通过虚拟用户登录)

在网上多方查找,并成功运行,归纳以下文档 操作环境: 虚拟机:virtualbox4.3.14 系统:centos6.4 i386 登录用户:root 创建文件夹 mkdir /data 增加ftp虚拟用户对应的宿主账户 groupadd www useradd -g www -d /data/www -s /sbin/nologin www  #注意:www不需要密码,自作多情的我不小心加了个密码,然后一个下午503.....,你知道的. 安装ftp yum -y install vsftpd

ubuntu 12.04 配置vsftpd 服务,添加虚拟用户,ssl加密

1.对于12.04的vsftpd 有一些bug,推荐安装版本vsftpd_2.3.5-1ubuntu2ppa1_amd64.debapt-get install python-software-propertiesadd-apt-repository ppa:thefrontiergroup/vsftpdapt-get updateapt-get install vsftpd 2.配置虚拟用户,安装db5.1-util(对应系统版本即可)apt-get -y install db5.1-util