Vsftp与PAM虚拟用户

使用yum 安装vsftp

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

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

  1. cd /etc/vsftpd/
  2. touch virtual_login

添加用户(一行用户一行是密码)

  1. vim  virtual_login

dongnan 
nandong

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

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

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

  1. sed -ir 's/^/#/g' /etc/pam.d/vsftpd
  2. echo -n '
  3. auth    required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/virtual_login
  4. account required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/virtual_login
  5. ' >> /etc/pam.d/vsftpd

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

  1. useradd -s /sbin/nologin vsftpd
  2. useradd -d /var/ftp/dongnan -s /sbin/nologin dongnan

更改 vsftpd的配置文件

  1. cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  1. awk '! /^(#|$)/' /etc/vsftpd/vsftpd.conf.bak

#不允许匿名访问
anonymous_enable=NO
#设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问
local_enable=YES
#允许写操作
write_enable=YES
#创建或上传后文件的权限掩码
local_umask=022
#禁止匿名用户上传
anon_upload_enable=NO
#禁止匿名用户创建目录
anon_mkdir_write_enable=NO
#进入目录时可以显示一些设定的信息,可以通过message_file=.message来设置
dirmessage_enable=YES
#开启日志
xferlog_enable=YES
#主动连接的端口号
connect_from_port_20=YES
#设定禁止上传文件更改宿主
chown_uploads=NO
#日志路径,记得自己创建一下并且对这个文件进行chown  vsftpd.vsftpd /var/log/vsftpd.log
xferlog_file=/var/log/vsftpd.log
#就是格式话日志格式的,你懂得。使用wu ftp软件时设置yes就行
xferlog_std_format=YES
#因为我们把vsftpd的shell设置为nobody 了,所以 这个地方写vsftpd就可以啦!当然或者可以写成系统内的nobody
nopriv_user=vsftpd
#设定支持异步传输功能
async_abor_enable=YES
#设定支持ASCII模式的上传
ascii_upload_enable=YES
#设定支持ASCII模式的上传
ascii_download_enable=YES
#登陆欢迎语
ftpd_banner=Welcome to dongnan FTP service.
#限定在自己的目录内,不让他出去,就比如如果设置成NO,那么当你登陆到ftp的时候,可以访问服务器的其他一些有权限目录。设置为YES后即,锁定你的目录了
chroot_list_enable=YES
#待会要把用户写到这个里面,写到这里的用户乖乖的呆在家目录下吧
chroot_list_file=/etc/vsftpd/chroot_list
#以standalone方式来启动
listen=YES
#/etc/pam.d/下的vsftpd文件
pam_service_name=vsftpd
#在/etc/vsftpd/user_list中的用户将不得使用FTP
userlist_enable=YES
#支援 TCP Wrappers 的防火墙机制
tcp_wrappers=YES
#启用虚拟用户功能
guest_enable=YES
#虚拟用户的权限符合他们的宿主用户
virtual_use_local_privs=YES
#虚拟用户个人vsftpd的配置文件存放路径。vsftpd_config是文件夹啊。注意:配置文件名必须和虚拟用户名相同
user_config_dir=/etc/vsftpd/vsftpd_config

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

  1. mkdir /etc/vsftpd/vsftpd_config/

创建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

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

  1. cd /etc/vsftpd/vsftpd_config/
  1. cat > dongnan << EOF
  2. #起用虚拟用户,centos下yes必须为小写字母
  3. guest_enable=yes
  4. #映射本地虚拟用户
  5. guest_username=dongnan
  6. #如果当时创建用户的时候锁定一个目录了,那就可以不写
  7. local_root=/var/ftp/dongnan
  8. #用户会话空闲后10分钟
  9. idle_session_timeout=600
  10. #将数据连接空闲2分钟断
  11. data_connection_timeout=120
  12. #最大客户端连接数
  13. max_clients=10
  14. #每个ip最大连接数
  15. max_per_ip=5
  16. #限制上传速率,0为无限制
  17. local_max_rate=0
  18. EOF

启动vsftp

  1. /etc/init.d/vsftpd start

Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: anon_upload_enable
注意: 这里出现了 500 OOPS 之类的错误,请使用以下命令去除"多余的空格",再次启动vsftp 即可。

  1. sed -ir 's/[ ]*$//g'  /etc/vsftpd/vsftpd.conf
  2. sed -ir 's/[ ]*$//g'  /etc/vsftpd/vsftpd_config/dongnan

参考
Vsftp服务安装搭建,虚拟用户配置
http://kinggoo.com/app-installvsftpdconf.htm

第二十一章、檔案伺服器之三: FTP 伺服器
http://linux.vbird.org/linux_server/0410vsftpd.php

9.4 帐号和组配置文件

小知识:
/sbin/nologin和/bin/false的区别 
/bin/false是最严格的禁止login选项,一切服务都不能用,而/sbin/nologin只是不允许系统login,可以使用其他ftp等服务。

更多请:
linux 相关  274134275 , 37275208(已满)
vmware 虚拟化相关  166682360

本文转自 dongnan 51CTO博客,原文链接:http://blog.51cto.com/dngood/1094079

Vsftp与PAM虚拟用户相关推荐

  1. centos安装vsftp后的虚拟用户设置

    2019独角兽企业重金招聘Python工程师标准>>> 安装好vsftpd之后,有的时候需要配置虚拟用户,可以先写一个login.txt,奇数行为用户名,偶数为用户名密码,例如: u ...

  2. vsftpd pam_mysql_vsftpd+mysql+pam虚拟用户无法登录ftp服务器,请给位大侠帮忙!

    "/etc/pam.d/vsftpd文件配置如下: #%PAM-1.0 auth sufficient /lib/security/pam_mysql.so user=vuser passw ...

  3. centos5.8 安装配置vsftp虚拟用户

    vsftp因为公司时不时要用,也不是经常弄ftp,不常用就老是忘记有些东西,所以就在网上查些资料和自己遇到的一些问题结合起来写一个文档,以后需要使用ftp的时候搭建比较方便,使用虚拟用户不用担心用户登 ...

  4. 让Vsftp支持虚拟用户

    让Vsftp支持虚拟用户                   --转载 http://blog.chinaunix.net/uid-317994-id-2133014.html          很早 ...

  5. centos创建vsftpd虚拟用户

    CentOS Vsftpd服务器(虚拟用户建立) 一.安装vsftpd服务相关组件 需要安装组件vsftpd pam db4 db4-utils [root@CentOS /]# yum -y ins ...

  6. Linux ftp服务器虚拟用户的建立

    vsftp下的虚拟用户的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源.所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全 ...

  7. vsftp建立虚拟用户不同目录分配不同权限操作步骤详解

    这篇文章主要介绍了vsftp建立虚拟用户不同目录分配不同权限操作步骤详解,大家参考设置自己的FTP服务器吧vsftpd服务器同时支持匿名用户.本地用户和虚拟用户三类用户账号,使用虚拟用户账号可以提供集 ...

  8. 使用vsftp虚拟用户实现安全访问控制

    一.ftp连接方式 1.命令连接 ftp在与用户交互时,首先打开的是TCP的21号端口,建立命令连接,这个连接会始终存在,直到用户输入bye的那一刻,才断开命令连接. 2.数据连接 1)主动连接 主动 ...

  9. VSFTP配置详解+虚拟用户的支持

         FTP 搭建 第一部分:理论 一. FTP服务器的基本原理 1. 基本概念:ftp是文件传输协议,(file transport portocol) 2. 数据传输模式:主动模式和被动模式  ...

最新文章

  1. 优秀logo设计解析_必修课 | 抛开固有思维,品牌amp;logo设计不求人!
  2. Express中间件的应用-路由保护(登录限制)、网站维护、页面404
  3. BOM的window对象的属性及其方法
  4. wordpress html音乐,WordPress引用百度Ting音乐方法
  5. hadoop异常: java.io.EOFException: Unexpected end of input stream
  6. linux变utf8为sjis命令,在派上编译Linux版Onscripter-jh时出现问题
  7. 个人财务管理系统mysql_个人财务管理系统功能模块设计
  8. QNAP+Transmission
  9. python代码判断身份证号是男是女
  10. 为了相同的前缀-麦迪时刻
  11. collect2: error: ld returned 1 exit status(Linux下Gcc编译问题)
  12. snaker流程预览
  13. 联想计算机CDROM启动,光驱启动,联想电脑光驱启动
  14. [面试专题]前端需要知道的web安全知识
  15. 无人值守自动称重系统的组成和结构
  16. 三大分析法——SWOT、PEST、波特五力
  17. pandas判断标称型和数值型特征数据
  18. 作文总结思维导图怎么画?分享作文类型总结思维导图模板
  19. Cent OS 7.7 搭建蓝鲸智云社区版5.1.27(2)——标准部署
  20. python第三方包国内镜像网址

热门文章

  1. boost::describe模块宏BOOST_DESCRIBE_PP_FOR_EACH的测试程序
  2. Boost:info hook信息挂钩的测试程序
  3. VTK:可视化之QuadricVisualization
  4. VTK:相互作用之TrackballActor
  5. VTK:图片之ImageNonMaximumSuppression
  6. Qt Creator操作方法
  7. QT的QScriptValue类的使用
  8. 经典C语言程序100例之三五
  9. easypoi 如何合并相同的列,如何在Java中的POI中使用XWPFTable合并单元格(或应用colspan)?...
  10. 26.27.28.29.极区图(南丁格尔玫瑰图)、维恩图 (Venn diagram)、面状图(Area chart)、树地图