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

vsftpd服务器同时支持匿名用户、本地用户和虚拟用户三类用户账号,使用虚拟用户账号可以提供集中管理的FTP根目录,方便了管理员的管理,同时将用于FTP登录的用户名、密码与系统用户账号区别开,进一步增强了FTP服务器的安全性。

1、在/etc/vsftpd/vsftpd.conf加入或者更改以下配置语句:


代码如下:

anonymous_enable=NO (当然你也可以设成YES,同时允许匿名用户登陆)
local_enable=YES (必须置YES,因为虚拟用户是映射到virtual这个本地用户来访问的)
guest_enable=YES(启用虚拟用户)
guest_username=virtual(第5步中创建,将虚拟用户映射为本地virtual用户)
pam_service_name=vsftpd.vu(第2步中创建,指定PAM配置文件,文件已经在/etc/pam.d/存在)
user_config_dir=/etc/vsftpd/user_conf(第7,8步中创建,指定不同虚拟用户配置文件的存放路径)

2、在/etc/pam.d/中修改文件vsftpd.vu, 对比修改内容:


代码如下:

auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login    
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

(/etc/vsftpd/vsftpd_login 在第3,4步中创建,用户账号密码数据库文件)

3、建立用户列表/tmp/logins.txt 内容如下


代码如下:

web (帐号)
****** (用户密码)
download (帐号)
******* (用户密码)
admin (帐号)
******* (用户密码)

注意:不要有空行,一行账号 一行密码;奇数行为帐号,偶数行为密码

4、建立访问者数据文件(如果没有可以安装:yum install db4-utils)
#db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd/vsftpd_login.db

5、建立本地虚拟用户:


代码如下:

#useradd -d /home/ftp -s /sbin/nologin virtual

6、在/home/ftp/创建目录并改变其属性和它的宿主


代码如下:

#chown virtual /home/ftp
#chmod 700 /home/ftp

7、创建ftp用户配制文件目录:/etc/vsftpd/user_conf


代码如下:

#mkdir /etc/vsftpd/user_conf

8、在/etc/vsftpd/user_conf目录中创建以用户名命名的配置文件web、download、admin

“download”文件内容如下:


代码如下:

local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)
anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)

“admin”文件内容如下:


代码如下:

local_root=/home/ftp
anon_world_readable_only=NO
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)

“web”文件内容如下:


代码如下:

local_root=/var/www
anon_world_readable_only=NO
anon_umask=022 (由于web页面的特殊性,故单独设置上传文件权限为755,此掩码值可根据具体情况更改)
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)

9、最后,重新启动VSFTPD


代码如下:

#/etc/init.d/vsftpd restart

(0)

