ubuntu下vsftpd的配置(虚拟用户基于MySQL验证)

本文详细介绍如何在VSFTPD中配置虚拟用户,包括安装VSFTPD、创建MySQL验证数据库、配置PAM认证、设置虚拟用户的权限等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:http://www.wp1998.net/2012/785.html

1.安装vsfptd
apt-get install vsftpd

2.创建验证数据库表。
CREATE DATABASE vsftpd;
create table users(name char(16) binary,passwd char(16) binary);
INSERT INTO `users` (`name`, `passwd`) VALUES ('test1', '123456');

3.安装安装 libpam-mysql
apt-get install libpam-mysql

4.建立虚拟用户所需的PAM配置文件
vim /etc/pam.d/vsftpd.vu
在vsftpd.vu中添加如下信息
auth    required /lib/security/pam_mysql.so user=root passwd=rootadmin host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0
account required /lib/security/pam_mysql.so user=root passwd=rootadmin host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0

5.建立虚拟用户
groupadd ftpd
useradd -g ftpd ftpguest
mkdir /home/vsftpdguest

6.设置vsftpd.conf配置文件
vim /etc/vsftpd.conf
在vsftpd.conf的末尾添加如下配置
local_enable=YES
write_enable=YES
guest_enable=YES              #激活虚拟用户
guest_username=ftpguest       #虚拟用户在linux中的用户名
pam_service_name=vsftpd.vu    #虚拟用户数据文件
user_config_dir=/etc/vsftpd/vsftpd_user_conf    #指定虚拟用户的配置文件的目录
virtual_use_local_privs=YES   #设置为YES时,表示虚拟用户使用与本地用户相同的权限;为NO时,表示虚拟用户与匿名用户权限相同

7.为不同的虚拟用户设置不同的权限
在/etc/vsftpd/vsftpd_user_conf目录中为每个虚拟用户单独的配置文件,配置文件名与虚拟用户名相同。
mkdir /etc/vsftpd/vsftpd_user_conf
vim /etc/vsftpd/vsftpd_user_conf/test1
在文件末尾添加如下配置信息:
local_enable=YES
write_enable=YES
local_root=/home/vsftpdguest/test1   # 设置虚拟用户登录后的主目录
anon_world_readable_only=NO          # 具有浏览FTP目录和下载权限
anon_upload_enable=YES               # 具有上传文件权限
anon_mkdir_write_enable=YES          # 具有建立和删除目录的权利
anon_other_write_enable=YES          # 具有文件改名和删除文件的权利

8.建立用户test1登录时的目录
mkdir /home/vsftpdguest/test1

※若在登录的时候,出现"500 OOPS: cannot change directory:/home/vsftpdguest/test1"这类的信息的话,
首先检查一下,/home/vsftpdguest/test1目录的所有者是否为虚拟用户在linux中的用户名,即:"ftpguest"。

※若在登录的时候,出现了"500 OOPS: vsftpd: refusing to run with writable root inside chroot()",
则需要去掉根目录的写权限。
chmod a-w /home/test3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值