vsftpd服務的搭建

vsftpd服務的搭建

環境:

  • 系統centos7
  • ip:10.0.0.5

1.匿名開放模式

yum install vsftpd -y #安裝vsftpd服務
systemctl start vsftpd #啓動服務
參數 作用
anonymous_enable=YES 允許匿名訪問
anon_umask=022 匿名用戶上傳文件的umask值
anon_upload_enable=YES 允許匿名用戶上傳文件
anon_mkdir_write_enable=YES 允許匿名用戶創建目錄
anon_other_write_enable=YES 允許匿名用戶修改目錄名稱或刪除目錄
local_root=/var/ftp 設置root目錄
chroot_local_user=YES 是否將所有用戶限制在主目錄
anon_root=/var/www 匿名用戶登錄目錄

通常默認安裝的vsftpd就是匿名模式,當我們啓動服務後,需要放行相應服務端口,要注意的是,你要是修改了匿名用戶目錄,目錄權限不可以是777,最好是755,登錄的主目錄匿名用戶是無法上傳的,在主目錄創建目錄,修改其權限可寫即可上傳至該目錄

2.本地用戶模式

本地用戶模式可以和匿名模式一起使用,通常環境可以創建一位具有寫權限的用戶來上傳文件,而匿名用戶方便大家下載相關資料。
編輯/etc/vsftpd/vsftpd.conf

local_enable=YES
write_enable=YES
local_umask=022

將以上三項寫入配置文件,然後重啓vsftpd服務,默認情況本地用戶登錄是在自己的家目錄,root用戶被禁止登錄,若有需求可以修改user_list和ftpusers文件將登錄權限放開。

3.虛擬用戶模式

虛擬用戶模式是三個模式中最安全的一種驗證方式,配置過程也會稍微複雜一些,虛擬用戶模式也可以和匿名模式混用。

1.創建用戶數據庫文件

cd /etc/vsftpdd
vim vuser.list

創建用戶文件
奇數行爲用戶名,偶數行爲密碼.
創建文件後需要對用戶文件進行加密,並修改權限,然後將明文文件刪除,之後創建一個用來虛擬用戶登錄後映射本地用戶的用戶。

db_load -T -t hash -f vuser.list vuser.db
chmod 600 vuser.db
rm -f vuser.list
useradd -d /test -s /sbin/nologin

2.創建支持虛擬用戶的PAM文件
新建並編輯/etc/pam.d/vsftpd.vu文件,寫下創建的數據庫文件的路徑
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

在這裏插入圖片描述
3.修改vsftpd.conf配置文件

參數 作用
anonymous_enable=NO 禁止匿名開放模式
local_enable=YES 允許本地用戶模式
guest_enable=YES 開啓虛擬用戶模式
guest_username=test 指定虛擬用戶賬戶
pam_service_name=vsftpd.vu 指定PAM文件
allow_writeable_chroot=YES 允許對禁錮的FTP根目錄執行寫入操作,而且不拒絕用戶的登錄請求

配置示例

4.創建虛擬用戶權限文件
如需要爲每個虛擬用戶匹配不同的權限,則需要爲每個虛擬用戶創建權限文件

mkdir user_dir #創建放置權限的文件夾
cd user_dir
touch lemon

在以虛擬用戶名創建的文件中,寫入如下參數

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

然後在vsftpd.conf配置文件中追加虛擬用戶權限文件夾的路徑

user_config_dir=/etc/vsftpd/user_dir

之後重啓vsftpd服務,至此配置過程完成,如發現服務未啓動,無法打開,登錄等問題,請檢查相關配置文件,查看防火牆配置(ftp服務主動和被動模式防火牆配置不同需注意),SElinux的配置是否正常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章