天天看点

VSFTPD系列 之==FTP虚拟用户权限分配

一,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时,虚拟用户只能下载文件,无其他权限。

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

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

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

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

vi /etc/vsftpd/vuser.list

#管理员账户(奇数行)

#虚拟用户具有写权限(上传、下载、删除、重命名),新建目录

admin

#密码(偶数行)

cc

#web网站文件传输账户(奇数行)

#和admin管理员权限相同,由于web页面的特殊性,故单独设置上传文件权限为755

web

#下载账户

#只能浏览目录和下载

download

#上传账户

#只能新建目录和上传、下载

upload

  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”文件内容如下: