如果企业用户太多,创建太多的系统账户显然是不明智,这时候我们就需要利用虚拟账户,vsftpd虚拟账户的数据保存在Berkeley DB格式的数据文件中,所以需要安装db4-utils工具来创建这样的数据文件。以下适用于Linux(contos6,redhat6,oracle linux6)其他尚未测试。

版本7.0以上安装vsftpd没有db4 需要安装

yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI

需要在vsftpd.conf 配置文件添加一行

allow_writeable_chroot=YES

不添加报错

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

错误原因为:

- Add stronger checks for the configuration error of running with a writeable
root directory inside a chroot(). This may bite people who carelessly turned
on chroot_local_user but such is life.

上面是7系统和6不一样的地方,其他配置都一样

1)系统安装完成后配置静态IP

​
vi  /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0
HWADDR=00:0C:29:ED:3B:E5
TYPE=Ethernet
UUID=45ad3dc1-032c-43e4-85e4-6d5ebd9ecc88
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.168      ##根据自己需求更改
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

2)关闭selinux

vi  /etc/selinux/config SELINUX=disabled     ##将enabled改为disabled

3)配置yum

mv  /etc/yum.repos.d/rhel-source.repo  /etc/yum.repos.d/rhel-source.repo.bak    ##重命名源文件vi /etc/yum.repos.d/eld.repo                  ##创建新文件[EL]
name =Linux 6.5 DVD
baseurl=file:///media/Server/
gpgcheck=0
enabled=1
##保存退出mount  /dev/cdrom  /media/                    ##挂载光盘yum list                                      ##测试yum

4)开始安装vsftpd

yum -y install vsftpd                     ##安装vsftpd服务yum -y install db4 db4-utils db4-devel    ##安装虚拟用户数据库相关文件

5)修改vsftpd的PAM验证配置文件

Linux一般都通过PAM设置账户的验证机制,修改login认证配置文件,在文件中的db选项指定并验证账户和密码的数据库文件,注意数据库文件无须.db名称后缀(注意系统版本,如果你是64bit系统,是调用/lib64目录下的模块)估计现在32位用的比较少吧。

vi /etc/pam.d/vsftpd                 ##屏蔽默认的行添加最最下面两行,注意32位系统是/lib目,64位系统是/lib64目录
#%PAM-1.0
#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth
auth required          /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_login
account required      /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_login

6)添加Linux本地用户及虚拟用户名和密码

useradd  -s  /sbin/nologin   ftptest           ##创建Linux本地用户不登录vi /etc/vsftpd/virtual_login                  ##创建虚拟用户文件,注意第一行是虚拟用户,第二行是虚拟用户的密码
test1     ##虚拟用户
testpas   ##虚拟密码
test2     ##虚拟用户
testpas   ##虚拟密码

7)编译文件及修改文件权限

 db_load -T -t hash -f /etc/vsftpd/virtual_login /etc/vsftpd/virtual_login.db      ##编译之前创建的虚拟用户文件为dbchmod 600 /etc/vsftpd/{virtual_login,virtual_login.db}

8)修改vsftpd配置文件

cp  -rp /etc/vsftpd/vsftpd.conf   /etc/vsftpd/vsftpd.conf.bak    ##源配置文件vi  /etc/vsftpd/vsftpd.conf                                      ##修改原配置文件,参数解释请查看本博客内vsftpd简介  https://blog.csdn.net/make_zhf/article/details/73799945
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftptest                              ##注意:这里是步骤(6)创建的Linux本地用户ftptest,不改这里虚拟用户将不能下载文件
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=180
ascii_upload_enable=YES
ascii_download_enable=YESpasv_min_port=5881
pasv_max_port=5886ftpd_banner=Welcome to  ZHOU  FTP service.
chroot_local_user=YES
listen=YESpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=ftptest
user_config_dir=/etc/vsftpd/vsftpuser_conf

9)创建虚拟用户上传文件目录

 mkdir  /testftp/test1 -pmkdir  /testftp/test2 -p

10)创建虚拟用户配置文件目录及虚拟用户配置文件

mkdir   /etc/vsftpd/vsftpuser_conf  -p       #创建虚拟用户文件目录,存放虚拟用户配置文件[root@jenkins vsftpuser_conf]# cd  /etc/vsftpd/vsftpuser_confvi  test1
local_root=/testftp/test1
anon_umask=022
anon_world_readable_only=NO
write_enable=YES
#anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5vi  test2
local_root=/testftp/test2
anon_umask=022
anon_world_readable_only=NO
write_enable=YES
#anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5##注意:创建虚拟用户配置文件内容,用户必要和virtual_login文件用户保持一致

