centos 7虚拟用户访问FTP

在vsftpd服务中,虚拟用户被默认作为匿名用户进行处理以降低权限,因此对应的配置项通常以anon_开头。
基本搭建过程如下:

cent OS7搭建基于虚拟用户的FTP服务

1、创建文本格式的用户名/密码列表
文本中奇数行为用户名,偶数行为上一行中用户所对应的密码。如:执行以下操作添加两个用户mike、john,密码分别为123,456

新建一个文本:

cent OS7搭建基于虚拟用户的FTP服务

输入用户名和密码:

cent OS7搭建基于虚拟用户的FTP服务

2、创建Berkeley DB格式的数据库文件

有了文本格式的用户名/密码列表文件后,以此文件作为数据源通过db_load工具创建Berkeley DB格式的数据库文件:

cent OS7搭建基于虚拟用户的FTP服务

在db_load命令中,-f 选项用于指定数据源文件,-T 选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据文件, “ -t hash ” 选项指定读取数据文件的基本方法。

为了保证数据安全,可以将文件权限设置为 “600” ,避免数据外泄:

cent OS7搭建基于虚拟用户的FTP服务

3、添加虚拟用户的映射账号、创建FTP根目录:

如以下操作添加了一个名为 “test” 的系统用户账号(此账号无须设置密码及登录shell),并结合实际情况更改目录权限,指定的宿主目录,默认是所有虚拟用户的根目录(可以最后对每个用户的配置文件单独设置)

cent OS7搭建基于虚拟用户的FTP服务

4、为虚拟用户建立PAM认证文件

vsftpd服务默认的PAM认证文件位于 /etc/pam.d/vsftpd ,可以执行以下操作在/etc/pam.d目录下建立一个名为vsftpd.vu的PAM认证文件,用于虚拟用户认证控制。


cent OS7搭建基于虚拟用户的FTP服务

cent OS7搭建基于虚拟用户的FTP服务

以上内容,通过 “ db=/etc/vsftpd/vusers”参数指定了要使用的虚拟用户数据库文件位置(省略了.db扩展名)

5、为不同的虚拟用户建立独立的配置文件(为了给不同虚拟用户设置不同的权限,若所有的虚拟用户权限一致,则可忽略这一步)

cent OS7搭建基于虚拟用户的FTP服务

打开后写入相应权限

cent OS7搭建基于虚拟用户的FTP服务

保存退出后,并以同样的方式建立其他用户的独立的配置文件。

6、更改 /etc/vsftpd/vsftpd.conf 的配置文件如下:

cent OS7搭建基于虚拟用户的FTP服务

以上各主要配置项字段含义如下:
anonymous_enable=NO:禁止匿名用户访问;
local_enable=YES:允许本地系统用户访问;
write_enable=YES:启用任何形式的写入权限,(如上传、删除文件等)都需要开启此项;
local_umask=022:设置本地用户所上传的默认权限掩码;
listen=NO:是否以独立运行的方式监听服务;
pam_service_name=vsftpd.vu:设置用于用户认证的PAM文件位置;
guest_username=test:指定映射的系统用户名称;
guest_enable=YES:是否启用虚拟用户;
allow_writeable_chroot=允许被限制用户的主目录具有写权限(此项必须写入,否则可能会报错)
anon_world_readable_only=NO:允许用户下载目录内容
anon_other_write_enable=YES:允许匿名用户有其他写入权限,如重命名、覆盖及删除文件等;
user_config_dir=/etc/vsftpd/vusers_dir:指定虚拟用户独立的配置文件目录

若都有一样的权限,直接在上面这个配置文件写入就好,若有不一样的权限,可以写入到用户单独的配置文件中,也可在在用户单独的配置文件中指定新的根目录

保存退出配置文件后,执行systemctl start vsftpd启动ftp服务即可使用。

                                  -----关于ftp所有配置项的详细解释

                                        -----关于匿名用户:

anonymous_enable=YES:是否允许匿名访问;
anon_umask=022:设置匿名用户所上传文件的默认权限掩码值(反掩码);
anon_root=/var/ftp:设置匿名用户的FTP根目录;
anon_upload_enable=YES;是否允许匿名用户上传文件;
anon_mkdir_write_enable=YES:是否允许匿名用户由创建目录的写入权限;
anon_other_write_enable=YES:是否允许匿名用户有其他写入权限,如对文件改名、覆盖及删除文件等;
-----关于本地用户:

local_enable=YES:是否允许本地用户访问;
local_umask=022:设置本地用户所上传文件的默认权限掩码值(反掩码);
local_root=/var/ftp:设置本地用户的FTP根目录(默认为用户的宿主目录);
chroot_local_user=YES:是否将FTP本地用户禁锢在宿主目录中;
allow_writeable_chroot=YES:允许被限制用户的主目录具有写权限;
local_max_rate=0:限制本地用户的最大传输速率(0为无限制),单位为字节/秒(B/s)
-----关于全局配置:

