ftp 虚拟用户

一、概述

为何用虚拟用户

虚拟用户只能访问服务器提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性

二、软件安装

1.安装vftpd:yum或者编译安装都可以
2.安装生成口令认证文件所需要的软件db4-utils
yum install db4-utils db4-devel -y

三、配置

本地数据文件方式【也可使用mysql】

(1)添加虚拟用户口令文件[奇数行为用户名,偶数行为密码]

vim /etc/vsftpd/vftpuser.txt
aaa #用户名
ugCLC5kkGdWbNI #密码

(2)生成虚拟用户口令认证文件

将刚添加的vftpuser.txt,使用db_load命令生成虚拟用户口令认证文件

db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
chmod 0600 /etc/vsftpd/vftpuser.*

(3)编辑vsftpd的PAM认证文件

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_bak
vim /etc/pam.d/vsftpd

#其他都注释掉,添加下面这两行,lib库对应系统位数:

32位
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
64位
auth    required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

(4)建立本地用户映射并设置宿主目录权限

所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

useradd -d /opt/vuser_worker -s /sbin/nologin vftpuser

(5)配置vsftpd.conf(设置虚拟用户配置项)

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
guest_enable=YES     #启用虚拟用户
guest_username=vftpuser #将虚拟用户映射为本地用户
listen=YES
user_config_dir=/etc/vsftpd/vusers_dir
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

(6)创建虚拟用户工作路径

mkdir /opt/vuser_worker
chown vftpuser.root /opt/vuser_worker/ -R

(7)为指定虚拟用户建立独立的配置文件

mkdir /etc/vsftpd/vusers_dir/
vim /etc/vsftpd/vusers_dir/ftp1
local_root=/opt/vuser_worker/
write_enable=YES
anon_upload_enable=NO
anon_world_readable_only=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_umask=022

(8)重启vsftpd服务

service vsftpd restart
时间: 2024-10-10 13:12:40

ftp 虚拟用户的相关文章

Linux 下 FTP虚拟用户的使用配置

Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用户的权限管理不够灵活.如果想对访问FTP的帐户给予更多的权限,就可以用本地帐户来实现.但是,本地帐户默认情况下是可以登陆Linux系统的,这样对Linux系统来说是一个安全隐患.那么怎么能在灵活的赋予FTP用户权限的前提下,保证FTP服务器乃至整个Linux系统的安全呢?使用虚拟用户就是一种解决办法

使用linux FTP虚拟用户搭建FTP服务器

最近接触一个项目,客户需要搭建一台FTP服务器.具体要求是:系统采用red hat 6.4 64位操作系统:创建20个ftp用户,这些用户拥有自己独立的工作目录,并且有上传.下载.删除等权限:创建一个ftp管理用户,这个用户拥有管理以上20个ftp用户目录的权限. 仔细一看要求单单使用本地用户设置属组和文件目录权限控制的方法很难实现以上要求,于是想到使用ftp虚拟用户,而且ftp虚拟用户安全性高,不能登录系统,只能访问ftp服务器. 下面开始在自己的虚拟机环境中根据客户的要求搭建ftp服务器.

配置FTP虚拟用户访问

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

linux下利用脚本添加ftp虚拟用户并赋予权限

首先ftp配置应为虚拟用户登录模式 用户密码文本目录为/etc/vsftpd/vftpuser,代码如下: 1 #!/bin/bash 2 # 3 if [ $# -ne 2 ] //限制用户只能完整输入一组用户名和密码.在用户密码文本中奇数行为用户名,偶数行为密码. 4 then echo "Please input a set of username and password" 提示"请输入一组用户名和密码" 5 exit 1 6 fi 7 8 for user

Linux FTP虚拟用户创建

(1)cd /etc/vsftpd/(2)vim vuser.list创建用户zhaosi和liwu 密码均为redhat(奇数行为帐户名,偶数行为密码)(3)db_load -T -t hash -f vuser.list vuser.db(4)file vuser.db(5)chmod 600 vuser.db(6)rm -f vuser.list(7)设置/var/ftproot/为本地用户家目录(8)chmod -Rf 755 /var/ftproot/赋予家目录权限(9)vim /et

Vsftpd安装以及配置FTP虚拟用户实践

安装vsftpd #查看当前系统版本 [[email protected] vsftpd]# cat  /etc/redhat-release CentOS release 6.7 (Final) #安装 yum  install  vsftpd  -y #开机启动 chkconfig  vsftpd   on 基于虚拟用户和被动模式的配置 [[email protected] vsftpd]# cat  vsftpd.conf anonymous_enable=NO listen=YES li

RHEL7 -- Linux搭建FTP虚拟用户

安装vsftpd软件包 [[email protected] ~]# yum install vsftpd -y [[email protected] ~]# yum install db4 db4-utils 建立vsftpd服务的宿主用户 [[email protected] ~]# useradd vir -s /sbin/nologin 创建日志文件 [[email protected] ~]# touch /var/log/vsftpd.log [[email protected] ~

[vsftp服务]——ftp虚拟用户、权限设置等的实验

搭建ftp服务器,满足以下要求: 1.允许匿名用户登录服务器并下载文件,下载速度设置为最高2MB/s 2.不允许本地用户登录ftp服务器 3.在服务器添加虚拟用户vuser01.vuser02.vuser03,密码自己设置.其中: (1)vuser01用户的下载速度最高为3MB/s,vuser02为4MB/s,vuser03为5MB/s: (2)vuser01可以进行文件上传,但不能进行其它操作: (3)vuser02可以上传和创建目录: (4)vuser03可以进行上传.创建文件和删除文件:

ftp虚拟用户的配置

实验环境: 1.操作系统:centos 6.6 x86_64 2.vsftpd版本为系统自带 3.IP地址为:192.168.10.136 步骤如下: 1.首先安装vsftpd [[email protected] ~]# yum -y install vsftpd 2.创建虚拟用户数据库 [[email protected] ~]# touch /etc/vsftpd/ftpusr.txt ◆.首先设置用户和密码 [[email protected] ~]# cat /etc/vsftpd/f