Chinaunix首页 | 论坛 | 博客
  • 博客访问: 754171
  • 博文数量: 26
  • 博客积分: 8255
  • 博客等级: 中将
  • 技术积分: 934
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-06 01:52
文章分类

全部博文(26)

文章存档

2012年(1)

2011年(8)

2010年(10)

2008年(7)

分类: LINUX

2011-03-16 18:40:19

1. 安装
sudo apg-get install vsftpd

2. 删除vsftpd默认生成的FTP用户:

vim /etc/passwd

删除 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

阅读(3711) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~