匿名用戶
anonymous_enable=YES anon_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_root=/var/ftp anon_max_rate=0
本地用戶
local_enable=YES local_umask=022 local_root=/var/ftp chroot_local_user=YES #開啟用戶家目錄限制 chroot_list_enable=YES # 開啟白名單 chroot_list_file=/etc/vsftpd/chroot_list #允許chroot_list里面的用戶可以切換目錄 local_max_rate=0 userlist_enable=YES &userlist_deny=YES#禁止/etc/vsftpd/user_list里面的用戶登錄ftp userlist_enable=YES &userlist_deny=NO#僅允許/etc/vsftpd/user_list里面的用戶登錄ftp #組態檔ftpusers 禁止/etc/vsftpd/ftpusers里面的用戶登錄ftp且權限比user_list還要高,即時生效 #被動模式 pasv_enable=YES pasv_min_port=30000 pasv_max_port=35000
虛擬用戶
需要生成資料庫檔案而且要拿一個本地用戶來映射虛擬用戶,做虛擬用戶組態檔設定時,必須將主組態檔中的 自定義的匿名用戶相關設定 注釋掉,給映射用戶的家目錄設定o+r讓虛擬用戶有讀權限
vim vsftpd.user #奇數行:用戶,偶數行:密碼 db_load -T -t hash -f vsftpd.user vsftpd.db #對檔案加密 #修改權限 chmod 600 vsftpd.db #創建虛擬用戶的映射用戶,并指定其家目錄 useradd -d /var/ftproot -s /sbin/nologin virtual #建立PAM檔案,添加虛擬用戶支持 cp -a /etc/pam.d/vsftpd /etc/pam.d/vsftpd.pam cat /etc/pam.d/vsftpd.pam auth required pam_userdb.so db=/etc/vsftpd/vsftpd account required pam_userdb.so db=/etc/vsftpd/vsftpd #修改vsftpd.conf 添加支持配置 #pam_service_name=vsftpd pam_service_name=vsftpd.pam guest_enable=YES guest_username=virtual user_config_dir=/etc/vsftpd/dir #做虛擬用獨立戶組態檔設定時,必須將主組態檔中的 自定義的匿名用戶相關設定 注釋掉
anon_upload_enable=YES #允許上傳檔案
anon_mkdir_write_enable=YES #允許創建目錄
anon_other_write_enable=YES #允許修改檔案
#給映射用戶的家目錄設定o+r讓虛擬用戶有讀權限
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.
chmod a-w /var/ftproot 或者組態檔(主組態檔或者虛擬用戶組態檔都可以)添加allow_writeable_chroot=YES
安全
抓包 tcpdump -i ens32 -nn -X -vv tcp port 21 and ip host 源ip -i #interface -n #對地址以數字方式顯示,否則顯示主機名 -nn #除了-n作用外,將埠顯示為數值,否則顯示市口服務名 -X #輸出包的頭部資料,以16進制和ascii兩種方式同時輸出 -vv #顯示更詳細的輸出
openssl
rpm -q openssl 查看vsftpd是否支持openssl ldd /usr/sbin/vsftpd | grep libssl 生成加密資訊的秘鑰和證書檔案 位置:/etc/ssl/certs/ openssl genrsa -out vsftpd.key 1024 openssl req -new -key vsftpd.key -out vsftpd.csr openssl x509 -req -days 365 -sha256 -in vsftpd.csr -signkey vsftpd.key -out vsftpd.crt 生成秘鑰和證書檔案后,將本目錄(/etc/ssl/certs/)的權限修改為500 chmod 500 /etc/ssl/certs/
修改主組態檔
#啟用ssl ssl_enable=YES #開啟TLSV1 SSLV2 SSLV3支持 ssl_tlsv1=YES ssl_sslv2=YES ssl_sslv3=YES #允許匿名用戶[虛擬用戶] allow_anon_ssl=YES #匿名用戶登錄和傳輸時強制使用ssl force_anon_logins_ssl=YES force_anon_data_ssl=YES #本地登錄和傳輸時強制使用ssl force_local_logins_ssl=YES force_local_data_ssl=YES rsa_cert_file=/etc/ssl/certs/vsftpd.crt rsa_private_key_file=/etc/ssl/certs/vsftpd.key
配置完之后重啟服務
使用客戶端連接的時候選擇 TLS/SSL顯示加密可以看到證書資訊
配置程序中的報錯:
使用匿名用戶登錄: 500 Illegal PORT command. 425 Use PORT or PASV first. 改成passive 227 Entering Passive Mode (10,2,15,13,210,168). 150 Here comes the directory listing. 226 Transfer done (but failed to open directory). 還是顯示不出來 解決: 匿名用戶的配置里面添加anon_world_readable_only=NO anon_world_readable_only(檔案有三種權限,檔案所有人,檔案所有組,檔案的其他人,anon_world_readable_only的意思是,當他為YES時候,檔案的其他人必須有讀的權限才允許下載,單單檔案所有人為ftp且有讀權限是無法下載的,必須其他人也有讀權限,才允許下載;若為NO則只要ftp用戶對檔案有讀權限即可下載 ———————————————— 著作權宣告:本文為CSDN博主「ting--」的原創文章,遵循 CC 4.0 BY-SA 著作權協議,轉載請附上原文出處鏈接及本宣告, 原文鏈接:https://blog.csdn.net/wzt888_/article/details/100763045)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/135851.html
標籤:Linux
上一篇:虛擬機VMware下CentOS6.6安裝教程圖文詳解
下一篇:作業系統-多行程影像
