vsftp 用户_linux虚拟用户

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

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

Jetbrains全系列IDE稳定放心使用

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

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/189804.html原文链接:https://javaforall.net

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


相关推荐

  • 基于JavaWeb网上商城(以卖书为主)

    基于JavaWeb网上商城(以卖书为主)本文章是JavaWeb课程的课程设计1.项目概况1.1课题背景、目的及意义1.1.1课题背景随着互联网的普及和电子商务的兴起,网上图书销售是互联网电子商务在图书销售行业中的必然结果,这种新型的图书销售形式越来越受人们的欢迎,正在以不可阻挡的气势替代着传统的图书销售模式。与其传统销售模式相比拥有许多优势,一是降低了销售成本,二是利用互联网作为交易平台,是的交易活动不受时间和空间的限制,…

    2022年7月8日
    20
  • C#最简单最完整的webservice实例「建议收藏」

    C#最简单最完整的webservice实例「建议收藏」
     在我博客已经 有了,不想再重复,可以去看看
     http://fyinthesky.blog.163.com/blog/static/3555251720110115227337/

    2022年7月21日
    13
  • 几款连接redis的客户端(GUI客户端),下面记录了我使用的几款

    几款连接redis的客户端(GUI客户端),下面记录了我使用的几款几款连接redis的客户端(GUI客户端),下面记录了我使用的几款一、Redis客户端1、命令行工具命令行(建议使用,简单)比如windows的cmd和Linux、Mac的Terminal,虽然最简单好用。必须保证有redis-cli命令(windows是redis-cli.exe),比如通过安装redis就会有这个命令。2、桌面客户端RediNav(windows桌面客户端,MacOS客户端,根本不能用)评价:垃圾,完全不能用,无论win还是mac平台!我写在

    2022年9月19日
    0
  • Java课程设计—中国象棋(源代码及视频)「建议收藏」

    谢谢大家的支持,您的一键三连是罡罡同学前进的最大动力!一键三连一键三连一键三连一键三连一键三连一键三连传送地址数据结构课程设计——校园导游系统(C语言):B站视频:https://www.bilibili.com/video/BV1ui4y137X9CSDN源码:https://blog.csdn.net/m0_46625346/article/details/107149473Java课程设计——中国象棋B站视频:https://www.bilibili

    2022年4月8日
    49
  • RewriteCond 详解[通俗易懂]

    RewriteCond 详解[通俗易懂]RewriteCond重写规则执行条件语法:RewriteCondTestStringCondPattern生效域:serverconfig,virtualhost,directory,.htaccess特别的上面的TestString,可提供反向引用.引用模式为:%N其中N为(0&lt;=N&lt;=9),引用当前若干Rew…

    2022年6月14日
    36
  • python——正则表达式(re模块)详解

    python——正则表达式(re模块)详解在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re。正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。3.如果表达式中有量词或边界,这个过程会稍微有一些不同。r:在带有’r’前缀的字符串字面值中,反斜杠不必做任何特殊处理。因此r”\n”表示包含’\’和’n’两个字符的字符串,而”\n”则表示只包含一个换行符的字符串。re模块的

    2022年5月17日
    48

发表回复

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

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