本文簡單介紹一些vsftpd的配置完成相應的需求
linux
(前提是防火牆放行,SELINUX關閉,後面會提開啓狀況)
安全
1.匿名用戶下載FTP服務器裏的文件服務器
vsftpd安裝好以後,默認是匿名能夠下載的,故不準要作任何配置修改,只須要將服務啓動便可。實際上由於配置文件裏已經幫你作好了,它依賴的選項是:anonymous_enable=YES,另外注意本身的供下載的目錄的權限。ide
2.匿名用戶上傳文件的功能server
默認狀況匿名是不能上傳文件的。將下面兩行的註釋打開就能夠了。ci
anon_upload_enable=YES
anon_mkdir_write_enable=YESget
可是會發現匿名用戶上傳的權限是屬於ftp用戶,而且只有ftp用戶可讀寫。更改匿名用戶上傳的默認權限經過在配置文件里加入anon_umask=022實現任何人可讀(默認077).it
匿名用戶不能建立文件,目錄,經過:class
anon_other_write_enable=YEStest
3.對本地用戶進行chroot,也就是不容許本地用戶切到根目錄下去,將本地用戶鎖在本身的家目錄
一般使用本地用戶登陸FTP服務器時候,默認是能夠切到根目錄下的,這樣對系統形成了安全隱患。打開下面幾個註釋
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
而後建立/etc/vsftpd/chroot_list文件,裏面的用戶就是容許切根目錄的用戶,沒有填寫也就意味着不容許切換到根目錄下。
4.創建一個禁止登陸的用戶名單
其實有兩個檔案,一個是 PAM 模塊管的,一個是 vsftpd 主動提供的,在預設的狀況下這兩個檔案分別是:
/etc/vsftpd/ftpusers:就是 /etc/pam.d/vsftpd 這個檔案的設定所影響的;
/etc/vsftpd/user_list:由 vsftpd.conf 的 userlist_file 所設定。
若是是第一個,保證這一句存在 pam_service_name=vsftpd,而後將禁止登陸的用戶加入到/etc/vsftpd/ftpusers這個文件就能夠了。
若是是第二個,稍微麻煩點,有兩種功能,默認是在/etc/vsftpd/user_list列表的用戶禁止登陸的,可是若想只容許這個文件列表內的用戶登陸的話,要在配置文件里加入userlist_deny=NO
例如你想只容許本機的一個叫test用戶登陸ftp服務器的話,就在/etc/vsftpd/user_list寫入test便可。
5.SELINUX的一些問題
若是環境存在selinux的話,在匿名用戶上傳的時候須要修改bool值。
[root@instructor vsftpd]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
將第一個allow_ftpd_anon_write --> off 改成on就能夠了。
setsebool -P allow_ftpd_anon_write=on
在chroot的時候也會受到selinux的影響,將ftp_home_dir --> off改成on就能夠了
setsebool -P ftp_home_dir=on