相关推荐

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

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

  • 建立基于虚拟用户的VSftpd服务

    上一篇文章给大家介绍了Linux中搭建FTP服务器的方法,说了vsftpd的基本配置,也就是匿名和本地,这回来说一下配置虚拟用户使用vsftpd,下面是具体步骤: 一.建立虚拟用户口令文件 可以使用vi命令创建一个用户口令文件,该文件是一个文本文件,其中奇数行为用户,偶数行为用户密码,文件名可以任意,如我建立一个名为login.txt的文件文件里的内容为: a abc123~ b abc123~ 其中a和b为用户,abc123~为用户的密码. 二.生成vsftpd口令认证文件 建立虚拟用户口令文

  • FTP虚拟用户的使用方法

    虚拟用户原理 因为在linux之下,使用vsftp建立用户之后,默认使用ftp访问的时候,是会访问到对应的用户家目录.如果想多个用户同时访问某一个目录,同时对同一目录下有着不同的权限,比如部分用户只能看,不修改,或者有的用户只能下载不能上传这些权限,这些设定只能通过vsftp中的虚拟用户来进行设定,普通的用户无法达到这样的效果. 故先通过建立一个普通系统用户,建立家目录,然后将所有的虚拟用户映射到对应的普通系统用户家目录中,然后再对各虚拟用户进行权限控制,达到上述的效果. 新建用户 新建用户ma

  • vsftpd 虚拟用户配置步骤

    yum -y install vsftpd*yum -y install db4*============================================================================先建立一个包含虚拟用户名及其口令的文本文件 , 然后在此基础上生成虚拟用户口令库文件 :#vim logins.txt 添加以下信息 ( 单数行为用户名 , 偶数行为口令 ) : 123     // 用户名 456     // 密码 :wq        //

  • VSFTPD配置(匿名——本地用户——虚拟用户)

    1,下载VSFTPD.TAR.GZ 程序下载地址:ftp://vsftpd.beasts.org/users/cevans/ 2,检查和建立相应账户和目录 1,nobody用户 [root@main vsftpd-2.1.0]# cat /etc/passwd |grep nobody nobody:x:99:99:Nobody:/:/sbin/nologin 如不存在请建立相关账户. 2,/usr/share/empty 目录, 如不存在请创建 3,如允许匿名访问,需创建Ftp用户,家目录为/

  • 构建基于虚拟用户的vsftpd服务器应用

    安装: [root@server ~]# yum install -y vsftpd [root@server ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd /etc/pam.d/vsftpd /etc/rc.d/init.d/vsftpd /etc/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_conf_migrat

  • PureFTPd+Mysql+PHP_Manager实现虚拟用户磁盘限额的配置方法

    在安装PureFTPd以前,要做好以下准备工作: 1. 安装FreeBSD4.9系统. 2. 定制内核,在内核中加入"options QUOTA"以实现用户配额的支持(注:其他*nix系统如何实现,请各位自己搜索实现.) 3. 安装好APACHE+PHP平台,因为我们后面要用PHP_Manager实现用户在线管理.(注:关于这个安装的内容网上有很多教程,在FreeBSD下可以直接用PORTS方式安装就可以了.) 做好以上准备工作之后,我们就可以开始进入真正的安装过程了. (注:以下安装

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

    vsftpd服务器同时支持匿名用户.本地用户和虚拟用户三类用户账号,使用虚拟用户账号可以提供集中管理的FTP根目录,方便了管理员的管理,同时将用于FTP登录的用户名.密码与系统用户账号区别开,进一步增强了FTP服务器的安全性. 1.在/etc/vsftpd/vsftpd.conf加入或者更改以下配置语句: 复制代码 代码如下: anonymous_enable=NO (当然你也可以设成YES,同时允许匿名用户登陆)local_enable=YES (必须置YES,因为虚拟用户是映射到virtua

  • sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解

    废话不多说了,直接给大家贴代码了,具体代码如下所示: --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL Server,且不能更改分配给它们的权限. --可以在数据库中不存在用户帐户的情况下向固定服务器角色分配登录. --按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述: --1.Bulkadmin:这个服务器角色的成员可以运行BULKINSERT语句.这条语句允许从文本文件中将数据导入到SQL

  • 在VMWare虚拟机上安装Centos7系统的步骤详解

    安装前工作: 确保已经安装好vmware workstation,准备好centos安装包. 以下演示安装工具及版本: VMware Workstation Pro 15.5.0 CentOS-7-x86_64-DVD-1908 安装步骤: 1.    选择左上角文件,新建虚拟机: 2.    选择自定义,并点击下一步:[从左往右依次读] 3.       一直点击下一步,到完成为止: 4.       编辑虚拟机设置,设置镜像位置:[从左往右依次读]      5.       点击开启此虚拟

  • C语言sizeof与字符串处理与动态内存分配及main函数参数详解

    目录 常用的字符串处理函数(标准库里面的) sizeof 求字节运算符 动态内存分配函数 main的参数问题 常用的字符串处理函数(标准库里面的) strlen : 用来求一个字符串的长度 #include <string.h>                     size_t strlen(const char *s);                @s : 指向要计算的那个字符串的首地址                     “const char *” : 表示在函数调用过程中,

  • JSP 获取用户的真实IP两种实现方法详解

    JSP 获取用户的真实IP两种实现方法详解 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿

  • tomcat的webapps目录下的应用删除部署详解

    目录 1.tomcat9的webapps下应用的访问 2. 进一步:删除webapps下所有目录,只留自己应用 2.1 删除说明 2.2 需要删除的内容 3. 小结 1.tomcat9的webapps下应用的访问 tomcat9的server.xml文件中 <Host>下需要加一段: <Context docBase="/xxx/tomcat9/webapps/xxx" path="/" reloadable="true">

  • Ubuntu 16.04与Apache虚拟主机配置的步骤详解

    前言 众所周知在window下,Apache的配置文件是httpd.conf,但在Linux下安装了Apache后发现其配置并不像window下那么简单,Linux下Apache将各个设置项分在了不同的配置文件中,想想也是有很大的理由的,这样子可以使用户在开发过程中自由的搭配其不同的功能模块,更好的提高效率,不过,如果不事先了解Apache,可能在配置时蒙圈. Ubuntu中Apache的配置文件是//etc/apache2/apache2.conf.Apache在启动时会找到这个文件并自动读取

  • oracle用户权限管理使用详解

    一.系统的默认用户 1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是sys.登录语句:SQL> conn sys/sys as sysdba; 2)system用户是管理操作员,权限也很大.具有sysoper角色,没有create database的权限,默认的密码是manager.登录语句:SQL> conn system/manager; 3)sys和system这两个用户最大的区别是在于有没有create datab

  • 微信小程序中做用户登录与登录态维护的实现详解

    总结 大家都知道,在开发中提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户信息的纯工具软件. 让用户登录,标识用户和获取用户信息,以用户为核心提供服务,是大部分小程序都会做的事情.我们今天就来了解下在小程序中,如何做用户登录,以及如何去维护这个登录后的会话(Session)状态.下面来看看详细的介绍: 在微信小程序中,我们大致会涉及到以下三类登录方式: 自有的账号注册和登

  • MySQL用户与权限的管理详解

    本文实例讲述了MySQL用户与权限的管理.分享给大家供大家参考,具体如下: 用户连接到MySQL,可以做各种查询,这都是MySQL用户与权限功能在背后维持着操作. 用户与数据库服务器交互数据,分为两个阶段: (1)你有没有权连接上来 (2)你有没有权执行本操作 1.你有没有权连接上来 服务器如何判断用户有没有权连接上来? 依据: 1)你从哪里来?host 2)你是谁?user 3)你的密码是多少?password 用户的这三个信息,存储在mysql库中的user表中. 修改host域,使IP可以

随机推荐