Vsftpd服务的部署及优化
#########################
#?? ?實驗環境?? ?#
#########################
#
#server主機:
#?? ?westos_node1
#?? ?172.25.254.1
#?? ?selinux關閉
#?? ?火墻開啟
#?? ?dnf安裝設定完成
#
#client主機:
#?? ?westos_linux
#?? ?172.25.254.101
#?? ?selinux關閉
#?? ?dnf安裝設定完成
#?? ?安裝lftp?? ?#ftp協議文本瀏覽器
#vim /etc/sysconfig/selinux
?
?
一、ftp介紹???
ftp:file transfer proto
互聯阿中最老牌的文件傳輸協議
二、vsftpd安裝及啟用???
dnf install vsftpd -y?????????????????????????????? #server
dnf install lftp -y????????????????????????????????? #client
關閉selinux
systemctl disable --now firewalld
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES?? ??? ??? ?##啟動匿名用戶的訪問功能
systemctl restart vsftpd
測試安裝發布:
firefox ftp://ip
lftp ip?? ??? ??? ?##此訪問方式必須能列出資源才算訪問成功
?? ??? ??? ?##在使用完成后請輸入exit推出lftp
三、vsftpd基本信息???
?
?
服務名稱:
vsftpd.service
配置目錄:
/etc/vsftpd
主配置文件:
/etc/vsftpd/vsftpd.conf
默認發布目錄:
/var/ftp
報錯信息:
550?? ??? ?##程序本身拒絕
553?? ??? ?##文件系統權限限制
500?? ??? ?##權限過大
530?? ??? ?##認證失敗
?
四、匿名用戶訪問控制???
?
lftp? 172.25.254.101 ???? ##當訪問ftp服務時沒有加入用戶認證為匿名訪問
lftp 172.25.254.101 -u westos?? ?##本地用戶訪問
登陸控制
anonymous_enable=YES|NO
家目錄控制
anon_root=/westosdir
上傳控制
anon_upload_enable=YES|NO
chmod 775 /var/ftp/pub??????? chgrp ftp /var/ftp/pub
lftp 172.25.254.101
cd pub
put /etc/passwd
目錄建立控制
anon_mkdir_write_enable=YES|NO
驗證
下載控制
anon_world_readable_only=NO?? ?##匿名用戶可以下載不能讀的文件
刪除重命令控制
anon_other_write_enable=YES|NO
匿名用戶上傳文件權限設定
anon_umask=xxx
anon_umask=022?? ??? ?##當設定chown_username之后上傳文權限將不是用此參數設定
匿名用戶上傳文件的用戶身份設定
chown_upload=YES
chown_username=lee
chown_upload_mode=0644
?????????????
登陸數量控制:
max_clients=2
超出限制后
上傳速率控制
anon_max_rate=102400
五、本地用戶的訪問???
?
登陸控制
useradd linux
useradd lee
echo lee | passwd --stdin linux
echo lee | passwd --stdin lee
lftp??? 172.25.254.101 -u lee
local_enable=NO|YES
家目錄控制
local_root=/software
寫權限控制
write_enable=NO|YES
上傳文件權限控制
local_umask=077
用戶登陸控制
/etc/vsftpd/ftpusers?? ?##永久黑
?
/etc/vsftpd/user_list?? ?##默認黑
用戶登陸白名單
userlist_deny=NO?? ?#設定/etc/vsftpd/user_list位白名單
?? ??? ??? ?#不在名單中的用戶不能登陸ftp
鎖定用戶到自己的家目錄中
chmod? u-w /home/*
chroot_local_user=YES
鎖定用戶到自己的家目錄中的白名單
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
此時lee 用戶可以切換到/ 說明白名單生效
?
鎖定用戶到自己的家目錄中的黑名單
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
六、虛擬用戶訪問???
?
#1.建立虛擬用戶過程########
1.vim /etc/vsftpd/ftp_auth_file?? ??? ??? ?#建立認證文件模板
westos1
123
westos2
123
westos3
123
2.db_load -T -t hash -f ftp_auth_file ftp_auth_file.db?? ?##加密認證文件?????? -T 轉換 -t type -f 指定轉換文件
3.vim /etc/pam.d/westos
account?? ??? ?required?? ?pam_userdb.so?? ??? ?db=/etc/vsftpd/ftp_auth_file?? ?
auth?? ??? ?required?? ?pam_userdb.so?? ??? ?db=/etc/vsftpd/ftp_auth_file
4.vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos?? ??? ??? ?##指定認證策略文件
guest_enable=YES?? ??? ??? ?##指定虛擬用戶功能開啟
guest_username=ftp?? ??? ??? ?##指定虛擬用戶在ftp服務器上的用戶身份
測試
#####虛擬用戶家目錄的獨立設定#################
mkdir? -p /ftpuserdir/westos{1..3}
touch? /ftpuserdir/westos1/westos1file
touch? /ftpuserdir/westos2/westos2file
touch? /ftpuserdir/westos3/westos3file
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/$USER
user_sub_token=$USER
systemctl restart vsftpd
驗證
?
#########用戶配置獨立##############
user_config_dir=/etc/vsftpd/user_config?? ?#在此目錄中與用戶名稱相同的文件為用戶配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/westos2
anon_upload_enable=YES
設定完成后westos2用戶可以上傳文件
westos1和westos3不行
驗證???????? (在這里有可能會受到匿名用戶可上傳的影響,所以之前做的實驗盡可能還原掉)
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Vsftpd服务的部署及优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 操作系统中的谷歌浏览器goo
- 下一篇: Apache 的管理及优化web