因为业务的问题,有位客户的账户总是出现各种问题,本人对于acl的使用又不是很会,所以和同事一起研究了一下这个虚拟ftp用户。

Centos6.5

1 需求

为了保证系统的安全性,现对系统中vsftpd服务进行调整,主要为禁止OS本地账户直接登录,采用虚拟账户;设置两个虚拟账户,一个用于上传更新(可读可写),一个用于下载(仅读);ftp根目录/var/ftp/pub保持不变(可扩展)

一:基本知识

1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器

2:vsftp的服务进程是vsftpd

3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .

4:vsftpd的用户文件是/etc/vsftpd/ftpusers

5:vsftpd的用户文件是/etc/vsftpd/user_list

6:推荐使用虚拟用户登入vs-FTP服务器

二、安装vsftp

1,查看是否安装vsftpd服务

rpm –qa| grep vsftpd

2,安装vsftpd服务

yum -y install vsftpd

3,检查服务器selinux是否开启,如果开启,关闭selinux

/usr/sbin/sestatus –v

三、配置虚拟用户

1, 创建虚拟用户文本文件,添加虚拟用户和密码

cd /etc/vsftpd/

touch vuser.txt

vim vuser.txt(奇数行是用户名,偶数是密码)

2, 生成虚拟数据库文件(*如果db_load没有安装,yum install db4-utils db4-devel db4-4.3安装才能使用。)

db_load –T –t hash –f /etc/vsftpd/vuser.txt  /etc/vsftpd/vuser.db

3, 配置PAM文件,目的是对客户端进行验证, 编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:

auth                 required     pam_userdb.so   db=/etc/vsftpd/vuser

account              required     pam_userdb.so   db=/etc/vsftpd/vuser

*不能写成db=/etc/vsftpd/vuser.db

4, 修改虚拟数据库文件vuser.db的权限为 700

chmod   700  vuser.db

5, 增加一个系统用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用系统用户来访问ftp服务器

mkdir  /ftpdir

useradd  -d  /ftpdir -s /sbin/nologin vuser

chown  vuser.vuser  /ftpdir

6, 修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器,增加以下参数, 注意:“=”两边不能有空格

guest_enable=YES                ####激活虚拟账户

guest_username=vuser           ####把虚拟账户绑定为系统账户vuser

pam_service_name=vsftpd        ####使用PAM验证

user_config_dir=/etc/vsftpd/vsftpd_user_conf ##设置虚拟用户的主配置文件

7, 建立vsftpd_user_conf

mkdir   /etc/vsftpd/vsftpd_user_conf

8, 设置虚拟用户配置文件,与虚拟账户同名

touch  /etc/vsftpd/vsftpd_user_conf/admins_user

9, 编辑虚拟账户lowkeyman的配置文件lowkeyman,是虚拟账户lowkeyman获得相应的权限

anon_world_readable_only=NO               ###浏览FTP目录和下载

anon_upload_enable=YES                      ###允许上传

anon_mkdir_write_enable=YES                ###建立和删除目录

anon_other_write_enable=YES                ####改名和删除文件

local_root=/ftpdir/                                 #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录

10,service vsftpd restart (测试各个虚拟用户的权限是否生效)

不好用的情况下,请注意本机的selinux,iptables,端口占用,以及云平台的安全组等方面是否都设置好了。

