Linux搭建FTP之vsftpd 虚拟用户配置步骤

环境:Ubuntu 10.04

.安装vsftp

sudo apt-get install vsftpd

.添加虚拟用户

1.创建虚拟用户数据库

创建虚拟用户文本文件/tmp/account.txt

user1

password1

....

2.安装db4.6_util

sudo apt-get install db4.6_util

3.生成数据库

sudo mkdir /etc/vsftpd

sudo db4.6_load -T -t hash -f /tmp/account.txt /etc/vsftpd/account.db

4.设置数据库权限

sudo chmod 600 /etc/vsftpd/account.db

.配置pam文件

1.新建vsftpd.vu

sudo gedit /etc/pam.d/vsftpd.vu

其内容如下:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account

account required /lib/security/pam_userdb.so db=/etc/vsftpd/account

我们在上一步建立的数据库在此处得到应用。

我们建立的虚拟用户将采用PAM进行认证,这是通过/etc/vsftpd.conf文件种的语句pam_service_name=vsftpd.vu来启用的。

2.为虚拟用户创建本地系统用户

新建一个系统用户virtual_user

sudo useradd -d /home/ftp virtual_user

sudo chmod 700 /home/ftp

3.配置/etc/vsftpd.conf

建议先进行备份

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_backup

根据需要一版要确保含有以下设置:

sudo gedit /etc/vsftpd.conf

listen=YES
anonymous_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=virtual_user             #
如上
user_config_dir=/etc/vsftpd_user_conf   #
如上
pam_service_name=vsftpd.vu
local_enable=YES

4.vsftpd_user_conf

sudo mkdir /etc/vsftpd_user_conf

cd/etc/vsftpd_user_conf

    行的值都不要有空格,否则登录时会出现错误,举个例子,假如我在write_enable=YES后多了个空格,那我登录时就出现如下错误:
500 OOPS: bad bool value in config file for: write_enable

sudo touch user1 user2 user3 ....

5.根据各用户所需权限的不同分别进行设置

local_root=/var/ftpsite #须建立相应的文件夹mkdir /var/ftpsite

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

6.完成 重启vsftpd

/etc/init.d/vsftpd restart

相关推荐