listen=NO: 是否以独立运行的方式监听服务;
listen_address=0.0.0.0:设置监听f t p服务的ip地址;
listen_port=21:设置监听ftp服务的端口号;
write_enable=YES:启用任何形式的写入权限,(如上传、删除文件等)都需要开启此项;
download_enable=YES:是否允许下载文件(建立仅限于浏览、上传的FTP服务器时,可将此项设置为“NO”);
dirmessage_enable=YES:用户切换进入目录时显示 “.message”文件(如果已存在)的内容;
xferlog_enable=YES:启用xferlog日志,默认记录到 /var/log/xferlog;
xferlog_std_format=YES:启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式;
connect_from_port_20=YES:允许服务器主动模式(从20端口建立数据连接);
pasv_enable=NO:禁止被动模式连接;默认允许被动模式连接;
pasv_max_port=24600:设置用于被动模式的服务器最大端口号;
pasv_min_port=24500:设置用于被动模式的服务器最大端口号;
pam_service_name=vsftpd.vu:设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名);
userlist_enable=YES:是否启用userl_ist用户列表文件;
userlist_deny=YES:是否禁用user_list列表文件中的用户账号;
max_clients=0:最多允许多少个客户端同时连接(0为无限制);
max_per_ip=0:对来自同一个ip地址的客户端,最多允许多少个并发连接(0为无限制);
tcp_wrappers=YES:是否启用tcp_wrappers主机访问控制;
-----关于虚拟用户的配置项:

guest_username=test:指定映射的系统用户名称;
guest_enable=YES:是否启用虚拟用户;
allow_writeable_chroot=允许被限制用户的主目录具有写权限(此项必须写入,否则可能会报错)
anon_world_readable_only=NO:允许用户下载目录内容
anon_other_write_enable=YES:允许匿名用户有其他写入权限,如重命名、覆盖及删除文件等;
user_config_dir=/etc/vsftpd/vusers_dir:指定虚拟用户独立的配置文件目录;

原文地址:https://blog.51cto.com/14227204/2385985

时间: 2024-11-04 11:37:14

centos 7虚拟用户访问FTP的相关文章

Linux Centos 通过虚拟用户访问FTP的配置

Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目录. ftp1-3的带宽速率限制在500KB,davidge用户不限制带宽. 系统环境: [root@cent7-184 ~]# uname -r 3.10.0-229.el7.x86_64 [root@cent7-184 ~]# cat /etc/redhat-release CentOS Lin

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

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

通过MySQL实现虚拟用户访问vsftpd服务器

声明 作者:昨夜星辰 博客:http://yestreenstars.blog.51cto.com/ 本文由本人创作,如需转载,请注明出处,谢谢合作! 目的 通过MySQL实现虚拟用户访问FTP服务器. 配置 # 安装本次实验所用到的所有软件包 yum -y install vsftpd mysql-server mysql-devel pam-devel gcc-c++ make wget # 启动mysqld服务 service mysqld start # 初始化数据库管理员密码 mysq

Centos下安装FTP并进行虚拟用户访问方式配置

1.准备工作 yum install pam* yum install db4* 首先安装PAM(用于用户认证)和DB4(用于生成虚拟用户的用户名密码的db文件). 2.安装vsftpd yum install vsftpd 设置vsftpd开机启动: chkconfig vsftpd on 通过chkconfig --list 查看启动项 3. 配置vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_u

centos 7搭建基于虚拟用户的FTP服务

该博文主要记录了centos 7中使用vsftpd服务的虚拟用户配置过程,即将一个真实的系统用户映射为多个虚拟用户. 部署vsftpd虚拟用户的思路: 过程如下: 建立虚拟FTP用户的账号数据库文件. 创建FTP根目录及虚拟用户映射的系统用户. 建立支持虚拟用户的PAM认证文件. 在vsftpd.conf文件中添加支持配置. 为个别虚拟用户建立独立的配置文件. 重新加载vsftpd配置. 使用虚拟FTP账户访问进而测试是否成功. 该博文是最初写博文时,写过的一篇博文,当初不懂排版,截图比较多,导

搭建FTP服务,实现三种方式的访问:1.匿名访问;2,本地用户访问;3虚拟用户访问。

FTP服务(File Transfer Protocol,文件传输协议)是典型的C/S结构 的应用层协议,需要由服务端软件,客户端软件两部分共同实 现文件传输功能.既可以在局域网使用,又可以在广域网使 用.在Windows系统中,常见的FTP服务器软件包括FileZilla Sener, Serv-U等,而在linux系统中,vsftpd是目前在linux/UNIX领域 应用 十分广泛的一款FTP服务软件本次实验主要讲解vsftpd,在虚拟机上以redhat6.5为服务端,Windows7为客户

mysql实现vsftp虚拟用户访问

使用MYSQL实现VSFTP虚拟用户访问 1.查看是否安装 mysql 安装包,没有就使用yum安装一下 2.查看是否安装vsftpd 软件包 如果没有就是用yum安装一下 3.查看mysql和ftp 服务是否为开机自启动如果不是就使用chkconfig 设置一下 4.登陆数据库 5.创建数据库名字vsftp 注意是后面使用分号 6.使用数据库vsftp并创建ftpuser 表 7.查看创建的ftpuser 是否成功,已经创建成功 8.插入数据名字为 yuri  和 kebo  密码为 1234

安装vsftp,虚拟用户访问

安装vsftp虚拟用户访问 安装主机:192.168.0.25 一.安装ftp 1.查看是否安装了vsftp rpm -qa | grep vsftpd 2.未安装vsftp,则执行下列命令安装 yum -y install vsftpd 二.修改vsftpd.conf配置文件 vi /etc/vsftpd/vsftpd.conf 修改下面配置 anonymous_enable=NO (不允许匿名用户登陆) local_enable=YES (允许本地用户登录) write_able=YES (

最简洁粗暴版的虚拟用户配置FTP

最简洁粗暴版的虚拟用户配置FTP yum安装FTP: yum install vsftpd pam* db4* -y 设置为系统服务:chkconfig –level 35 vsftpd on 2.vsftpd 开启: /etc/init.d/vsftpd start 或者 service vsfptd start 重启:service vsftpd restart 3.配置虚拟用户本地数据组用户登录 3.1配置/etc/vsftpd/vsftpd.conf 3.2配置 /etc/pam.d/v