ftp使用兩個端口
21 是建立連接配接
20 是傳輸資料
ftp模式,主動模式和被動模式
主動模式,也是預設的模式,建立連接配接後,ftp伺服器會主動通過20端口向用戶端發送資料。
被動模式,中間有防火牆,ftp伺服器會開啟端口等待用戶端來連接配接自己。
vsftp的三種使用者模式
匿名使用者 不需要輸入密碼
本地使用者 以本地使用者驗證賬号和密碼
虛拟使用者 隻在ftp上專有的使用者賬号(增加安全性)
ftp配置檔案
anonymous_enable=yes 允許匿名通路
local_enable=yes 允許本地使用者通路
write_enable=yes 本地使用者可上傳,删除,重命名等
local_umask=022 本地使用者上傳檔案的隐藏權限
#anon_upload_enable=yes 允許匿名使用者上傳檔案
#anon_mkdir_write_enable=yes 允許匿名使用者建立或寫入檔案
在做實驗過程中,用戶端通路出錯如沒有權限建立檔案或上傳檔案,檢查一下防火牆及selinux 關閉selinux
#vi /etc/selinux/config
selinux=disabled 關閉selinux 需重新開機
匿名使用者上傳下載下傳
/var/ftp/ ftp匿名使用者的家目錄,權限755不能更改,切忌
#chown ftp pub 把pub檔案的屬主改為ftp程式使用者
把配置檔案下的兩行注釋去掉
anon_upload_enable=yes 允許匿名使用者上傳檔案
anon_mkdir_write_enable=yes 允許匿名使用者建立或寫入檔案
重新開機服務,使用用戶端通路,
本地使用者
用戶端在使用本地使用者登入的時候,如不做設定預設登入的是它的家目錄。
關閉匿名使用者通路
使用chroot鎖定本地使用者的家目錄,
#vi /etc/vsftpd/vsftpd.conf 編輯配置檔案
#useradd test1 建立使用者test1
#usermod –s /sbin/nologin test1 為了安全,不讓此使用者登入到系統
local_root=/var/www/html 設定本地使用者的家目錄
chroot_local_user=yes 本地使用者使用chroot
chroot_list_enable=yes 使用chroot清單
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list chroot清單在/etc/vsvtpd/chroot_list 這個檔案沒有則建立
建立chroot清單後,把本地使用者名輸入到chroot_list檔案中,可以不被chroot鎖定在固定的目錄裡
虛拟使用者
虛拟使用者使用pam認證方式,把賬号和密碼于/etc/passwd檔案分開用雜湊演算法加密,防止别人暴力破解,或破解後使用chroot鎖定家目錄對系統不能照成危害
使用虛拟使用者後不能使用本地使用者需把配置檔案中local_root=/var/www/html給注釋掉不能同時使用。或者讓兩者不在同一配置檔案下,才不會沖突
#vi /etc/vsftpd/virtualuser 建立虛拟使用者檔案
vip 賬戶名
123 密碼
ftp 賬号名
# yum install db4* 安裝db4軟體包
#db_load –t –t hash –f virtualuser virutaluser.db 把虛拟使用者檔案建立資料庫檔案并-t是指定hash算法加密 -f 是檔案
#chmod 600 virtualuser.db 為了安全更改600權限
#useradd –s /sbin/nologin vip 建立使用者
#chmod 777 /home/vip 修改家目錄的權限
#vim /etc/pam.d/vsftpd
把所有内容用#号全部注釋掉,在添加兩行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtualuser(注意比如virtualuser.db檔案,在這裡不用加.db)
account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtualuser
儲存退出
#vi /etc/vsftpd/vsftpd.conf
guest_enable=yes 是否啟用虛拟使用者,如不啟用按本地使用者登入
quest_username=vip 所有其他虛拟使用者都登入到vip使用者的家目錄裡
pam_service_name=vsftpd 配置vsftpd使用的pam子產品為vsftpd
userlist_enable=yes
tcp_wrappers=yes
用戶端
#wget ftp://172.16.1.4/pub/file 下載下傳檔案