ftp:File Transfer protocol 文件傳輸協議
- 兩個連接:
tcp:命令連接
tcp:數據連接
主動模式:服務器端通過20端口主動連接客戶端,客戶端監聽在于服務器端的建立連接的端口+1上,服務器工作在tcp/20
被動模式:客戶端使用自己與服務器端建立端口+1上連接客戶端的隨機端口
防火墻上連接追蹤
數據要流失化
文本:文件流
二進制
c/s
- 用戶認證:
系統用戶
虛擬用戶
匿名用戶
數據傳輸安全
sftp:ssh提供的基于ssh協議的ftp
ftps:基于ssl的ftp
相應碼:
1XX:信息碼
2XX:成功狀態碼
3XX: 進一步提示補全信息的狀態碼
4XX:客戶端錯誤,臨時錯誤
5XX: 服務器端錯誤,永久性錯誤
安裝vsftpd
/etc/pam.d/vsftpd:認證文件
pam:Plugable Authentication Module 插件式認證模塊
- ?nsswith:名稱解析框架
模塊化:/lib64/linbnss*,/usr/lib64/libnss*
配置文件:/etc/nsswitch.com - ?pam:認證框架
模塊化:/lib64/security/pam*.so
配置文件:/etc/pam.conf和/etc/pam.d/*
服務腳本:/etc/rc.d/init.d/vsftpd
配置文件:/etc/vsftp/vsftpd.conf
主程序文件:/usr/sbn/vsftpd
數據文件:/var/ftp
定個寫:
等號前后沒有空格
anonymous或ftp
對于ftp訪問ftp服務器時應該對其chroot
禁錮用戶與其家目錄中
chroot_local_user={yes|no} 禁錮用戶,默認為no
需要禁錮開啟為yes,安全
chroot_list_enable={yes|no}
chroot_list_file=/etc/vsftp/chroot
不禁錮全部用戶,將禁錮的用戶保存在/etc/vsftp/chroot
每行一個用戶
兩項不能同時使用
local_enable={yes|no}是否需要本地用戶登錄
匿名用戶的配置
anonymous_enable=YES,啟動虛擬用戶登錄
anon_upload_enable=YES 允許虛擬用戶有寫權限
anon_other_write_enable=YES 允許虛擬用戶有刪除權限
anon_mkdir_write_enable=YES 允許虛擬用戶創建文件夾權限
注意:啟用寫入功能時,ftp用戶對相應的本地文件系統也有相應的寫入權限;
生效的權限取決于文件系統權限和服務權限的交集
實現用戶的歡迎信息login banners
ftpd_banner=
banner_file=banner文件
切換目錄式的歡迎信息
dirmessage_enable=YES
在目錄中創建.messages
vsftp控制登陸系統用戶的機制
/etc/vsftpd/ftpusers中的用戶不允許使用ftp服務器,這是在/etc/pam.d/vsftpd中定義的
user_list配置文件有兩種用法
黑名單:
userlist_enable=YES
uselist_deny=YES
白名單:
userlist_enable=YES
uselist_deny=NO
連接限制
max_clients:最大并發連接數
max_per_ip:每IP可同時發起并發請求
傳輸速率:
anon_max_rete: 匿名用戶的傳輸速率,單位為“字節/秒”
local_max_rate:本地用戶傳輸速率,單位為“字節/秒”
上傳文件的umask:
anno_umask:匿名用戶上傳文件的umask;
local_umask:
修改匿名用戶上傳文件的屬主和屬主
chown_uploads=YES
chown_username=用戶名
實現虛擬用戶:
所有的虛擬用戶會映射成一個系統用戶,訪問時的文件目錄是為此系統用戶的家目錄
虛擬用戶
hash編碼的文件:
奇數行為用戶名,偶數行為密碼
關系型數據庫:
pam-mysql實現認證
虛擬用戶的權限
user_config_dir=文件夾
在文件夾中創建虛擬用戶同名的的文件
在虛擬用戶的文件中寫入權限
原創文章,作者:nene,如若轉載,請注明出處:http://www.www58058.com/88056