環境:linux
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,登陸的主目錄匿名用戶是沒法上傳的,在主目錄建立目錄,修改其權限可寫便可上傳至該目錄數據庫
本地用戶模式能夠和匿名模式一塊兒使用,一般環境能夠建立一位具備寫權限的用戶來上傳文件,而匿名用戶方便你們下載相關資料。
編輯/etc/vsftpd/vsftpd.confvim
local_enable=YES write_enable=YES local_umask=022
將以上三項寫入配置文件,而後重啓vsftpd服務,默認狀況本地用戶登陸是在本身的家目錄,root用戶被禁止登陸,如有需求能夠修改user_list和ftpusers文件將登陸權限放開。centos
虛擬用戶模式是三個模式中最安全的一種驗證方式,配置過程也會稍微複雜一些,虛擬用戶模式也能夠和匿名模式混用。安全
1.建立用戶數據庫文件ui
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/vusercentos7
3.修改vsftpd.conf配置文件spa
參數 | 做用 |
---|---|
anonymous_enable=NO | 禁止匿名開放模式 |
local_enable=YES | 容許本地用戶模式 |
guest_enable=YES | 開啓虛擬用戶模式 |
guest_username=test | 指定虛擬用戶帳戶 |
pam_service_name=vsftpd.vu | 指定PAM文件 |
allow_writeable_chroot=YES | 容許對禁錮的FTP根目錄執行寫入操做,並且不拒絕用戶的登陸請求 |
4.建立虛擬用戶權限文件
如須要爲每一個虛擬用戶匹配不一樣的權限,則須要爲每一個虛擬用戶建立權限文件3d
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的配置是否正常。