11)启动启动vsftpd服务及修改虚拟用户上传文件目录用户和用户组

service vsftpd restartchown ftptest.ftptest  /testftp  -R          ##linux 本地用户vi  /etc/sysconfig/iptables                           ##添加防火墙规则,放开那21端口,让虚拟用户过来。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPTservice  iptables  restart

vsftpd 虚拟用户详细配置相关推荐

  1. vsftpd 虚拟用户的配置

    一. 安装vsftpd-2.3.4 和 pam-devel (没有这个包,pam就不能认证虚拟用户,必须编译前安装) tar -xzf vsftpd2.3.4.tar.gz make make ins ...

  2. linux之vsftpd虚拟用户搭建

    vsftpd虚拟用户的配置过程 系统版本:Redhat 4.0 1.安装软件包          #rpm -ivh /mnt/RedHat/RPMS/vsftpd...... 2.建立虚拟用户口令库 ...

  3. vsftpd虚拟用户整理

    Vsftpd虚拟用户的配置 第一步.安装 # wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo # yum clean all # y ...

  4. VSFTPD的虚拟用户管理配置

    上一节我们通过系统用户完成了VSFTPD的部署,现在DB工具实现虚拟用户的管理.文章只是自己工作中的使用说明如有写作错误,欢迎大家指出错误.... 三.虚拟用户 需求:建立user1.user2两个用 ...

  5. linux下配置vsftpd虚拟用户为登录用户

    1.安装vsftpd 安装依赖包: yum -y install pam pam-devel db4 de4-devel db4-uitls db4-tcl 新建vsftpd系统用户: #建立Vsft ...

  6. Vsftpd 虚拟用户配置参考---终极版

    Vsftpd 虚拟用户配置文档 一.主要文件列表 虚拟用户列表 account.txt 口令库文件 /etc/vsfptd/account.db PAM认证 /etc/pam.d/vs_1 主配置文件 ...

  7. linux搭建vsftpd虚拟用户访问

    配置vsftpd服务 FTP服务器默认匿名可以访问. 1.搭建yum仓库   [root@accp~]# vim /etc/yum.repos.d/dvd.repo   [server]   name ...

  8. Linux之Vsftpd虚拟用户、扩展应用tcp_wrapper实验总结

    Linux之Vsftpd虚拟用户实验总结 一.vsftpd简介 vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX ...

  9. linux虚拟用户的配置

    1. 建立虚拟用户口令库文件logins.txt<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:of ...

  10. centos创建vsftpd虚拟用户

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

最新文章

  1. 双表查询java代码_什么是JDBC?Java数据库连接性简介
  2. Linux中mysql的卸载和重装,在Linux下面卸载与重新安装Postgresql
  3. 挡土墙计算软件_广联达软件如何计算钢板止水带?
  4. mysql5.6 慢查询_MySQL5.6 如何优化慢查询的SQL语句
  5. 在cell中自定义分割线的小技巧
  6. 通过使用autoruns、procexp、currports相结合,来提高检查效率,清除干净木马病毒。
  7. kms服务器搭建及测试
  8. 985,211,双一流,34所,C9,国防七子,五虎四小龙,五院四系,东南西北中傻傻分不清
  9. 采用KubeSphere的kk,部署安装多节点服务的kubernetes-v1.18.6和kubesphere-v3.0.0的踩坑过程记录,及反思
  10. Quiz-Style Question Generation for News Stories
  11. 易基因|Science:宏基因组测序揭示病原菌介导植物内生菌群抑病功能激活
  12. BAT春晚发红包,A、T宕机3年,为啥2019年百度挺住了?
  13. 探索学习:网红容器引擎Docker
  14. 即构科技肖传发:即刻构建在线教育的音视频互动场景
  15. 【许晓笛】EOS 什么是智能合约(3)
  16. XGBoost参数调优完全指南(附Python代码)
  17. mac vscode插件位置
  18. 使用Anaconda创建新环境下载速度过慢导致失败
  19. safety.php,SafetyFactory.php
  20. 本地方法栈 程序计数器 方法区

热门文章

  1. android7.1获取存储权限,Android外部存储
  2. Awesomium(二)-- MultiThreadSnapshot
  3. python pip工具安装教程
  4. iOS手势缩放字体大小
  5. MATLAB的输入与输出
  6. 【小程序项目分享】多功能抽签分组系统
  7. 服务零售全场景,苏宁机器人“分身有术”
  8. JAVA 连接sftp服务器,用户名密码方式链接(类似于FinalShell以ssh方式链接LINUX)
  9. 【第102期】游戏策划:在校生求职简历怎么写?
  10. icem二维非结构网格划分_ICEM蜗壳非结构网格划分