删除 ftp 行
3. 创建VSFTP的FTP帐号和密码
useradd laodai -d /var/www -s /bin/false
(解:#useradd laodai新建一个叫laodai的用户)
(解:-d /var/www 帐号的目录,也就是你FTP的目录)
(解:-d /bin/false 使此帐号不能登陆系统)
4. 设置 laodai 的密码
passwd laodai
例:我们设为:sias
MYSQL安装
sudo apt-get install mysql-server
在MYSQL中新建FTP多用户的数据库
mysql> create database vsftpd;
mysql> use vsftpd;
mysql> create table users(name char(16) binary,passwd char(16) binary);
mysql>;insert into users (name,passwd) values ('neil_1983','123456'));
新建MYSQL帐号laodai 密码为 sias 并赋于他能读取vsftpd库的权限,并退出MYSQL登陆
mysql> grant select on vsftpd.users to laodai@localhost identified by 'sias';
mysql> quit
安装mysql的PAM验证
安装
apt-get install libpam-mysql
设置vsftpd的PAM验证文件
把 vsftpd.pam 复制到/etc/pam.d/vsftpd
注意:vsftpd.pam 所在目录请根据版本自行寻找
sudo cp /usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd
编辑vsftpd
vim /etc/pam.d/vsftp
编辑内容替换如下
auth required /lib/security/pam_mysql.so user=laodai passwd=sias host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0
account required /lib/security/pam_mysql.so user=laodai passwd=sias host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0
说明:crypt= 0为不加密,1为使用UNIX系统的DES加密,2为mysql的password()函数加密,3为使用md5的散列方式。
配置vsftpd.conf
编辑vsftpd.conf
vim /etc/vsftpd.conf
我的配置文件如下:
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
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=20
ftpd_banner=Welcome to Daiyuechuan's FTP server.
pam_service_name=/etc/pam.d/vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
anon_other_write_enable=YES
guest_enable=YES
guest_username=daiyuechuan
user_config_dir=/etc/vsftp_user_conf
listen_port=21
pasv_min_port=40000
pasv_max_port=40999
配置FTP用户先建立保存的文件夹
sudo mkdir /etc/vsftpd_user_conf
在vsftpd_user_conf建立用户文件
sudo vim /etc/vsftpd_user_conf/neil_1983 (注:文件名和表里的用户要一样)
文件里的内容是:
local_root=/var/www
#开放匿名用户浏览权限
anon_world_readable_only=NO
#取消任何形式的FTP写入命令。
write_enable=YES
#开放上传权限
anon_upload_enable=YES
#可创建目录的同时可以在此目录中上传文件
anon_mkdir_write_enable=YES
#FTP上本地的文件权限,默认是077,您可以改为022
#local_umask=022
anon_other_write_enable=YES
每一个用户要对立一个文件。如上,并且文件名要和数据库表里的用户为一样
权限了sudo chown laodai.laodai /var/www
sudo chmod a-x /var/www
重启sudo /etc/init.d/vsftpd restart