vsftpd-and -mysql配置笔记

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
angelus
帖子: 445
注册时间: 2007-08-27 17:31
送出感谢: 0
接收感谢: 0
联系:

vsftpd-and -mysql配置笔记

#1

帖子 angelus » 2008-06-18 19:39

这是根据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的权限,通过这种配置,可以设定特定用户的权限)
---------------------------
好了,说的很多,下边就自己实验下吧
上次由 angelus 在 2008-06-23 22:40,总共编辑 4 次。
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
jerrroy
帖子: 65
注册时间: 2008-05-30 14:11
送出感谢: 0
接收感谢: 0

#2

帖子 jerrroy » 2008-06-20 14:47

lftp :~> open xubuntu.vicp.net
open: xubuntu.vicp.net: Name or service not known
ftp关了吗? :D
头像
jinsaiuser
帖子: 100
注册时间: 2007-10-10 9:25
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 jinsaiuser » 2008-06-20 14:56

学习
收藏了!
angelus
帖子: 445
注册时间: 2007-08-27 17:31
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 angelus » 2008-06-20 20:32

系统重新作了,自己也肚子不舒服加发烧,就拖了点时间,
现在已经恢复了,加了注册和查看log,因为身体还很难受,功能很简单,大家将就看下吧!
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
tisswb
帖子: 5
注册时间: 2006-06-16 0:12
送出感谢: 0
接收感谢: 0
联系:

Re: vsftpd-and -mysql配置笔记

#5

帖子 tisswb » 2008-11-14 15:34

帖子相当好,最近又来研究了一番,看了不少楼主的帖子,发现以前自己写的内容还是太不仔细了
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
送出感谢: 0
接收感谢: 0
联系:

Re: vsftpd-and -mysql配置笔记

#6

帖子 Jarson » 2009-03-19 0:50

学习,写得比较清晰易懂 :em11
opelia
帖子: 16
注册时间: 2010-09-10 0:19
送出感谢: 0
接收感谢: 0

Re: vsftpd-and -mysql配置笔记

#7

帖子 opelia » 2010-09-15 23:04

有成功的吗
头像
newnetexr
帖子: 163
注册时间: 2010-01-23 23:38
送出感谢: 0
接收感谢: 0
联系:

Re: vsftpd-and -mysql配置笔记

#8

帖子 newnetexr » 2010-09-16 12:02

看着就觉得麻烦啊,还是pure-ftpd+mysql方便
回复

回到 “服务器基础应用”