天天看点

Ubuntu 7.04下vsftpd 配置

Ubuntu 7.04下vsftpd 配置

 下载安装vsftpd

Ubuntu 7.04下vsftpd 配置

sudo apt-get install vsftpd

由于要按照虚拟用户模式登陆,安装db4.2-util包

Ubuntu 7.04下vsftpd 配置

sudo apt-get install db4 . 2 -util

建立一个login文件,里面包含虚拟用户信息,比如

Ubuntu 7.04下vsftpd 配置

vi login

Ubuntu 7.04下vsftpd 配置
Ubuntu 7.04下vsftpd 配置

login file

Ubuntu 7.04下vsftpd 配置

------------------------------------------

Ubuntu 7.04下vsftpd 配置

test1              用户名

Ubuntu 7.04下vsftpd 配置

passwd1       密码

Ubuntu 7.04下vsftpd 配置

test2              用户名

Ubuntu 7.04下vsftpd 配置

passwd2        密码

Ubuntu 7.04下vsftpd 配置

-------------------------------------------

 建立数据库文件

Ubuntu 7.04下vsftpd 配置

sudo db4 . 2_load -T -t hash -f login  / etc / vsftpd / vsftpd_login . db

更改数据库文件的权限

Ubuntu 7.04下vsftpd 配置

sudo chmod  600   / etc / vsftpd_login . db

生成新的PAM文件

新建/etc/pam.d/vsftpd.vu 内容如下:

Ubuntu 7.04下vsftpd 配置

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

Ubuntu 7.04下vsftpd 配置

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

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

Ubuntu 7.04下vsftpd 配置

sudo useradd virtual -d  / home / ftp

Ubuntu 7.04下vsftpd 配置

sudo chown virtual . virtual  / home / ftp

更改/etc/vsftpd.conf

Ubuntu 7.04下vsftpd 配置

listen = YES

Ubuntu 7.04下vsftpd 配置

anonymous_enable = NO

Ubuntu 7.04下vsftpd 配置

local_enable = YES

Ubuntu 7.04下vsftpd 配置

write_enable = NO

Ubuntu 7.04下vsftpd 配置

anon_upload_enable = NO

Ubuntu 7.04下vsftpd 配置

anon_mkdir_write_enable = NO

Ubuntu 7.04下vsftpd 配置

dirmessage_enable = YES

Ubuntu 7.04下vsftpd 配置

xferlog_enable = YES

Ubuntu 7.04下vsftpd 配置

connect_from_port_20 = YES

Ubuntu 7.04下vsftpd 配置

xferlog_file =/ var / log / vsftpd . log

Ubuntu 7.04下vsftpd 配置

xferlog_std_format = YES

Ubuntu 7.04下vsftpd 配置

chroot_local_user = YES

Ubuntu 7.04下vsftpd 配置

secure_chroot_dir =/ var / run / vsftpd

Ubuntu 7.04下vsftpd 配置

pam_service_name = vsftpd

Ubuntu 7.04下vsftpd 配置

rsa_cert_file =/ etc / ssl / certs / ssl-cert-snakeoil . pem

Ubuntu 7.04下vsftpd 配置

rsa_private_key_file =/ etc / ssl / private / ssl-cert-snakeoil . key

Ubuntu 7.04下vsftpd 配置
Ubuntu 7.04下vsftpd 配置

guest_enable = YES

Ubuntu 7.04下vsftpd 配置

guest_username = virtual

Ubuntu 7.04下vsftpd 配置

user_config_dir =/ etc / vsftpd / vsftpd_user_conf   这行是为了单独设置用户权限准备的

Ubuntu 7.04下vsftpd 配置

pam_service_name = vsftpd . vu

Ubuntu 7.04下vsftpd 配置

单独设置用户权限

Ubuntu 7.04下vsftpd 配置

sudo mkdir  / etc / vsftpd / vsftpd_user_conf

Ubuntu 7.04下vsftpd 配置

cd  / etc / vsftpd / vsftpd_user_conf

Ubuntu 7.04下vsftpd 配置

sudo touch test1 test2

 test1 只有下载权限,cat /etc/vsftpd/vsftpd_user_conf/test1

Ubuntu 7.04下vsftpd 配置

local_root=/home/ftp/gct

test2 有upload权限,cat /etc/vsftpd/vsftpd_user_conf/test2

Ubuntu 7.04下vsftpd 配置

anon_world_readable_only=NO

   anon_upload_enable=YES

   anon_mkdir_write_enable=YES

   anon_other_write_enable=YES

   anon_umask=022

   write_enable=YES

   local_root=/home/ftp/gct

注意anon_umask=022,它保证你upload后的文件权限都是 rw-r-r。

确认文件夹权限:

drwxrwxr-x 3 virtual virtual  72 2007-08-08 01:44 ftp

drwxr-xr-x 2 virtual virtual 280 2007-08-14 00:50 gct

onwer和组都是virtual。