ftp 实用户和虚拟用户共存设置

老习惯先吐槽,总共花费接近6个小时,遇到各种奇葩问题,决定把问题记录下来,作为知识储备~

调整前背景:  

  vsftp已有全部为实体用户,不同的用户对不同的目录有权限,但现在由于需求,后续接近上百的用户要使用不同账号,且不同账号对不同目录有不同权限,这种需求创建实体用户是不现实的,且以后做ftp迁移也极为不方便。

操作步骤:

1、修改配置文件 /etc/vsftpd/vsftpd.conf

  user_config_dir=/etc/vsftpd/userconfig (该配置已存在,用于控制用户的不同操作目录)

  guest_enable=YES 开启虚拟用户

  guest_username=ftpvirtual 虚拟用户映射到的实用户ftpvirtual ,即系统用户,用户名称任意

  pam_service_name=vsftpd  pam验证文件,名称任意,但是要和/etc/pam.d/下文件名保持一致,我这边均是vsftpd ,默认。

2、创建被映射的系统用户

#useradd -s /sbin/nologin -d /data/virtual ftpvirtual

#mkdir -p /data/virtual

#chown -R ftpvirtual: /data/virtual/

3、创建虚拟用户 vtest1 vtest2

a、创建虚拟用户文件virtual

#touch virtual

#vim virtual   奇数行是账户名,偶数行是账户密码,!!!用户名和用户密码前后一定不要留空格,我就吃了大亏,好久才查到原因!

添加  vtest1

    vtest1pass

   vtest2

   vtest2pass

b、创建虚拟用户文件库

#db_load -T -t hash -f /etc/vsftpd/virtual /etc/vsftpd/virtual.db  有的系统应该是db4_load ,还没有细追究这些问题,后续补充

此时,可以看到生成了用户db文件virtual.db,这时virtual 文件可以删除,但是保留和可以方便记忆用户名和密码~

4、修改pam验证模块

#vim /etc/pam.d/vsftp 这时可以看到文件中已包含一些数据,这些数据为实用户验证模块,一定要保留,删除后就实用户就会登陆失败!!

在文件开通添加

auth sufficient pam_userdb.so db=/etc/vsftpd/virtual 
account sufficient pam_userdb.so db=/etc/vsftpd/virtual 添加完之后应该是如下图所示:virtual是指步骤3中生成的db文件,但是这里不能加db后缀,会出问题(其中我机器上的用户db文件和文章略有不同virtual_list)

图片中可以看到有两对注释掉的auth account ,据验证都有问题,细节尚未追究,后续补充,貌似require 不能验证通过实用户,后面一对说明auth 和account 对必须要放在原实体验证之前。

5、修改配置文件chroot_list user_list配置文件

#vi chroot_root

添加 ftpvirtual   添加需用户对应的实用户,原因后续补充

#vim userconfig

添加vtest1   若不添加,将报错530  premisson denied

  vtest2

6、配置虚用户的控制目录,以及权限

#mkdir -p /etc/vsftpd/userconfig/vtest1

#mkdir -p /etc/vsftpd/userconfig/vtest2 文件名一定和虚拟用户的名称完全一样

#vim vtest1

添加local_root=/data/virtual/vtest1    vtest1只对vtest1 目录有操作权限,下面各权限若不赋予,
write_enable=yes                            该虚拟用户将不能上传和下载文件,问题也找了半天
download_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_world_readable_only=no

vtest2文件类似

7、 修改虚拟用户操作目录权限

虚拟目录权限全部赋给映射的实用户ftpvirtual 即可

#chown -R ftpvirtual: /data/virtual

8、验证登陆成功

时间: 2024-08-03 17:38:26

ftp 实用户和虚拟用户共存设置的相关文章

vsftp虚拟用户权限设置(转)

vsftp虚拟用户权限设置(转) 首先安装vsftp db-4斯蒂芬个http://hi.baidu.com/phpfool/item/d295fd5f6f960e3d33e0a981mkdir -p /opt/ftp创建用户 useradd -d /opt/ftp virtual创建虚拟用户 vi /etc/vsftp/loguser.txt格式如下用户名 admin密码    admin db_load -T -t hash -f loguser.txt vsftp_login.db 修改/

CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FTP服务器需要安装vsftp服务端软件.我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比

FTP使用MariaDB完成虚拟用户认证

文件传输协议(英文:File Transfer Protocol,:FTP)是用於在上行文件的一套.它属于网络传输协议的应用层.FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长:并且不时的必执行一些冗长的登陆进程. FTP是一个应用层协议,明文传输,使用C/S架构,其服务端监听在21/TCP和20/TCP,21号端口为命令端口即控制端口,20号端

FTP服务-实现vsftpd虚拟用户

前几篇介绍了基础,这篇将具体实现几个案例 实现基于文件验证的vsftpd虚拟用户,每个用户独立一个文件夹 1.创建用户数据库文件 vim /etc/vsftpd/vusers.txt qq centos momo centos 备注:文件内容格式为奇数行为用户名,偶数行为密码 2.设置权限与编译此文件 cd /etc/vsftpd/ db_load -T -t hash -f vusers.txt vusers.db ##编译文件 chmod 600 vusers.db 备注:修改权限是为了安全

在虚拟机上的关于FTP FTP访问模式(虚拟用户模式)

首先你要有vsftpd服务 可以先去yum中下载(当然你要有本地yum仓库) 输入命令: yum  install  vsftpd 下载完成之后打开vsftpd服务 输入命令:systemctl   start vsftpd 好,开始操作 下面我们来讲解一下虚拟用户配置(我们来认识一下虚拟用户,为什么我们需要用虚拟用户,因为更加安全) 首先下载服务 切换至vsftpd程序目录,接下来修改这个文件 将用户名和密码写进去 输入命令:cd  /etc/vsftp 创建用于生成FTP用户数据库的原始帐号

在虚拟机上的FTP FTP访问模式(虚拟用户模式)

虚拟用户模式的帐号口令都不是真实系统中存在的,所以只要配置妥当虚拟用户模式会比本地用户模式更加安全 首先你要有vsftpd服务,可以先去yum中下载(当然你要有本地yum仓库) 输入命令: yum  install  vsftpd 下载完成之后打开vsftpd服务 输入命令:systemctl   start vsftpd 首先下载服务    yum install vsftpd  -y 第1步:建立虚拟FTP用户数据库文件. 切换至vsftpd程序目录,接下来修改这个文件 将用户名和密码写进去

搭建匿名用户与虚拟用户共存的FTP服务器脚本

#!/bin/bash #This is install vsftpd script mount /dev/sr0 /mnt/ yum -y install vsftpd echo "w1123w2123w3123" >/etc/vsftpd/user db_load -T -t hash -f /etc/vsftpd/user /etc/vsftpd/user.db echo "#PAM-1.0auth required pam_usredb.so db=/etc/v

Ubunton下搭建ftp服务器 实现虚拟用户、本地用户、匿名用户的登陆及权限

#在ubunton系统下安装和配置ftp可以说是比较简单的 本篇教程是为了解决一下问题 需要搭建ftp服务器实现三种用户的登陆及权限管理 其中 anon可以自由的到特定的目录里下载东东: stu则可以到特定的目录里上传东东; 而tearcher,则可以对特定的目录里上传.下载东东; admin则可以对stu.teacher的数据进行统一的管理. 另外,做为系统上已经有的本地用户则可以登录自己的home目录. 针对上面的需求,ftp需要开通对匿名用户.本地用户.及虚拟用户的支持.并且特别对虚拟用户

Linux 下 FTP虚拟用户的使用配置

Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用户的权限管理不够灵活.如果想对访问FTP的帐户给予更多的权限,就可以用本地帐户来实现.但是,本地帐户默认情况下是可以登陆Linux系统的,这样对Linux系统来说是一个安全隐患.那么怎么能在灵活的赋予FTP用户权限的前提下,保证FTP服务器乃至整个Linux系统的安全呢?使用虚拟用户就是一种解决办法