缺點,ftp密碼是和系統密碼是一致的,並不安全安全
先設置兩個測試用戶測試
test1 123123spa
test2 1231233d
基本用戶基礎配置blog
一、本地用戶基本配置it
local_enable-YES #容許本地用戶登陸test
write_enable=YES #容許本地用戶上傳登錄
local_umask=022 #本地用戶上傳umask值基礎
關閉防火牆,關閉SELinux,直接修改配置文件ftp
重啓系統,重啓vsftp服務
在test1的家目錄下建立一個目錄
登錄的默認位置
上傳:
從本地的E盤上傳一個文本文件
能夠看到在/home/test1/目錄下就有了1.txt文件
下載:
local_root=/var/ftp #設置本地用戶的ftp根目錄(注意目錄權限;不能針對不一樣用戶,是對全部登錄者都生效的)
local_max_rate=0 #限制最大傳輸速率(字節/秒)
須要自行添加
建立目錄,重啓ftp服務(只要修改了配置文件)
客戶端退出從新登陸
可是用test2鏈接時也是在相同的路徑下了(在後面的虛擬用戶訪問中會有解決)
此時若是上傳文件的話會出現如下問題
此時在配置文件中是容許寫操做的,可是並不能上傳,這是由於test1_root目錄test1用戶沒有權限,只有root權限(全部者是root,全部組也是root)
解決方法:
建立一個用戶組,將test1和test2添加到該組內
而後修改該目錄的所屬組和權限
從新上傳:
此時就能夠啦
這種其實存在一個很大的缺陷,能夠往上級目錄翻,有就是說,我能夠訪問整個系統的全部文件,雖然有些地方不能上傳,可是我均可如下載,此時就能夠下載出用戶密碼文件,很不安全
此時就要進行設置限制用戶只能在特定目錄下操做
把用戶限制在家目錄下:
chroot_local_user=YES #開啓用戶目錄限制(若是隻開啓此行,把全部用戶都限制在用戶主目錄中)
重啓服務
從新登陸後,會顯示直接在根目錄下
可是ls後,看到的是1.txt也就是/tmp/test1_root/目錄下的內容,也就是說ftp將/tmp/test1_root/目錄就當作是根目錄
開啓如下三項,就能夠將不一樣的用戶作不一樣的限制了
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #寫入/etc/vsftpd/chroot_list文件中的用戶能夠訪問任何目錄,其餘用戶限制在哪用戶主目錄
文件chroot_list默認是不存在的須要手工添加,而後直接將用戶名寫進去就行了
重啓
我將用戶test2寫入該文件
此時test1就只能訪問/tmp/test1_root/而test2用戶就能夠訪問全部文件