fiddlerget请求:Vsftpd和mysql配置
来源:百度文库 编辑:中财网 时间:2024/05/01 04:50:10
Vsftpd和mysql配置
出自Ubuntu中文
让Vsftpd的虚拟用户使用MySQL进行用户认证,可以方便的在一台机子上拥有上千个ftp账户,可以使用phpmyadmin来管理数据库
目录
[隐藏]- 1 安装vsftpd、mysql和phpmyadmin
- 2 创建MySQL数据库
- 3 配置vsftpd
- 4 创建虚拟用户
- 5 数据库管理
- 6 参考
[编辑] 安装vsftpd、mysql和phpmyadmin
Vsftp没有内置的MySQL支持,所以我们必须使用PAM来认证:
sudo apt-get install vsftpd libpam-mysql mysql-server mysql-client phpmyadmin
随后会询问下列问题:
New password for the MySQL "root" user: <-- yourrootsqlpasswordRepeat password for the MySQL "root" user: <-- yourrootsqlpasswordWeb server to reconfigure automatically: <-- apache2
[编辑] 创建MySQL数据库
现在我们创建名为vsftpd的数据库和名为vsftpd的MySQL账户(用于vsftpd进程连接vsftpd数据库):
mysql -u root -p
CREATE DATABASE vsftpd;GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';FLUSH PRIVILEGES;
ftpdpass换成你想要的密码,然后创建表:
USE vsftpd;
CREATE TABLE `accounts` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,`username` VARCHAR( 30 ) NOT NULL ,`pass` VARCHAR( 50 ) NOT NULL ,UNIQUE (`username`)) ENGINE = MYISAM ;
quit;
[编辑] 配置vsftpd
首先创建一个vsftpd的用户(/home/vsftpd),属于nogroup。vsftpd进程运行在该用户下,虚拟用户的FTP目录会放置在/home/vsftpd下(如/home/vsftpd/user1, /home/vsftpd/user2)
useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
备份初始的/etc/vsftpd.conf文件,创建新的:
cp /etc/vsftpd.conf /etc/vsftpd.conf_origcat /dev/null > /etc/vsftpd.confvi /etc/vsftpd.conf
内容如下:
listen=YESanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESnopriv_user=vsftpdchroot_local_user=YESsecure_chroot_dir=/var/run/vsftpdpam_service_name=vsftpdrsa_cert_file=/etc/ssl/certs/vsftpd.pemguest_enable=YESguest_username=vsftpdlocal_root=/home/vsftpd/$USERuser_sub_token=$USERvirtual_use_local_privs=YESuser_config_dir=/etc/vsftpd_user_conf
mkdir /etc/vsftpd_user_conf
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_origcat /dev/null > /etc/pam.d/vsftpdvi /etc/pam.d/vsftpd
auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2account required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
最后,我们重启vsftpd:
sudo service vsftpd restart
[编辑] 创建虚拟用户
mysql -u root -p
USE vsftpd;
创建名为testuser,密码为secret(会用MySQL的password函数加密):
INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret'));quit;
testuser的根目录应该是 /home/vsftpd/testuser,但麻烦的是vsftpd不会自动创建该目录的,所以我们得自个手动创建,同时确保它的属于vsftpd用户和nogroup用户组。
mkdir /home/vsftpd/testuserchown vsftpd:nogroup /home/vsftpd/testuser
最后试下能否正常登录
ftp localhost
[编辑] 数据库管理
用phpmyadmin管理mysql数据库最方便了。只要注意在设定密码时选择PASSWORD函数j就行。还有就是新增虚拟用户时别忘了手动新建虚拟用户的根目录。
[编辑] 参考
Virtual Hosting With vsftpd And MySQL On Debian Lenny
MySQL安装配置问题?
如何配置jdk tomcat mysql?
能不介绍关于mysql和tomcat配置jsp方面资料或者资料
没有root权限可以安装和进行mysql的基本配置么?
windows2003和mysql数据库
关于mysql和php
什么是mysql和IIS
windowsXP中如何配置Apache+mySQL
windowsXP中如何配置Tomcat+mySQL
请问谁会配置PHP+MYSQL呢!
如何配置Windows2003+apache+php+mysql?
mssql和mysql的区别
我想学php和mysql?
linux 和mysql 的问题
Mysql 和Access 哪个好?
php和mysql的问题
php和mysql的作用
mysql 和mysqld的区别?
关于SQL SERVER和MYSQL
请教一下,mysql和mssql
MSSQL和MYSQL怎么读??
MySQL和SQLServer一样么
谁会配置PHP?为什么用PHP5和IIS加MYSQL配置的PHP环境会出现不能连接服务器的错误?
vsftpd dead but subsys locked