一,yum安装vsftpd 搭建ftp服务器(略)
二,虚拟用户配置文件如下:
[root@bogon vsftpd_user_conf]# cat jfedu001
local_root=/var/www/html/web1
virtual_use_local_privs=NO
anon_umask=022
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
三、配置详解
local_root=/var/www/html/web1 //虚拟用户登录后的新的根目录
virtual_use_local_privs=NO //虚拟用户和本地用户有相同的权限,默认是NO
anon_umask=022 //设置上传或创建目录的权限
write_enable=YES //开发jfedu001虚拟用户的写权限
anon_world_readable_only=YES //开放test1的下载权限
anon_upload_enable=YES //开放test1的上传权限
anon_mkdir_write_enable=YES //开放test1的创建目录权限
anon_other_write_enable=YES ////开放test1的删除、重命名权限

             切记:虚拟用户对目录文件的权限是建立在映射后的本地系统用户对其权限的基础上的。比如说,虚拟宿主用户wwwroot对某目录没有写权限,即使vuser_conf/test1权限配置文件赋予了写权限,test1仍然不能写入,创建,上传,修改操作。这就是为什么要授权虚拟用户映射的系统用户ftpuser目录对应的权限
             如 :chown -R /var/www/web1 

权限控制:virtual_use_local_privs参数

当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;

当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO; 也就是对自己的新根目录什么权限都没有。

当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,

anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

四.根据上传、下载、不同需求可创建不同的虚拟用户列表

vi /etc/vsftpd/vuser.list

#管理员账户(奇数行)
#虚拟用户具有写权限(上传、下载、删除、重命名),新建目录
admin
#密码(偶数行)
cc
#web网站文件传输账户(奇数行)
#和admin管理员权限相同,由于web页面的特殊性,故单独设置上传文件权限为755
web
cc
#下载账户
#只能浏览目录和下载
download
cc
#上传账户
#只能新建目录和上传、下载
upload
cc

  1. 建立各个虚拟用户自身的配置文件

cd /etc/vsftpd/vuser_dir/

在/etc/vsftpd/user_conf目录中创建以用户名命名的配置文件admin、web、download、upload

“admin”文件内容如下:

local_root=/home/ftp  #默认就是/var/ftproot,可不写
anon_world_readable_only=NO
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)

“web”文件内容如下:

local_root=/var/www
anon_world_readable_only=NO
anon_umask=022 (由于web页面的特殊性,故单独设置上传文件权限为755,此掩码值可根据具体情况更改)
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)

“download”文件内容如下:
local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)
anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)
#下面这句可以不写,不写时同样不能新建文件夹(若需要可以NO--> YES)
anon_mkdir_write_enable=NO

“upload”文件内容如下:
local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)
virtual_use_local_privs=NO(虚拟用户和匿名用户有相同的权限,默认是NO;本地用户是YES)
anon_world_readable_only=NO (写成YES,将不能列出文件和目录)
write_enable=YES
anon_upload_enable=YES