FTP(File Transfer Protocol)
文本傳輸協議
ftp啓用
yum install -y vsftpd ##安裝服務
systemctl start vsftpd ##開啓服務
systemctl enable vsftpd ##開機開啓
安裝成功
開啓並設置開機啓動
ftp基本信息
訪問數據的端口:21
數據傳輸端口:>1024的隨即端口
默認發佈目錄:/var/ftp
普通用戶訪問默認訪問頁面爲家目錄
匿名用戶訪問默認訪問頁面爲/var/lftp/
訪問方式:
lftp 172.25.254.100 ##當前用戶登錄
lftp 172.25.254.100 -u student ##普通用戶登錄
vsftpd開放的21端口
匿名用戶默認訪問目錄爲/var/ftp/
普通用戶默認訪問目錄爲家目錄
ftp的安全部署
錯誤報告:
500 權限過大
530 認證失敗
550 服務本身不允許
553 文件系統權限過小
匿名用戶上傳
chmod 775 /var/ftp/pub ##修改目錄權限
chgrp ftp /var/ftp/pub ##修改目錄屬組
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anon_upload_enable=YES ##添加語句:允許匿名用戶上傳
默認無法上傳
1.修改發佈目錄內目錄權限及屬組
2.配置文件修改後重啓服務
3.匿名用戶上傳測試
匿名用戶下載
anon_world_readable_only=NO
默認無法下載
1.修改配置文件
匿名用戶新建目錄
anon_mkdir_write_enable=YES
默認無法創建目錄
1.編輯配置文件添加語句
2.配置後重啓
3.連接測試創建成功
匿名用戶刪除和重命名
anon_other_write_enable=YES
默認無法刪除和重命名
1.編輯配置文件添加語句
2.配置後重啓服務
3.連接測試重命名和刪除成功
匿名用戶默認訪問目錄
anon_root=/mnt
默認用戶訪問的目錄爲/var/ftp
1.配置文件添加語句,修改默認訪問目錄爲/mnt
2.配置後重啓服務
3.測試發現目錄更改成功
匿名用戶默認上傳文件權限修改
anon_umask=xxx
1.配置文件中添加語句,設置匿名用戶上傳文件的umask值
2.配置後重啓服務
3.測試上傳文件權限爲644(文件默認去除執行權限)
匿名用戶使用的用戶身份修改
chown_uploads=YES
chown_username=student
匿名用戶默認的登入身份爲ftp
1.修改配置文件,用戶登入身份修改爲student,並允許上傳
2.配置後重啓服務
3.上傳測試uid=1000(student)
最大上傳速率
anon_max_rate=102400 單位爲字節
未限速時速度較快
1.配置文件添加語句,限速102400Byte/s(100KB/s)
2.配置後重啓服務
3.測試上傳速度穩定後約爲100KB/s
最大鏈接個數
max_clients=x
1.配置文件添加語句,限制最大連接1個
2.配置後重啓服務
3.連接一個後開啓另一個窗口嘗試連接失敗
本地用戶家目錄修改
local_root=/westos
功能與匿名用戶限制相同,主要針對本機用戶
本地用戶上傳文件權限
local_umask=xxx
功能與匿名用戶限制相同,主要針對本機用戶
家目錄鎖定
chroot_local_user=YES ##需要去除用戶對家目錄的寫權限
chmod u-w /home/* ##去除用戶對家目錄的寫權限
未進行鎖定前,用戶可以跳出家目錄訪問其他位置
1.添加語句,開啓家目錄鎖定,但要關閉用戶對家目錄的寫權限
2.配置後重啓服務,撤去student用戶對家目錄的寫權限
3.測試,無法跳出家目錄
家目錄鎖定的白名單/黑名單
chroot_list-enable=YES/NO
vim /etc/vsftp/chroot_list
1.配置文件中開啓白名單
2.編輯白名單,添加student
3.重啓服務,測試
4.student被鎖定,leo可以訪問其他位置
限制本地用戶登錄
vim /etc/vsftpd/ftpusers ##永久黑名單
vim /etc/vsftpd/user_list ##臨時黑名單
在黑名單中添加leo
leo無法登入ftp
白/黑名單設定
userlist_deny=NO ##user_list爲白名單
userlist_dent=YES ##user_list爲黑名單
配置文件中添加語句,編輯/etc/vsftpd/user_list來確定限制對象。
NO時爲白名單,YES時爲黑名單
ftp虛擬用戶的添加
vim /etc/vsftpd/vir_user ##編輯用戶賬戶和密碼
user1 ##用戶1
123 ##密碼1
user2 ##用戶2
123 ##密碼2
創建用戶數據庫
db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db ##加密生成westos.db文件
vim /etc/pam.d/vir_user ##編輯對應pam配置文件
account required pam_userdb.so db=/etc/vsftpdvir_user ##賬戶
auth required pam_userdb.so db=/etc/vsftpd/vir_user ##密碼
配置pam文件
vim /etc/vsftpd/vsftpd.conf ##編輯服務配置文件
pam_service_name=vir_user ##選擇pam的服務名
guest_enable=YES ##允許虛擬用戶訪問
1.創建用戶數據庫
2.更改配置文件
3.生成加密文件
4.配置pam文件
5.重啓服務
6.測試
虛擬用戶身份指定
guest_username=westos
1.配置文件中添加語句,指定虛擬用戶登入身份爲student
2.配置後重啓服務
3.測試
虛擬用戶家目錄獨立設定
vim /etc/vsftpd/vsftpd.conf ##編輯配置文件
local_root=/ftphome/$USER ##設定用戶家目錄
user_sub_token=$USER ##識別$USER爲用戶名
mkdir -p /ftphome/user1/user1dir ##創建用戶家目錄
mkdri -p /ftphome/user2/user2dir ##創建用戶家目錄
1.添加配置文件,指定用戶家目錄
2.配置後重啓
3.測試,家目錄指定成功
虛擬用戶獨立配置
獨立配置文件中沒有寫到的權限自動從vsftpd.conf中尋找
chgrp ftp /ftphome -R ##更改屬組
chmod 775 /ftphome/user1/user1dir ##更改權限
chmod 775 /ftphome/user2/user2dir ##更改權限
vim /etc/vsftpd/vsftpd.conf ##編輯配置文件
user_config_dir=/etc/vsftpd/userconf ##設定配置文件目錄爲userconf
mkdir -p /etc/vsftpd/userconf ##創建配置文件目錄
vim /etc/vsftpd/userconf/user1 ##編輯user1的配置文件
anon_upload_enable=YES ##允許上傳
允許tom上傳
1.更改屬組
2.更改目錄權限
3.修改配置文件
4.編輯tom/jerry的單獨配置文件
5.重啓服務後,測試tom可以上傳