这是根据tisswb文章与网上的结合测试的
tisswb文章地址:
viewtopic.php?t=124658
vsftpd与数据库结合是非常必要的,文本存储用户适合仅提供ftp服务的小型企业
联系紧密的有ftp与web的结合,比如,只提供给注册用户一定的ftp权限
就需要ftp与数据库配合运行,另外ftp的日志仅用文本看,将会是件很头疼的事情,但把ftp日志写入数据库,然后使用web页面组织输出,或软件处理输出将会把事情变的更简单容易,需要的来试试吧!个人认为很必要!!!
这里给大家一个测试地址
http://apt-get.vicp.net/itweb
在里边注册,然后实验去登录vsftpd或是查看日志记录
ftp://apt-get.vicp.net
vsftpd安装配置略过
一:准备工作
------------------
安装mysql
sudo apt-get install mysql
安装pam-mysql认证库
sudo apt-get install libpam-mysql
建立虚拟用户的替身,virtual用户
sudo useradd virtual
修改virtual的密码
sudo passwd virtual
加强virtual用户安全
sudo vim /etc/passwd
在最后边找到virtual用户定义,修改成不允许登录 /bin/false
------------------
二:配置mysql数据库
这里有两个分支,为有gui界面与只有纯终端
1,有gui界面,建立数据库vsftpd,表user
建立字段name与passwd,并写入简单数据
建立数据库用户,virtual并给予给user表的查询权限
(记得连接实验下,这里不说具体步骤是因为gui界面操作都不一样,具体可以查资料)
2,纯终端(最实用,也最难掌握,全是命令)
这里就不多说了,有条件可以在第二台机子上使用基于web的phpmyadmin工具编辑
------------------
三:处理pam-mysql认证文件
使用命令复制并重新命名认证文件
sudo cp /usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd
(把例子复制出来,并改名为vsftpd)
修改认证文件内容,使vsftpd可以连接上mysql,编辑/etc/pam.d/vsftpd文件
sudo vim /etc/pam.d/vsftpd
修改内容为:
auth required /lib/security/pam_mysql.so user=virtual passwd=“virtual对应数据库的密码” host=localhost db=vsftpd table=user usercolumn=name passwdcolumn=passwd crypt=2
account required /lib/security/pam_mysql.so user=virtual passwd=“virtual对应数据库的密码” host=localhost db=vsftpd table=user usercolumn=name passwdcolumn=passwd crypt=2
user 访问数据库用户名
passwd 访问数据库用户密码
host 数据库主机
db 数据库名
table 表名
usercolumn 用户列名
passwdcolumn 密码列名
crypt 密码验证机制;0 代表明文,1 代表DES 加密,2 代表Mysql的password()函数加密,
3代表md5算法,4代表sha加密。
-------------------------
四:(终于到跟配置文件有关的地方了)vsftpd.conf
需要虚拟用户登录有关的配置为:
local_enable=YES (这个不要忽略了,虚拟用本质还是本地用的投影)
guest_enable=YES (允许虚拟用户登录)
guest_username=virtual (定义虚拟用户用那个本地用户投影)
virtual_use_local_privs=yes/no (定义虚拟用户使用那种约束,本地还是匿名)
pam_service_name=vsftpd (这个是验证在/etc/pam.d文件中需要使用文件的名字)
user_config_dir=/etc/vsftpd (每一个用户单独配置文件存放地)
local_umask=xxx (最好在主配置文件中去掉)
-------------------------
五:在/etc/vsftpd中建立一个和mysql中user表name字段一样的一个用户单独配置文件
比如,sky用户,在/etc/vsftpd中建立文件sky
sudo vim /etc/vsftpd/sky (没有vsftpd目录就需要建立)
输入内容:
local_root=/home/ftp
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anno_other_writer_enable=YES
anon_umask=022
(上边的意思:单独的配置sky的权限,通过这种配置,可以设定特定用户的权限)
---------------------------
好了,说的很多,下边就自己实验下吧
vsftpd-and -mysql配置笔记
-
- 帖子: 445
- 注册时间: 2007-08-27 17:31
vsftpd-and -mysql配置笔记
上次由 angelus 在 2008-06-23 22:40,总共编辑 4 次。
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
理查德-费曼
-
- 帖子: 65
- 注册时间: 2008-05-30 14:11
- jinsaiuser
- 帖子: 100
- 注册时间: 2007-10-10 9:25
-
- 帖子: 445
- 注册时间: 2007-08-27 17:31
-
- 帖子: 5
- 注册时间: 2006-06-16 0:12
- 联系:
Re: vsftpd-and -mysql配置笔记
帖子相当好,最近又来研究了一番,看了不少楼主的帖子,发现以前自己写的内容还是太不仔细了
- Jarson
- 帖子: 2371
- 注册时间: 2008-07-21 9:44
- 来自: 深圳
- 联系:
-
- 帖子: 16
- 注册时间: 2010-09-10 0:19
- newnetexr
- 帖子: 163
- 注册时间: 2010-01-23 23:38
- 联系: