主配置文件:/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主機訪問控制
建立數據庫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/
而後按需求 複製上面的參數保存退出就能夠!
達到不一樣用戶不一樣權限更方便企業管理員管理每一個用戶帳戶,而且很安全,權限能夠自由分配!