|
转自:http://fleamboy.blog.163.com/blog/static/56676483201311204629623/
服务器环境:ubuntu 12.04;
vsftpd版本:2.3.5(这个版本有点坑爹)
安装过程都很简单,下面简单的记录下
sudo apt-get install vsftpd #安装vsftpd
sudo apt-get install db5.1-util #这里可以按tab键会有提示,一般装最高版本吧,我这里是5.1最高
sudo nano /home/ftplogin.txt #建立虚拟用户账户和密码文件
sudo db5.1_load -T -t hash -f /home/ftplogin.txt /etc/vsftpd_login.db #将账户密码文件和数据库关联起来
sudo chmod 600 /etc/vsftpd_login.db #防止人随意改动数据库
下面是配置PAM认证
auth required pam_userdb.so db=/etc/vsftpd_loginaccount required pam_userdb.so db=/etc/vsftpd_login将/etc/pam.d/vsftpd里面的内容清空换成上面的内容
创建vsftpd用户让其不能使用终端
sudo useradd vsftpd -d /home/vsftpd -s /bin/falsesudo chown vsftpd:vsftpd /home/vsftpd
编辑vsftpd.conflisten=YESanonymous_enable=NO dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES chroot_local_user=YES guest_enable=YES guest_username=vsftpduser_config_dir=/etc/vsftpd_user_conf pam_service_name=vsftpd.vu local_enable=YES secure_chroot_dir=/var/run/vsftpd
切记后面不能有空格
简历每个用户相应的配置文件如xhsudo nano /etc/vsftpd_user_conf/xh将#是否可写,如果只配置这个,不配置下面的anon选项也会提示拒绝访问write_enable=YES#用户根目录local_root=/usr/share/nginx/htmldirlist_enable=YESdownload_enable=YES#是否禁止浏览目录,默认是anon_world_readable_only=NO#是否允许创建文件夹,但不能阻止用户上传文件夹anon_mkdir_write_enable=YES#是否允许上传文件及文件夹anon_upload_enable=YES#是否允许用户修改,删除文件和文件夹anon_other_write_enable=YES
写入进去
到此配置完成,centos下可能还要setsebool -P ftp_home_dir=1
mysql配置差不多,简历用户然后修改PAM认证就可以了sudo apt-get install libpam-mysql(前提是已经安装了mysql)
pam认证换成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配置好了重启就可以了
这次的排错主要在个人配置文件xh里面,那几个NON选项必须的,否则会无法上传
|
|
|
|
|
|
|