centos6.5下,使用虚拟ftp用户

因为业务的问题,有位客户的账户总是出现各种问题,本人对于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,端口占用,以及云平台的安全组等方面是否都设置好了。

原文地址:https://www.cnblogs.com/cnqfz/p/8855185.html