vsftpd服務配置舉例

本文簡單介紹一些vsftpd的配置完成相應的需求

(前提是防火牆放行,SELINUX關閉,後面會提開啓情況)

1.匿名用戶下載FTP服務器裏的文件

       vsftpd安裝好之後,默認是匿名可以下載的,故不許要做任何配置修改,只需要將服務啓動即可。實際上因爲配置文件裏已經幫你做好了,它依賴的選項是:anonymous_enable=YES,另外注意自己的供下載的目錄的權限。

2.匿名用戶上傳文件的功能

      默認情況匿名是不能上傳文件的。將下面兩行的註釋打開就可以了。

anon_upload_enable=YES
anon_mkdir_write_enable=YES

但是會發現匿名用戶上傳的權限是屬於ftp用戶,並且只有ftp用戶可讀寫。更改匿名用戶上傳的默認權限通過在配置文件里加入anon_umask=022實現任何人可讀(默認077).

匿名用戶不能創建文件,目錄,通過:

anon_other_write_enable=YES

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章