1. 程式人生 > >VSFTPD系列 之==FTP虛擬用戶權限分配

VSFTPD系列 之==FTP虛擬用戶權限分配

系統 ftpd 奇數 local 開放 管理 授權 權限 --

一,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

VSFTPD系列 之==FTP虛擬用戶權限分配