centos7 安装vsftpd安装和配置以及虚拟用户权限分配

系统环境 centos7.3 版本

ftp 根目录 : /data/ftp
ftp 配置文件目录:/etc/vsftpd
ftp 虚拟用户权限配置文件目录:/etc/vsftpd/vuser_config

实现目标:

1,匿名用户可以登录,但是不能访问虚拟用户的宿主目录,只能访问共享目录
2,虚拟用户对自己的宿主目录有任何权限,且只能在自己宿主目录中操作



1,安装vsftpd和db_load加密工具


1

2

3

4

5

6


#要关闭selinux 和防火墙或者开启允许的端口,不然访问会有问题

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config #修改配置文件

setenforce 0  #临时关闭

systemctl stop firewalld.service #关闭防火墙

yum install vsftpd db4-utils -y

2,创建本地用户[用于映射虚拟用户]


1

2

3

4

5

6

7


#建立ftp用户目录

mkdir -p /data/ftp

#创建用户

useradd -d /data/ftp vuser -s /sbin/nologin

更改权限和主组权限

chmod 755 /data/ftp

chown vuser.root /data/ftp

3,创建虚拟用户[用户和密码]文件


1

2

3

4

5


vim /etc/vsftpd/vuser-list

jin [用户名]

123456 [密码]

jinc [用户名]

123123 [密码]

4,加密用户密码文件生成数据库文件


1

2

3

4


cd /etc/vsftpd/

db_load -T -t hash -f ./vuser-list ./vuser-list.db

chmod 600 vuser-list.db

5,创建PAM认证文件


1

2

3

4


vim /etc/pam.d/vuser.vu

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser-list    #注意64位系统写/lib64这个路径,32位系统要写成/lib,下同!

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser-list

6,修改配置文件


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39


vim /etc/vsftpd/vsftpd.conf

#允许匿名用户访问

anonymous_enable=yes

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

#修改ftp默认目录到/data/ftp下面

chroot_local_user=YES

local_root=/data/ftp

anon_root=/data/ftp

#pam认证文件

pam_service_name=vuser.vu

#虚拟用户权限配置目录

user_config_dir=/etc/vsftpd/vuser_config

userlist_enable=YES

tcp_wrappers=YES

allow_writeable_chroot=YES

one_process_model=NO

#开启虚拟用户

guest_enable=YES

guest_username=vuser

重启vsftpd服务

systemctl restart vsftpd.service

7,创建虚拟用户[权限]配置文件


1

2

3

4

5

6

7

8

9

10

11

12

13

14


cd /etc/vsftpd/vuser_config

vim jin [有所有权限]

local_root=/data/ftp/jin #设置登录后禁锢的目录

write_enable=yes #开放写权限

anon_world_readable_only=no #开放下载权限

anon_upload_enable=yes #开放上传权限

anon_mkdir_write_enable=yes #开放创建目录的权限

anon_other_write_enable=yes #开放删除和重命名的权限

vim jinc [只有上传下载的权限]

local_root=/data/ftp/jinc

anon_upload_enable=yes

anon_world_readable_only=no

8,更改虚拟用户目录权限


1

2

3


#如果不更改的话,匿名用户是可以访问到的

chmod 700 jin

chmod 700 jinc

9,访问测试:[先在用户文件夹中建个测试的文件夹或文件,方便识别]

匿名访问

登录jin 用户访问:

登录jinc 用户访问:



错误1:226 Transfer done (but failed to open directory)
解决:selinux 和防火墙导致

错误2:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
解决:配置文件中加入 allow_writeable_chroot=YES 针对标准vsftpd(standonly)模式, 然后重启ftp

时间: 2024-10-06 00:07:37

centos7 安装vsftpd安装和配置以及虚拟用户权限分配的相关文章

安装vsftpd+pam+mysql实现对虚拟用户身份认证功能

安装vsftpd+pam+mysql来实现对虚拟用户身份认证功能 事项说明:在这里vsftpd直接使用yum  -y  install   vsftpd来直接安装的:mysql是使用通用二进制格式安装的,使用的版本为mysql-5.5.28.这里不再介绍安装步骤,前面已经详细介绍过.由于vsftpd需要借助pam模块到mysql数据库中检索用户名和密码,在这里还需要安装pam-mysql模块,才能实现pam到mysql中完成用户名和密码的认证功能. 一.安装所需要程序 1.事先安装好开发环境和m

centos5.8 安装配置vsftp虚拟用户

vsftp因为公司时不时要用,也不是经常弄ftp,不常用就老是忘记有些东西,所以就在网上查些资料和自己遇到的一些问题结合起来写一个文档,以后需要使用ftp的时候搭建比较方便,使用虚拟用户不用担心用户登录服务器,你想让他在那个目录呆着就在那,而且修改权限方便,每个用户需要什么权限可以不同的修改,可以满足多方面的需要,所以推荐使用虚拟用户.第一次写博文,如有错误请指教! 1.查看安装包 [[email protected] ~]# rpm -qa | grep vsftpd vsftpd-2.0.5

Linux下vsftpd安装以及配置FTP虚拟用户实践

首选的FTP服务器搭建方式 安装vsftpd #查看当前系统版本 cat /etc/redhat-release  CentOS release 6.6 (Final)  #查看是否已经安装vsftpd rpm -qa | grep vsftpd #如果没有,就安装,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on 基于虚拟用户的配置 所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的.虚拟用户不能登录CentOS系统.

vsftpd的基于pam_mysql的虚拟用户配置示例      

第一步:安装vsftpd和mariadb ~]# yum install mariadb-server ~]# yum install vsftpd 因为中CentOS 7平台上/lib64/security/中没有pam_mysql模块驱动,需要编译安装pam_mysql这个模块. 准备编译环境 安装Development Tools 和 service platform Development这两个包组,另外需要安装依赖到的开发包pam-devel,openssl-devel,mariadb

VSFTP配置<二> ---虚拟用户的搭建

VSFTP 在两台主机上虚拟用户的实现 实验环境:    主机1:    172.16.66.82   [VSFTP服务器]        OS:        CentOS 6.6        vsftp:        vsftpd-2.2.2-12.el6_5.1.x86_64            pam_mysql:    pam_mysql-0.7-0.12.rc1.el6.x86_64    主机2:    172.16.66.81    [数据库服务器,存储用户账号密码]  

创建vsftpd服务器基于mysql的虚拟用户认证

简单罗列基础命令,只分享我的想法! 一.目的 要求:配置允许虚拟用户访问的vsftpd服务器,虚拟用户存储在另一台MySQL的服务器上面,虚拟用户账号有两个分别是tom和jerry,密码是tom和jerry,要求对这两个账户的权限做一下限制(根据实际的要求,自己调节). 环境:MySQL服务器(172.16.49.1),CentOS 6.6和MariaDB-5.5.43.另一台是通过yum安装vsftpd(192.168.0.22),OS是CentOS 6.6. MySQL是通用二进制格式安装,

配置FTP虚拟用户访问

直接使用本地用户(Linux系统的用户账户)来访问vsftpd服务器可能带来安全问题,变通的方法是使用虚拟用户(virtual user)来作为专门的FTP账户.FTP虚拟用户并不是操作系统的用户账户,不能登入系统,只能访问FTP服务器,对操作系统的影响更小.虚拟用户主要用来访问提供给非信任用户,但又不适合公开的内容. PAM(Pluggable Authentication Modules)是一套身份验证共享库,用于限定特定应用程序的访问.使用PAM身份验证机制可以实现vsftpd的虚拟用户功

vsftpd基于数据库文件实现虚拟用户管理站点目录

vsftpd基于数据库文件来实现虚拟用户管理站点目录: ftp授权单个系统用户管理(此用户要禁止登陆服务器),虚拟出多个虚拟用户来管理不同的站点目录 一环境:(1)关闭selinux,centos6.8 x_86_64开启防火墙,放开ftp的端口 (2).存放虚拟用户的密码文件[[email protected] vsftpd]# cat /etc/vsftpd/vsftpd_logindrxiaowu ##账户ZkJxu55rt9 ##密码yanyonGZk&aO=+w09xiaowuZk&am

配置vsftp虚拟用户登陆的上传下载

为了系统的安全,创建vsftp虚拟用户,其本身在Linux系统中存在一个映射账号,该账号不允许登录系统,其它虚拟账号通过数据库映射到该账号. 紧接着上次的实验,进行vsftp虚拟用户的配置.网址如下 http://blog.51cto.com/13760226/2140963 实验环境:linux6.5.虚拟win7/10 `vim /etc/vsftp` //进入vsftp目录 `vim vuser` //创建文本 `db_load -T -t hash -f vuser vuser.db`