Linux下虚拟用户FTP搭建,VSFTP + MYSQL
[
|
2007/05/15 14:25]
|
2007/05/15 14:25]
服务器安装清单
一:主体应用
主机编号:C (0508)003 主要应用:学习资料,软件数据服务器
操作系统: Ubuntu 5.10 主机名:databackup
IP地址:192.168.101.250
二:硬件部分
主板: ABIT IS-20 Intel 82865GL
CPU:Intel Celeron(R) 2.40GHz 24*100MHz
内存:512M
网卡:00:50:8D:74:22:C2
磁盘状况:MAXTOR 120G*2 , WD 250G*2
分区 文件系统类型 容量大小 挂载点
/dev/hda1 reiserfs 200M /boot
/dev/hda5 swap 500M swap
/dev/hda6 reiserfs 10G /
/dev/hda7 reiserfs 105G /home
/dev/hdb5 reiserfs 115G /data
/dev/hdc5 reiserfs 250G /hdc
/dev/hdd5 reiserfs 250G /hdd
三:主要应用服务
A:主要服务: vsftp + mysql 整体实现虚拟用户的ftp服务器。
B:说明:出于安全考虑,公司的ftp服务器,采用虚拟用户控制上传和下载权限的控制。
原理如下:应用vsftp虚拟用户功能,但是此用户需一个系统内真实存在的用户来读取
数据库来实现,数据库内容就是一个用户名ID和密码的一个简单的表。而同时用户验证
用户的pam下的vsftpd的配置也要修改,注意不要忘记安装用于验证的pam_mysql
模块。
实现:虚拟用户的控制,拥有独立的上传下载权限。
参考URL:
1:http://www.zahui.com/html/11/22043.htm
2:http://dev.csdn.net/article/33/33451.shtm
3:http://www.chinaitpower.com/2005September/2005-09-13/207161.html
4:http://www.chinalinuxpub.com/bbs/showthread.php?t=35374
5:http://weblog.kreny.com/archives/2005/09/zt_vsftpiemysql.html
C:具体步骤
Step I : Install Operating System (Ubuntu 5.10 netinstall)
光盘启动,输入server,回车。进入系统后,首先安装ssh
apt-get install ssh
修改apt/source.list
deb http://ubuntu.cn99.com/ubuntu/ breezy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ breezy main restricted universe multiverse
deb http://ubuntu.cn99.com/backports/ breezy-extras main restricted universe multiverse
apt-get update
apt-get upgrade
Step II: Install all Services (vsftp mysql libpam-mysql)
apt-get install vsftpd mysql-common mysql-client mysql-server libpam-mysql
注意:libpam-mysql 是 pam的认证模块,必需安装,同时记得修改pam下的vsftp设置。
Step III: Create Database by guest use, edit /etc/pam.d/vsftpd
adduser guest
mysqladmin -u root -p password 123new
(为数据库root添加密码,新密码为123new ,回车后要求输入旧密码。)
vi /etc/mysql/my.cnf
(注释掉#bind-address = 127.0.0.1 否则无法连接。)
mysql -uroot -p
mysql> create database virtualftp;
mysql> use virtualftp;
mysql> create table user (name char(20) binary,passwd char(20) binary);
mysql> insert into user (name,passwd) values ('up','up');
mysql> insert into user (name,passwd) values ('down','down');
mysql> show tables;
+----------------------+
| Tables_in_virtualftp |
+----------------------+
| user |
+----------------------+
1 row in set (0.00 sec)
mysql> select * from user;
+------+--------+
| name | passwd |
+------+--------+
| up | up |
| down | down |
+------+--------+
2 rows in set (0.00 sec)
mysql> grant select on virtualftp.* to guest@localhost identified by 'guestno';
mysql> flush privileges;
(用系统用户guest调用数据库virtualftp,密码为guestno)
修改/etc/pam.d/vsftpd 注释掉原有的,添加新的,如下两行
auth required pam_mysql.so user=guest passwd=guestno host=localhost db=virtualftp table=user usercolumn=name passwdcolumn=passwd crypt=0
account required pam_mysql.so user=guest passwd=guestno host=localhost db=virtualftp table=user usercolumn=name passwdcolumn=passwd crypt=0
Step IV: Edit /etc/vsftpd.conf , define virtualuser self config, Create virtualuser homedir ,
以下就是/etc/vsftpd.conf
listen=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
guest_enable=YES
guest_username=guest
user_config_dir=/etc/vsftpd_user_conf
指定了每个独立用户配置文件的目录位置
virtual_use_local_privs=NO
VSFTPD-2.0.3新添了virtual_use_local_privs参数,当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限,这也就是VSFTPD-2.0.3之前版本对虚拟用户权限的处理方法。这两者种做法相比,后者更加严格一些,特别是在有写访问的情形下。默认情况下此参数是关闭的(NO)。
当virtual_use_local_privs=YES 时,只需设置write_enable=YES,虚拟用户就可以就拥有写权限。而virtual_use_local_privs=NO时,对虚拟用户权限的设置就更多一些更严格一些。
创建虚拟用户的独立的配置文件
touch /etc/vsftpd.chroot_list
(创建即可,否则启动报错)
mkdir /etc/vsftpd_user_conf
此目录为虚拟用户的单独的配置文件目录,里面的文件名为虚拟用户的名字)
1:up的权限 可以上传文件,建目录,但是不能删除文件
vi /etc/vsftpd_user_conf/up
local_root=/home/guest/up (设置主目录)
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO (控制其无法删除文件)
(编辑每一个用户独立的配置文件)
2:仅下载
vi /etc/vsftpd_user_conf/down
local_root=/home/guest/down
write_enable=NO
(此用户不允许写入。)
3:所有权限
local_root=/data/data
write_enable=yes
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
su - guest
mkdir up
mkdir down
这样就创建了虚拟用户上传的主目录。
四:备份策略
五:维护
添加用户流程:
A:创建用户,在数据库中添加用户
mysql -uroot -p
mysql> use virtualftp;
mysql> insert into user (name,passwd) values ('newID','newPasswd');
mysql> flush privileges;
B: 创建配置独立的配置文件
vi /etc/vsftpd_user_conf/newID
local_root=/home/guest/newID
write_enable=NO
C:创建自己的主目录
su - guest
mkdir newID
**支持FXP功能 /etc/vsftpd.conf 添加参数** 2006/04/05 add
pasv_promiscuous=YES
port_promiscuous=YES
本文链接:http://www.52zhe.cn/read.php/18.htm
本文作者:kook(若就博客内所涉及的技术问题交流,请用下面的MSN或Gmail联系我)
联系方式:(MSN:kook#live.com) (Google talk:kookliu)
没有版权:GNU,转载时请注明“转载人”欠本人一顿饭,来日见面之时兑现!谢谢合作!
一:主体应用
主机编号:C (0508)003 主要应用:学习资料,软件数据服务器
操作系统: Ubuntu 5.10 主机名:databackup
IP地址:192.168.101.250
二:硬件部分
主板: ABIT IS-20 Intel 82865GL
CPU:Intel Celeron(R) 2.40GHz 24*100MHz
内存:512M
网卡:00:50:8D:74:22:C2
磁盘状况:MAXTOR 120G*2 , WD 250G*2
分区 文件系统类型 容量大小 挂载点
/dev/hda1 reiserfs 200M /boot
/dev/hda5 swap 500M swap
/dev/hda6 reiserfs 10G /
/dev/hda7 reiserfs 105G /home
/dev/hdb5 reiserfs 115G /data
/dev/hdc5 reiserfs 250G /hdc
/dev/hdd5 reiserfs 250G /hdd
三:主要应用服务
A:主要服务: vsftp + mysql 整体实现虚拟用户的ftp服务器。
B:说明:出于安全考虑,公司的ftp服务器,采用虚拟用户控制上传和下载权限的控制。
原理如下:应用vsftp虚拟用户功能,但是此用户需一个系统内真实存在的用户来读取
数据库来实现,数据库内容就是一个用户名ID和密码的一个简单的表。而同时用户验证
用户的pam下的vsftpd的配置也要修改,注意不要忘记安装用于验证的pam_mysql
模块。
实现:虚拟用户的控制,拥有独立的上传下载权限。
参考URL:
1:http://www.zahui.com/html/11/22043.htm
2:http://dev.csdn.net/article/33/33451.shtm
3:http://www.chinaitpower.com/2005September/2005-09-13/207161.html
4:http://www.chinalinuxpub.com/bbs/showthread.php?t=35374
5:http://weblog.kreny.com/archives/2005/09/zt_vsftpiemysql.html
C:具体步骤
Step I : Install Operating System (Ubuntu 5.10 netinstall)
光盘启动,输入server,回车。进入系统后,首先安装ssh
apt-get install ssh
修改apt/source.list
deb http://ubuntu.cn99.com/ubuntu/ breezy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ breezy-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ breezy main restricted universe multiverse
deb http://ubuntu.cn99.com/backports/ breezy-extras main restricted universe multiverse
apt-get update
apt-get upgrade
Step II: Install all Services (vsftp mysql libpam-mysql)
apt-get install vsftpd mysql-common mysql-client mysql-server libpam-mysql
注意:libpam-mysql 是 pam的认证模块,必需安装,同时记得修改pam下的vsftp设置。
Step III: Create Database by guest use, edit /etc/pam.d/vsftpd
adduser guest
mysqladmin -u root -p password 123new
(为数据库root添加密码,新密码为123new ,回车后要求输入旧密码。)
vi /etc/mysql/my.cnf
(注释掉#bind-address = 127.0.0.1 否则无法连接。)
mysql -uroot -p
mysql> create database virtualftp;
mysql> use virtualftp;
mysql> create table user (name char(20) binary,passwd char(20) binary);
mysql> insert into user (name,passwd) values ('up','up');
mysql> insert into user (name,passwd) values ('down','down');
mysql> show tables;
+----------------------+
| Tables_in_virtualftp |
+----------------------+
| user |
+----------------------+
1 row in set (0.00 sec)
mysql> select * from user;
+------+--------+
| name | passwd |
+------+--------+
| up | up |
| down | down |
+------+--------+
2 rows in set (0.00 sec)
mysql> grant select on virtualftp.* to guest@localhost identified by 'guestno';
mysql> flush privileges;
(用系统用户guest调用数据库virtualftp,密码为guestno)
修改/etc/pam.d/vsftpd 注释掉原有的,添加新的,如下两行
auth required pam_mysql.so user=guest passwd=guestno host=localhost db=virtualftp table=user usercolumn=name passwdcolumn=passwd crypt=0
account required pam_mysql.so user=guest passwd=guestno host=localhost db=virtualftp table=user usercolumn=name passwdcolumn=passwd crypt=0
Step IV: Edit /etc/vsftpd.conf , define virtualuser self config, Create virtualuser homedir ,
以下就是/etc/vsftpd.conf
listen=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
guest_enable=YES
guest_username=guest
user_config_dir=/etc/vsftpd_user_conf
指定了每个独立用户配置文件的目录位置
virtual_use_local_privs=NO
VSFTPD-2.0.3新添了virtual_use_local_privs参数,当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限,这也就是VSFTPD-2.0.3之前版本对虚拟用户权限的处理方法。这两者种做法相比,后者更加严格一些,特别是在有写访问的情形下。默认情况下此参数是关闭的(NO)。
当virtual_use_local_privs=YES 时,只需设置write_enable=YES,虚拟用户就可以就拥有写权限。而virtual_use_local_privs=NO时,对虚拟用户权限的设置就更多一些更严格一些。
创建虚拟用户的独立的配置文件
touch /etc/vsftpd.chroot_list
(创建即可,否则启动报错)
mkdir /etc/vsftpd_user_conf
此目录为虚拟用户的单独的配置文件目录,里面的文件名为虚拟用户的名字)
1:up的权限 可以上传文件,建目录,但是不能删除文件
vi /etc/vsftpd_user_conf/up
local_root=/home/guest/up (设置主目录)
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO (控制其无法删除文件)
(编辑每一个用户独立的配置文件)
2:仅下载
vi /etc/vsftpd_user_conf/down
local_root=/home/guest/down
write_enable=NO
(此用户不允许写入。)
3:所有权限
local_root=/data/data
write_enable=yes
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
su - guest
mkdir up
mkdir down
这样就创建了虚拟用户上传的主目录。
四:备份策略
五:维护
添加用户流程:
A:创建用户,在数据库中添加用户
mysql -uroot -p
mysql> use virtualftp;
mysql> insert into user (name,passwd) values ('newID','newPasswd');
mysql> flush privileges;
B: 创建配置独立的配置文件
vi /etc/vsftpd_user_conf/newID
local_root=/home/guest/newID
write_enable=NO
C:创建自己的主目录
su - guest
mkdir newID
**支持FXP功能 /etc/vsftpd.conf 添加参数** 2006/04/05 add
pasv_promiscuous=YES
port_promiscuous=YES
本文链接:http://www.52zhe.cn/read.php/18.htm
本文作者:kook(若就博客内所涉及的技术问题交流,请用下面的MSN或Gmail联系我)
联系方式:(MSN:kook#live.com) (Google talk:kookliu)
没有版权:GNU,转载时请注明“转载人”欠本人一顿饭,来日见面之时兑现!谢谢合作!
Oracle开发中用户的删除,也就是模式的删除。
QTP的8.2的破解和使用。




真郁闷。