FTP(持虛擬用戶,而且每一個虛擬用戶能夠具備獨立的屬性配置)

                VSFTP是一個基於GPL發佈的類Unix系統上使用的FTP服務器軟件,它的全稱是Very Secure FTP
首先安裝

主配置文件:/etc/vsftpd/vsftpd.conflinux

【匿名用戶】
anonymous_enable=yes 
是否能夠匿名訪問shell

anon_umask=022  設置匿名用戶所上傳文件的默認權限掩碼值數據庫

anon_root=/var/ftp 設置匿名用戶的FTP根目錄(缺省爲/var/ftp/)安全

anon_upload_enable=yes  是否能夠匿名用戶上傳文件服務器

anon_mkdir_write_enable=yes  是否能夠匿名用戶有建立目錄的寫入權限併發

anon_other_write_enable=yes   是否能夠匿名用戶有其餘寫入權限。如對問件更名、覆蓋、刪除文件等app

anon_max_rate=0  限制匿名用戶的最大傳輸速率(0爲不限制),單位爲字節/秒tcp

【本地用戶】
local_enable=yes 
是否能夠本地系統用戶訪問ide

local_umask=022 設置本地用戶所上傳文件的默認權限掩碼值測試

local_root=/var/ftp 設置本地用戶的ftp根目錄(缺省爲用戶的宿主目錄)

chroot_local_user=yes 是否將ftp本地用戶禁錮在宿主目錄中

local_max_rate=0  限制本地用戶的最大傳輸速率(0爲不限制),單位爲字節/秒

【全局配置】
listen=yes 
是否以獨立運行的方式監聽服務

listen_address=0.0.0.0 設置監聽ftp服務的IP地址

listen_port=21 設置監聽FTP服務的端口號

write_enable=yes 啓用任何形式的寫入權限(如上傳,刪除文件等)都須要開啓此項

download_enable=yes 是否能夠下載文件(創建僅限瀏覽,上傳的ftp服務器時可將其設爲「no」)

dirmessage_enable=yes  用戶切換進入目錄時顯示.message文件(若是存在)的類容

xferlog_enable=yes  啓用xferlog日誌,默認記錄到/var/log/xferlog

xferlog_std_format=yes 啓用標準的xferlog日誌格式,若禁用此項,將使用vsftpd本身的日誌格式

connect_from_port_20=yes 贊成服務器主動模式(從20端口創建數據鏈接)

pasv_enable=yes 贊成被動模式鏈接

pasv_max_port=24600 設置用於被動模式的服務器最大端口號

pasv_min_port=24500 設置用於被動模式的服務器最小端口號

pam_service_name=vsftpd 設置用於用戶認證PAM文件位置(/etc/pam.d/目錄中對應的文件名)

userlist_enable=yes 是否啓用user_list用戶列表文件  /etc/vsftpd/ptpusers

userlist_deny=yes 是否禁用user_list列表文件中的用戶帳號 /etc/vsftpd/uer_list

max_clients=0 最多贊成多少個客戶端同是鏈接(0爲不限制)

max_per_ip=0 對來自同一個ip地址的客戶端,最多贊成多少個併發鏈接(0爲不限制)

tcp_wrappers=yes 是否啓用TCP_Wrappers主機訪問控制

開啓虛擬用戶
guest_enable=YES   
啓用用戶隱射功能  
guest_username=share   映射的系統用戶名字 本地用戶
pam_service_name=share   指定 pam認證文件
user_config_dir=/etc/vsftpd/share_dir
開啓匿名或者本地用戶登陸FTP 都是給同樣的權限,要麼就是一塊兒把權限去了,不方便管理,因此vsftp的一個功能就是 虛擬用戶 
這裏我把思路理清 所有寫出來!
要求匿名用戶能夠瀏覽,下載可是不能上傳!本地用戶不能登陸
虛擬用戶 chenhao有下載上傳寫入 可是不能刪除
虛擬用戶 fenglei 有瀏覽下載權限可是不能上傳
虛擬用戶:首先建立虛擬用戶列表
vi /etc/vsftpd/share(名字隨便填)
第一行 名字 第二行 密碼

建立數據庫DB
cd /etc/vsftpd/
db_load -T -t (類型)hash -f share share.db(轉換後名字)

file share.db 查看格式    

而後把文件隱藏起來 chmod 600 /etc/vsftpd/share* 

把權限給最低

而後加用戶測試 :useradd -d 指定家目錄 -s 指定shell /sbin/nologin 用戶名share 不給登錄到系統

建立虛擬用戶支持

創建PAM認證文件
vi /etc/pam.d/share 名字隨便起 可是要知道什麼意思 跟上面名字同樣 方便一些

auth       required     pam_userdb.so    db=/etc/vsftpd/share   (DB在哪裏)後綴DB直接隱藏了 
account       required     pam_userdb.so    db=/etc/vsftpd/share

新建配置文件保存 
最後修改主配置文件 vi /etc/vsftpd/vsftpd.conf  加4條語句 而且把匿名的語句註釋了和一些權限放到最低,直接給子文件配置

guest_enable=YES   啓用用戶隱射功能   
guest_username=share  映射的系統用戶名字 本地用戶
pam_service_name=share  指定 pam認證文件
user_config_dir=/etc/vsftpd/share_dir

建立子文件 mkdir /etc/vsftpd/share_dir 隨便建的子目錄 在裏面建子文件
cd /etc/vsftpd/share_dir 切換進去
而後建子文件 就是用戶的需求 能夠給那些權限
好比 chenhao 用戶能夠登陸 可以正常瀏覽,下載文件,也能夠上傳文件,可是不可以刪除,新建目錄

vi chenhao

local_root=/home/share  指定的家目錄
anon_upload_enable=yes  能夠上傳文件 可是不能進行刪除或者新建 由於 沒有給他權限

(必須鎖在家目錄 讓他不能去系統別的地方)
chroot_local_user=yes 是否將ftp本地用戶禁錮在宿主目錄中


而且linux 主機中的系統用戶沒法登錄FTP
而且匿名用戶只能下載 不能上傳

測試結果:

 

測試虛擬用戶

上傳下載均可以

上傳不能夠 下載能夠!

 

 

在主配置文件上必需要添加這句話!後面跟的是你子文件夾!

必需要加這句話!

啓用獨立配置文件

 注意:權限必定要給755 不然會發現沒法瀏覽目錄等狀況!作實驗發現
[root@localhost ~]# chmod 775 /home/share/

[root@localhost ~]# chown share:share /home/share/

而後按需求 複製上面的參數保存退出就能夠!

達到不一樣用戶不一樣權限更方便企業管理員管理每一個用戶帳戶,而且很安全,權限能夠自由分配!

 

修改完成後 從新啓動服務!service vsftpd reload 從新加載!
相關文章
相關標籤/搜索