Vsftp与PAM虚拟用户

Vsftp与PAM虚拟用户Vsftp与PAM虚拟用户使用yum安装vsftpyum install vsftpd pam pam-* db4 db4-* 创建一个保存用户及密码的文件cd /etc/vsftpd/ touch virtual_login 添加用户(一行用户一行是密码)vim  virtual_login dongnan nandong

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

Vsftp与PAM虚拟用户



使用yum 安装vsftp

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

Jetbrains全家桶1年46,售后保障稳定


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

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


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

 
 
 
  1. vim  virtual_login 

dongnan

123456

将文本内的帐号及密码添加到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.  
  3. echo -n ' 
  4. auth    required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/virtual_login 
  5. account required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/virtual_login 
  6. >> /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

#被动连接的端口号(建议使用被动模式,这样iptables可控制)

pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10020
#设定禁止上传文件更改宿主
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. vim /etc/vsftpd/chroot_list 

dongnan


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

 
 
 
  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 

修改vsftpd的默认端口


1.编辑 /etc/vsftpd/vsftpd.conf 文件,在该配置文件中添加此行:listen_port=801
2.编辑 /etc/services 文件,将其中的 ftp 21/tcp 改为 ftp 801/tcp , ftp
21/udp
改为 ftp 801/udp
3.执行 /etc/init.d/vsftpd restart 重新启动 vsftpd 服务。启动完成后可以使
用 netstat -ntpl | grep vsftpd 命令可以查看到系统现
监听的 vsftpd 的端口为 801

yum install ftp 安装ftp命令
4.使用 ftp 192.168.0.1:801(192.168.0.1 是 vsftpd 服务器的地址 ),然后输入账号密码dongnan、123456 

这样既可以访问到 ftp 服务器了。




参考
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等服务。

 

本文出自 “dongnan” 博客,请务必保留此出处http://dngood.blog.51cto.com/446195/1094079

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226849.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue数组拼接[通俗易懂]

    vue数组拼接[通俗易懂]例如目前有一组需求,后端传过来的数组里面包含经度,纬度两个属性。我们在前端展示的时候需要把他们放在一个表单直接上图

    2022年5月4日
    49
  • vue:详解vue中的代理proxy

    vue:详解vue中的代理proxy问题我们本地调试一般都是 npmrunserve 然后打开本机 ip 8080 localhost 8080 对吧 这时候我们要调接口调试 后端的接口的地址可能在测试环境 也可能是自己电脑的 ip 总之不是你的 lcoalhost 8080 那么你调接口就会产生跨域 那么怎么办呢 就需要 proxy 出场了复习一下跨域的解决方案 jsonpcorsNod 中间件代理 两次跨域 nginx 反向代理 CORS 支持所有类型的 HTTP 请求 是跨域 HTTP 请求的根本解决方案 JSONP 只支持 GET 请求

    2025年7月29日
    3
  • 服务器的系统和NAS有啥区别,nas和云服务器区别「建议收藏」

    服务器的系统和NAS有啥区别,nas和云服务器区别「建议收藏」nas和云服务器区别内容精选换一换没有区别。创建整机镜像有三种方式:使用云服务器创建、使用云服务器备份创建,以及使用云备份创建。使用备份创建镜像与使用云服务器创建镜像原理一样。云服务器创建镜像时,先为云服务器创建备份,再通过备份创建镜像,中间过程为系统自动完成的。所以二者没有区别。云耀云服务器与弹性云服务器的主要区别:云耀云服务器:云耀云服务器是可以快速搭建简单应用的新一代云服务器,云耀云服务器…

    2022年6月30日
    22
  • 数仓ODS层建设_实时数仓架构

    数仓ODS层建设_实时数仓架构一、ODS层辨析ODS全称是OperationalDataStore,即操作数据存储。1.InmonVSKimballBill.Inmon的定义:ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。而Kimball的定义:操作型系统的集成,用于当前、历史以及其它细节查询(业务系统的一部分);为决策支持提供当前细节数据(数据仓库的一部分)。2.ODSVSDB

    2022年10月5日
    2
  • Python入门习题(40)——CCF CSP认证考试真题:报数游戏「建议收藏」

    Python入门习题(40)——CCF CSP认证考试真题:报数游戏「建议收藏」CCFCSP认证考试真题(201712-2):游戏问题描述解题思路参考答案测试用例小结问题描述试题编号: 201712-2试题名称: 游戏时间限制: 1.0s内存限制: 256.0MB问题描述  有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。  游戏开始,从1…

    2025年9月1日
    6
  • Clipper库中文文档(ClipperLib)

    Clipper库中文文档(ClipperLib)中文文档链接:https://love2.io/@martinchan3/doc/ClipperDocCNGit仓库:https://github.com/MartinChan3/ClipperDocCNClipper是计算机图形学中常用的库,支持Delphi、C++、C#等多种语言。之前看英文原文文档(http://www.angusj.com/delphi/clipper/docu…

    2025年5月25日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号