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的问题已修正,本教程绝对可用,(可能是写得不够细,自行研究吧,仅供参考;本人多次架构均无问题)
ubuntu804server+vsftpd+mysql详细
-
- 帖子: 66
- 注册时间: 2007-10-09 20:40
- 联系:
ubuntu804server+vsftpd+mysql详细
上次由 iliaojie 在 2009-09-24 15:23,总共编辑 2 次。
-
- 帖子: 36
- 注册时间: 2008-10-28 15:46
Re: ubuntu804server+vsftpd+mysql详细
VSFTPD 装上后,FTP 服务不是就能用了吗?
再加个mysql, 有什么优势呢?
再加个mysql, 有什么优势呢?
-
- 帖子: 66
- 注册时间: 2007-10-09 20:40
- 联系:
-
- 帖子: 2
- 注册时间: 2008-11-25 10:20
Re: ubuntu804server+vsftpd+mysql详细
五、在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才怪
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才怪
- taotaox
- 帖子: 62
- 注册时间: 2007-12-05 18:32
Re: ubuntu804server+vsftpd+mysql详细
这里面好像楼主有写错的地方: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的吧
- relaxssl
- 帖子: 1448
- 注册时间: 2007-01-30 7:13
- mickeywaley
- 帖子: 1427
- 注册时间: 2009-03-19 9:19
- 系统: ubuntu
- 来自: 江苏
- 联系:
Re: ubuntu804server+vsftpd+mysql详细
学习了
- blog:http://lizhenglin.com备份的,原站加www.
- OS:ubuntu:9.04
- Google Talk:mickeywaley#gmail.com
- Twitter:@mickeywaley
- Google Voice:1-520-226-8130
- Ubuntu 9.10 (Karmic Koala) 安装配置相关教程 http://docs.google.com/View?id=ddqsjgzx_747f25h8pcb