二、注意事項
在介紹本地使用者訪問的時候,所有的配置檔案都寫在主配置檔案當中,不能針對每乙個使用者單獨設定主目錄,也就是「local_root」引數是對所有的使用者生效,這在實際的企業當中顯然達不到需求。而我們的虛擬使用者可以做到每乙個使用者單獨的配置檔案,也可以單獨指定每乙個使用者的主目錄,還可以指定每乙個使用者的訪問許可權。這樣的虛擬使用者,更加的靈活看,也更加的適合在企業環境中使用。
虛擬使用者,管理員自定義的模擬使用者。 因為前兩個都不太安全,vsftpd準備了虛擬使用者。指的是使用者名稱可以任意新增乙個使用者,密碼也可以是任意的單獨設定。即使截獲到資料報,也和gnu/linux系統的使用者和密碼沒有關係。
從上到下,一共是7個步驟,那我們乙個乙個來說。
新增虛擬使用者口令檔案。這個檔案可以放在linux系統的任何位置,檔名稱也可以是任意的,檔案的內容是一行使用者名稱一行密碼,通過這個檔案生成乙個二進位制的資料庫檔案。比如我在/etc/vsftpd/下建立檔案viuser.txt,內容是這樣的:
生成虛擬使用者口令認證檔案。需要安裝口令認證命令db_load,centos 6這個命令所在的包是db4-utils;而centos 7/8是libdb-utils。然後把文字文件轉變為認證的資料庫:"db_load -t -t hash -f /etc/vsftpd/viuser.txt /etc/vsftpd/viuser.db" ,-t的意思是將文字載入到資料庫中,-t hash表示指定的演算法,-f指定檔案。這個viuser.db檔案是乙個二進位制檔案,vim開啟會亂碼。
編輯vsftpd的pam認證檔案。"vim /etc/pam.d/vsftpd",檔案內容如下,這些內容針對的是本地使用者登陸的pam驗證。我們要做的就是將2到8行注釋掉,禁止本地使用者登陸的pam驗證,相當於禁用了本地使用者登陸。
然後加入兩行,分別是:
還記得vsftpd本地使用者配置檔案當中的pam麼?
建立本地對映使用者並設定宿主目錄許可權。需要建立乙個本地使用者作為虛擬使用者的本地對映使用者,我們知道所有的服務都需要有乙個偽使用者存在才能正常啟動。
比如說「useradd -d /home/vftproot -s /sbin/nologin vuser",我們建立的虛擬使用者vutest與zhangxin,在centos 7系統看來,都是用vuser這個使用者來進行登陸。注意!這個vuser使用者不需要設定密碼,因為只是對映使用者。
設定家目錄許可權:chmod 755 /home/vftproot
這個家目錄即所有虛擬使用者登陸成功後預設上傳的位置,當然可以給每乙個虛擬使用者單獨指定上傳位置,後面再說。
修改配置檔案。也就是/etc/vsftpd/vsftpd.conf下,新增以下引數。
guest_enable=yes # 開啟虛擬使用者
guest_username=vuser # ftp虛擬使用者對應的系統使用者,即第四步新增的使用者
pam_service_name=vsftpd # pam認證檔案,預設存在,不需要修改。
調整虛擬使用者的許可權。需要在vsftpd.conf加入以下的引數以及值。
anonymous_enable=no # 推薦關閉匿名使用者
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
測試能夠成功上傳,如下圖:
模擬使用者能登陸,是因為在linux系統中有對應的本地對映使用者,所以在配置檔案當中,必須開啟本地使用者登陸(local_enable=yes)。
模擬使用者的許可權是拿匿名使用者的許可權進行管理。
如果加了local_root引數後,需要注意對映的本地使用者對目錄有w許可權,否則不能正確上傳。
Linux下vsftp基於虛擬使用者訪問
系統 cat etc redhat release centos linux release 7.3 1611 core uname r 3.10 0 514.el7.x86 64 關閉selinux setenforce 0 sed i s selinux enforcing selinux di...
vsftp高階 虛擬使用者配置
今天繼續配置vsftp,主要想增加一些使用者控制,實現不同使用者不同許可權 實現三個使用者的不同許可權 a.upload 能刪除檔案和資料夾,不能重新命名原有檔案和資料夾 b.download c.admin使用者 這些使用者都 不能登入系統,並且用 ftp連線時鎖定在自己的家目錄中不能進入系統資料...
Vsftp與PAM虛擬使用者
vsftp與pam虛擬使用者 使用yum 安裝vsftp yum install vsftpd pam pam db4 db4 建立乙個儲存使用者及密碼的檔案 cd etc vsftpd touch virtual login 新增使用者 一行使用者一行是密碼 vim virtual login d...