查看“Vsftpd和mysql配置”的源代码
来自Ubuntu中文
←
Vsftpd和mysql配置
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
让Vsftpd的虚拟用户使用MySQL进行用户认证,可以方便的在一台机子上拥有上千个ftp账户,可以使用phpmyadmin来管理数据库 ==安装vsftpd、mysql和phpmyadmin== Vsftp没有内置的MySQL支持,所以我们必须使用PAM来认证: <pre>sudo apt-get install vsftpd libpam-mysql mysql-server mysql-client phpmyadmin</pre> 随后会询问下列问题: <pre>New password for the MySQL "root" user: <-- yourrootsqlpassword Repeat password for the MySQL "root" user: <-- yourrootsqlpassword Web server to reconfigure automatically: <-- apache2</pre> ==创建MySQL数据库== 现在我们创建名为''vsftpd''的数据库和名为''vsftpd''的MySQL账户(用于vsftpd进程连接vsftpd数据库): <pre>mysql -u root -p</pre> <pre>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;</pre> ftpdpass换成你想要的密码,然后创建表: <pre>USE vsftpd;</pre> <pre>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 ;</pre> <pre>quit;</pre> ==配置vsftpd== 首先创建一个''vsftpd''的用户(/home/vsftpd),属于nogroup。vsftpd进程运行在该用户下,虚拟用户的FTP目录会放置在/home/vsftpd下(如/home/vsftpd/user1, /home/vsftpd/user2) <pre>useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd</pre> 备份初始的/etc/vsftpd.conf文件,创建新的: <pre>cp /etc/vsftpd.conf /etc/vsftpd.conf_orig cat /dev/null > /etc/vsftpd.conf vi /etc/vsftpd.conf</pre> 内容如下: <pre>listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES nopriv_user=vsftpd chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/vsftpd.pem guest_enable=YES guest_username=vsftpd local_root=/home/vsftpd/$USER user_sub_token=$USER virtual_use_local_privs=YES user_config_dir=/etc/vsftpd_user_conf</pre> <pre>mkdir /etc/vsftpd_user_conf</pre> <pre>cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_orig cat /dev/null > /etc/pam.d/vsftpd vi /etc/pam.d/vsftpd</pre> <pre>auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2 account required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2</pre> 最后,我们重启vsftpd: <pre>sudo service vsftpd restart</pre> [[Category:服务器]]
返回
Vsftpd和mysql配置
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息