linux FTP安全配置
關閉防火牆,selinux安全機制 service iptables stop setenforce 0
匿名用戶
匿名用戶只能訪問ftp服務器上的/var/ftp/pub目錄
ftp普通用戶訪問的文件在ftp用戶的宿主目錄
匿名訪問:有兩個匿名賬戶ftp和anonymous
ftp的密碼為空,anonymous的密碼為空或者guest
下圖可以看到匿名用戶只能訪問pub文件夾下的內容,不能訪問ftp服務器上其他目錄下的內容
本地用戶登陸ftp
本地用戶登錄ftp,會出現信息泄露的問題,本地用戶不止可以訪問ftp站點的內容,還可以訪問ftp服務器上的其他目錄,解決辦法就是用虛擬用戶
虛擬用戶
1.創建FTP根目錄及虛擬用戶映射的系統用戶
useradd -d /home/vftpuser -s /sbin/nologin vftpuser
為保證其他用戶可以訪問,給予rwxr-xr-x權限:chmod 755 /home/vftpuser
2. 建立虛擬FTP用戶數據庫文件。
db_load -T -t hash -f vuser_login.txt vuser_login.db
3.建立支持虛擬用戶的PAM認證文件
4.參數db用於指向剛剛生成的vuser_login文件,但不要寫后綴
Find / -name pam_userdb.so找到認證文件的路徑
4. 在vsftpd.conf文件中添加支持配置
#以下這些是關於vsftpd虛擬用戶支持的重要配置項,默認vsftpd.conf中不包含這些設定項目,需要自己手動添加
guest_enable=YES //設定啟用虛擬用戶功能
guest_username=vsftpd //指定虛擬用戶的宿主用戶
user_config_dir=/etc/vsftpd/vuser_conf //設定虛擬用戶個人vsftp的CentOS FTP服務文件存放路徑
5. 為虛擬用戶設置不同的權限
指定用戶獨立的權限配置文件存放的目錄:vim /etc/vsftpd/vsftpd.conf (user_config_dir=/etc/vsftpd/vsftpd_user_conf)
創建用戶獨立的權限配置文件存放的目錄:mkdir /etc/vsftpd/vsftpd_user_conf
切換進入到該目錄中:cd /etc/vsftpd/vsftpd_user_conf
創建yuzly1和yuzly2文件
設置權限yuzly1
anon_mkdir_write_enable=YES 允許用戶創建文件
anon_world_readable_only=YES 只讀
anon_upload_enable=YES 允許wang用戶上傳文件
驗證權限,下圖可以看到可以創建文件,可以上傳文件,但不能修改,刪除
加上anon_other_write_enable=YES這句話,用戶就具有修改和刪除文件的權限了
yuzly2不添加任何權限,默認是可讀權限