当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : ubuntu804server+vsftpd+mysql详细
帖子发表于 : 2008-11-21 12:20 

注册: 2007-10-09 20:40
帖子: 66
送出感谢: 0 次
接收感谢: 0 次
ubuntu+vsFTPd+mysql+多用户
作者:空位
实例测试:空位

注:不懂MYSQL的人就不用往下看了,因为好多MYSQL的教程本人省略不做说明;

说明:网上搜一堆的东西没几个不是一样的内容,非常郁闷,所以自己来亲手实例并写下此教程。(也有可能是我太笨了,)
说明:用MYSQL,是为了方便用户可以自己修改密码而已

一、UBUNTU 8.041安装教程(略)
二、安装vsFTPd (UBUNTU下是可以apg-get 安装的.本教程均采用ROOT用户为例#,如为$请在所有命令前加上sudo)

1\安装
#apg-get install vsftpd
注:vsftpd安装的时候会自动安转一个用户名为:ftp密码为:ftp的用户。可以将其删除,(因为谁也不想用默认的用户名和密码的)

2\删除vsftpd默认生成的FTP用户:
#vim /etc/passwd
注:不会用vim编辑器的人可以用自己喜好的工具进行编辑

3\创建自己的FTP帐号和密码(注:可以理解为vsFTPd运行所需的帐号和密码)
#useradd kongwei -d /var/www -s /bin/false
(解:#useradd kongwei新建一个叫kongwei的用户)
(解:-d /var/www 帐号的目录,也就是你FTP的目录)
(解:-d /bin/false 使此帐号不能登陆系统)
注:此新建的用户可以理解为vsFTPd运行所需的帐号和密码

4\设置kongwei的密码
#passwd kongwei
例:我们设为:cctvftp

三、MYSQL安装程(略)

四、在MYSQL中新建FTP多用户的数据库(先用已有管理权限MYSQL帐号登陆MYSQL ,并创建数据库)
mysql>;create database vsftp;
mysql>;use vsftpd;

五、在mysql中vsftp库中建立表。
mysql>;create table users(name varchar(100) binary,passwd varchar(100) binary);

六、在users表中建立两个用户(也就是插入两条数据)
   mysql>;insert into users (name,passwd) values ('test1',password('123456'));
   mysql>;insert into users (name,passwd) values ('test2',password('654321'));
  
七、新建MYSQL帐号kongwei 密码为cctvftp 并赋于他能读取vsftpd库的权限,并退出MYSQL登陆
mysql>;grant select on vsftp.users to kongwei@localhost identified by 'cctvftp';
mysql>;quit

八、安装mysql的PAM验证

1\安装
#apt-get install libpam-mysql

九、设置vsftpd的PAM验证文件

1\装vsftpd.pam 复制到/etc/pam.d/vsftpd
#cp /usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd

2\编辑vsftpd
#vim /etc/pam.d/vsftp (注:不会用vim编辑器的人可以用自己喜好的工具进行编辑)

3\编辑内容替换如下
auth required /lib/security/pam_mysql.so user=kongwei passwd=cctvftp host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

account required /lib/security/pam_mysql.so user=kongwei passwd=cctvftp host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
注:这里懂MYSQL的人都看得懂,所以不做多讲
说明:crypt= 0为不加密,1为使用UNIX系统的DES加密,2为mysql的password()函数加密,3为使用md5的散列方式。

十、配置vsftpd.conf

1\编辑vsftpd.conf
#vim /etc/vsftpd.conf

2\里面加入如下两行,必要的
guest_enable=YES
guest_username=kongwei
user_config_dir=/etc/vsftpd_user_conf

3\其它参数自己配或照我的来


pam_service_name=vsftpd #验证方式

tcp_wrappers=YES #是否可以使用tcp_wrappers防火墙

anonymous_enable=NO #允许匿名使用FTP?

local_enable=YES #允许本地系统用户登陆

chroot_local_user=YES #你可以限制本地用户的主目录。

guest_enable=YES #为关键选项,必须开启

guest_username=kongwei #一个后建的本地用户,不能登陆系统的那个

virtual_use_local_privs=YES #当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,
虚拟用户使用与匿名用户相同的权限

user_config_dir=/etc/vsftpd_user_conf #各用户配置目录

listen=YES #运行

listen_port=5637 #端口
user_sub_token=$USER

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999



十一、配置FTP用户(俗称的虚拟用户)

1\先建立保存的文件夹
#mkdir /etc/vsftpd_user_conf

2\在vsftpd_user_conf建立用户文件
#vim /etc/vsftpd_user_conf/test1 (注:文件名和表里的用户要一样)

3\文件里的内容是:

#主目录
local_root=/var/www/test1
#开放匿名用户浏览权限
anon_world_readable_only=NO
#取消任何形式的FTP写入命令。
write_enable=YES
#开放上传权限
anon_upload_enable=YES
#可创建目录的同时可以在此目录中上传文件
anon_mkdir_write_enable=YES
#FTP上本地的文件权限,默认是077,您可以改为022
local_umask=022

4\说明:每一个用户要对立一个文件。如上,并且文件名要和数据库表里的用户为一样

十二、忘了权限了(补上)

#chown kongwei.kongwei /var/www
#chmod 755 /var/www


十三、重启即可使用

#/etc/init.d/vsftpd restart



楼下提的VSFTPD的问题已修正,本教程绝对可用,(可能是写得不够细,自行研究吧,仅供参考;本人多次架构均无问题)


最后由 iliaojie 编辑于 2009-09-24 15:23,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: ubuntu804server+vsftpd+mysql详细
帖子发表于 : 2008-11-21 15:19 

注册: 2008-10-28 15:46
帖子: 36
送出感谢: 0 次
接收感谢: 0 次
VSFTPD 装上后,FTP 服务不是就能用了吗?
再加个mysql, 有什么优势呢?


页首
 用户资料  
 
3 楼 
 文章标题 : Re: ubuntu804server+vsftpd+mysql详细
帖子发表于 : 2008-11-24 22:52 

注册: 2007-10-09 20:40
帖子: 66
送出感谢: 0 次
接收感谢: 0 次
web admin


_________________
Ubuntu-Server群:11032329
Ubuntu群:48982199未满 33653414满


页首
 用户资料  
 
4 楼 
 文章标题 : Re: ubuntu804server+vsftpd+mysql详细
帖子发表于 : 2008-11-25 10:33 

注册: 2008-11-25 10:20
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
五、在mysql中vsftpd库中建立表。
mysql>;create table users(name char(16) binary,passwd char(16) binary);

六、在users表中建立两个用户(也就是插入两条数据)
   mysql>;insert into users (name,passwd) values ('test1',password('123456'));
   mysql>;insert into users (name,passwd) values ('test2',password('654321'));

这两条一看就是错的 41个字符的密码用16个字符 能登陆ftp才怪


页首
 用户资料  
 
5 楼 
 文章标题 : Re: ubuntu804server+vsftpd+mysql详细
帖子发表于 : 2009-05-29 22:28 
头像

注册: 2007-12-05 18:32
帖子: 62
送出感谢: 0 次
接收感谢: 0 次
引用:
auth required /lib/security/pam_mysql.so user=kongwei passwd=cctvftp host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
account required /lib/security/pam_mysql.so user=kongwei passwd=cctvftp host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2


这里面好像楼主有写错的地方:

db=vsftp,在上面建立数据库的时候是vsftpd,现在变成了vsftp,楼主在哪copy的吧


页首
 用户资料  
 
6 楼 
 文章标题 : Re: ubuntu804server+vsftpd+mysql详细
帖子发表于 : 2009-09-02 12:05 
头像

注册: 2007-01-30 7:13
帖子: 1446
送出感谢: 4
接收感谢: 0 次
写得比较模糊。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: ubuntu804server+vsftpd+mysql详细
帖子发表于 : 2009-12-04 23:10 
头像

注册: 2009-03-19 9:19
帖子: 1423
地址: 江苏
送出感谢: 0 次
接收感谢: 2
学习了


_________________


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Sogou [Spider] 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译