centos6.5下,使用虚拟ftp用户的更多相关文章

  1. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  2. 170116、centos6.4下nginx和ftp搭建图片服务器

    一.需要的组件 图片服务器两个服务: Nginx(图片访问): 1.http服务:可以使用nginx做静态资源服务器.也可以使用apache.推荐使用nginx,效率更高. 2.反向代理 实现 负载均 ...

  3. 记录一次centos6.4版本的VSFTP本地用户登陆的配置

    其实vsftp是一个非常常用而且简单的服务,但是假如服务不是你配置的前者没有留下参考档案,的确是件头疼的事儿,特此记录下. 首先是vsftp的安装当然安装有源码的编译和yum等 这里我选择rpm包的y ...

  4. CentOS6.3下搭建vsftpd(采用虚拟用户设置)

    CentOS6.3如果在安装的时候所有安装选项都打勾的话就含有单间vsftpd必备的软件:vsftpd.pam*.db4* 检查是否安装: [root@centos6 ~]# rpm -qa | gr ...

  5. 烂泥:ubuntu下vsftpd虚拟用户配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我微信ilanniweb. 以前搭建vsftpd都是在centos下,本以为在ubuntu按照以前的步骤搭建即可.可 ...

  6. Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

  7. CentOS6.5下搭建FTP服务

    一.FTP协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一.FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FT ...

  8. linux下建ftp用户,并限制用户访问路径[转]

    目的是:在linux系统上建立ftp用户,并限制其通过ftp访问时,只能访问用户主目录:其主目录显示路径也是“/”,看不到上级目录.     例如,我要建立用户usertest,密码为usertest ...

  9. centos6.8下普通用户下quartus编程识别不到用户开发板

    前言 centos6.8下su用户下可以识别到用户的板子,能正常下板,而普通用户下无法探测到用户板子. 需要配置一下usb-blaster,不然的话,虽然quartus软件能识别,但是无法探测到FPG ...

随机推荐

  1. python之使用多个界定符分割字符串

    主要是正则的编写 mport re line = 'asdf fjdk; afed, fjek,asdf, foo' # \s 匹配任意空白符,正则意思:分隔符可以是逗号,分号或者是空格,并且后面紧跟 ...

  2. Django之ModelForm操作

    一.ModelForm的使用 顾名思义,ModelForm就是将Model与Form进行绑定,Form有自动生成表单的作用,但是每一个forms字段需要自己手动填写,而Model就是数据库表包含了所有 ...

  3. rest framework之限流组件

    一.自定义限流 限流组件又叫做频率组件,用于控制客户端可以对API进行的请求频率,比如说1分钟访问3次,如果在1分钟内超过3次就对客户端进行限制. 1.自定义限流 假设现在对一个API访问,在30s内 ...

  4. Hibernate与Mybatis的简单区别

    数据库连接创建.释放频繁造成系统的资源浪费从而影响系统性能,可以使用数据库连接池解决此问题,之前的java应用程序sql语句也是写在java代码中造成系统可维护性差,实际应用的sql变化较大,sql变 ...

  5. Mysql学习笔记(001)-常见命令

    常见命令 SHOW DATABASES; /* use test; create database myemployees; use myemployees; create table employe ...

  6. window.navigator.userAgent

    只读属性 Window.navigator 会返回一个 Navigator 对象的引用,可以用于请求运行当前代码的应用程序的相关信息.window可以省略.来自navigator对象的信息具有误导性, ...

  7. 页面background不随滚动条填充颜色

    这我又遇到了个问题,这问题我连问都不知道该怎么问,先搁在这儿,如果有办法了,再来补充. 原因:因为颜色板块是100%宽度,和页面保持同宽,所以拖动滚动条,右侧就大于了页面宽度. bug:  我写页面的 ...

  8. J2EE学习篇之--JQuery技术详解

    前面我们讲解了的J2EE的技术都是服务端的技术,下面我们来看一下前端的一些开发技术,这一篇我们来看一下jQuery技术 简介: jQuery由美国人John Resig创建,至今已吸引了来自世界各地的 ...

  9. 拆边+BFS队列骚操作——cf1209F

    这个拆边+队列操作实在是太秒了 队列头结点存的是一个存点集的vector,1到这个点集经过的路径权值是一样的,所以向下一层拓展时,先依次走一遍每个点的0边,再走1边...以此类推,能保证最后走出来的路 ...

  10. 预处理+状态压缩+剪枝——codefoece 1209E

    那一步剪枝实在是没想到 #include<bits/stdc++.h> using namespace std; #define N 2005 struct Col{ ],Max[< ...