vsftp虚拟用户

两种方式建立Vsftpd虚拟用户

我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。

匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。

本地用户登录:使用系统用户登录,在/etc/passwd中。

虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。

FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。

一、本地数据文件方式

1. 添加虚拟用户口令文件

[[email protected] /]#vi /etc/vsftpd/vftpuser.txt

添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。

bobyuan #用户名

123456 #密码

markwang #用户名

123456 #密码

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

将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。

首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。

[[email protected] /]#rpm –qa |grep db4-utils
[[email protected] /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm

下面使用db_load命令生成虚拟用户口令认证文件。

[[email protected] /]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db

3. 编辑vsftpd的PAM认证文件

在/etc/pam.d目录下,

[[email protected] /]#vi /etc/pam.d/vsftpd

将里面其他的都注释掉,添加下面这两行:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

(标注出注意:必须保证这两个文件是存在的,否则pam模块是加载不到的)

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

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

[[email protected] /]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser
[[email protected] /]#chmod 700 /home/vftpsite

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

[[email protected] /]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP虚拟用户对应的系统用户
pam_service_name=vsftpd #PAM认证文件
user_config_dir=/etc/vsftpd/vsftpd_user_conf

 对不同虚拟用户设置不同权限
# mkdir /etc/vsftpd/vsftpd_user_conf
# vim /etc/vsftpd/vsftpd_user_conf/user1 (建立用户单独配置文件,文件名就是用户名)
local_root=/home/ftp/user1 #这里的虚拟用户目录可以根据实际情况修改
write_enable=YES
virtual_use_local_privs=YES #虚拟用户具有写权限(上传、下载、删除、重命名)
在 vsftpd.conf 添加以下参数配置项:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
 禁锢FTP用户在宿主目录
将需要禁锢的用户名写入“vsftpd.chroot_list”文件
# vim /etc/vsftpd.chroot_list
user1
user2
在 vsftpd.conf 添加以下参数配置项:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

6. 重启vsftpd服务

[[email protected] /]#service vsftpd restart

7. 测试虚拟用户登录FTP

C:\User\Administrator>ftp 192.168.120.240
连接到192.168.120.240。
220 Welcome to BOB FTP server
用户(192.168.120.240(none)):markwang
331 Please specify the password.
密码:
230 Login successful.

备注:virtual_use_local_privs参数
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

时间: 2024-10-28 21:47:05

vsftp虚拟用户的相关文章

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虚拟用户登录配置详解

一.安装: 1.安装Vsftpd服务: # yum install vsftpd 2.安装DB4部件包: 这里要特别安装一个db4的包,用来支持文件数据库. # yum install db4-utils 二.系统帐户 1.建立Vsftpd服务的宿主用户: # useradd vsftpd -s /sbin/nologin 默认的Vsftpd的服务宿主用户是root,但是这不符合安全性的需要.这里建立名字为vsftpd的用户,用他来作为支持Vsftpd的服务宿主用户.由 于该用户仅用来支持Vsf

vsftp虚拟用户权限设置(转)

vsftp虚拟用户权限设置(转) 首先安装vsftp db-4斯蒂芬个http://hi.baidu.com/phpfool/item/d295fd5f6f960e3d33e0a981mkdir -p /opt/ftp创建用户 useradd -d /opt/ftp virtual创建虚拟用户 vi /etc/vsftp/loguser.txt格式如下用户名 admin密码    admin db_load -T -t hash -f loguser.txt vsftp_login.db 修改/

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

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

配置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`

vsftp 虚拟用户

首先安装vsftp db-4wiki mkdir -p /opt/ftp 创建用户 sudo useradd virtual -d /opt/ftp -s /bin/false sudo chown virtual:virtual /opt/ftp 创建虚拟用户 vi /etc/vsftpd/loguser.txt 格式如下(用户名) admin(密码) admin db_load -T -t hash -f loguser.txt vsftp_login.db 修改/etc/pam.d/vsf

Vsftp虚拟用户配置

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

vsftp虚拟用户权限问题

前面写的一篇文章<vsftp 实现不同用户不同权限配置>没有对虚拟用户的权限做解释,今天补一篇详细解释一下 virtual_use_local_privs=NO      #匿名用户不具有本地用户的权限,看不到目录中的文件,即不可浏览. anon_world_readable_only=NO     #匿名用户可以浏览FTP目录和下载文件 anon_upload_enable=YES            #允许匿名用户上传文件 anon_mkdir_write_enable=YES    #

Linux下Vsftp虚拟用户配置不同权限

RHEL5.5  VSFTP2.0.5虚拟用户配置不同权限 linux下使用vsftp搭建ftp服务器,同时建立虚拟账号,为不同的账号分配不同的权限,以下配置测试通过. 系统版本 2.vsftpd版本 如果在系统安装时没有安装vsftpd服务,则后期可以通过yum进行安装或者使用rpm包.tar包进行手动安装,具体安装过程此处不做详解,安装完成之后,查看vsftpd的服务状态 3.配置vsftpd.conf文件   修改之前备份 修改下面的配置文件    关闭匿名登录 开启ascii上传下载功能

vsftp 虚拟用户配置

我的系统是centos6.5 64位 目的是用虚拟用户访问ftp,传输文件.不同用户限定在自己的目录.下面开始配置: 一.安装vsftpd和db4-utils #yum -y install vsftpd  #vsftpd软件 #yum -y install db4-utils  #生成虚拟用户认证数据文件命令 二.配置vsftpd #vim /etc/vsftpd/vsftpd.conf listen_port=21                      #端口 listen=YES