vsftpd服務

vsftpd

一、vsftpd基本用法

  1. 軟件安裝

    服務端
    #yum -y install vsftpd //安裝軟件
    客戶端
    #yum -y install lftp //安裝客戶端軟件
    注意:
    關閉服務端和客戶端防火牆和selinux
    #systemctl stop firewalld
    #setenforce 0


  2. 啓動服務

    服務端
    #systemctl start vsftpd
    關閉防火牆
    #systemctl stop firewalld
    #setenforce 0

3.使用

客戶端
#lftp 10.18.44.209 //服務端ip


簡單的使用,ls、cd、都可以使用,如下
help //查看幫助
help ls
ls //查看文件
dir //同上
cd pub
lcd /root/Desktop //切換本地目錄
get 文件 -o /root/Desktop //下載文件,-o指定下載路徑
get 文件一 文件二 文件三 //下載多個文件用空格隔開,
mirror 目錄 指定的下載目錄 //下載目錄
此時已經學會了vsftpd的基本使用

二、vsftpd上傳和用戶登陸

vsftpd的配置文件在/etc/vsftpd/vsftpd.conf
1. 開啓上傳功能
#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES


此時已經開啓了上傳功能
使用以下命令上傳
put 文件 //上傳文件
mirror -R 目錄 //上傳目錄
mkdir 目錄
rmdir 目錄
mget -c aaa.txt

2.使用用戶登陸

之前的簡單應用是使用匿名賬戶登陸的(匿名賬戶的家目錄)
/var/ftp //注意:ftp跟目錄權限不可以超過755
#lftp 10.18.44.209 -u tigerfive
使用用戶登陸時,共享的目錄是默認用戶的家目錄

三、vsftpd擴展功能

vsftpd的配置文件在/etc/vsftpd/vsftpd.con

1. 常用全局配置
listen_address=10.18.44.1 //設置監聽的ipdizhi
listen_port=21 //設置監聽FTP的服務端口號
write_enable-YES //是否允許下載文件

userlist_enable=YES //是否啓用user_list列表文件(文件在/etc/vsftpd目錄下)
userlist_deny=YES //是否禁用user_list中的用戶
max_client=0 //限制併發客戶端連接數
max_per_ip=0 //限制同一IP地址的併發連接數


2. 常用匿名FTP配置項
anonymous_enable=YES //啓用匿名訪問
anon_umask=022 //匿名用戶上傳文件的權限掩碼
anon_root=/var/ftp //匿名用戶根目錄
anon_upload_enable=YES //允許上傳文件
anon_mkdir_write_enable=YES //允許創建目錄
anon_other_write_enable=YES //開放其他解入權
anon_max_rate=0 //限制最大傳輸速度,字節


3. 常用的本地用戶FTP配置項
local_enable=YES //是否啓用本地系統用戶
local_umask=022 //本地用戶所上傳文件的權限掩碼
local_root=/var/ftp //本地賬戶ftp根目錄
local_max_rate=0 //限制最大傳輸速率(字節/秒)
chroot_local_user=YES //限制所有本地用戶在家目錄裏
!!!注意本地用戶的根目錄,不能有寫權限,否則不能登陸。詳細信息參看(四)章節的ftp設置

四、用戶限制和黑白名單

用戶限制和黑白名單是針對本地用戶更完善的設置

在第三塊中如果不使用chroot_local_user=YES來限制本地用戶只能在自己家目錄,那麼他就可以在好多目錄裏隨便移動,這樣及其不安全。但是這個設置又是針對所有人的,會帶來一些不便。
所以通過以下幾個配置文件來對對用戶作更加詳細的權限限制
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/chroot_list
1. /etc/vsftpd/ftpusers
該文件不受任何配置文件限制,它總是有效,這是一個黑名單,這是爲了防止權限過大的用戶登陸FTP,以免通過權限過大的用戶登陸FTP上傳或者下載敏感位置的信息,造成不必要的損失。
2. /etc/vsftpd/user_list
user_list則是和vsftpd.conf中的userlist_enable和userlist_deny兩個配置項緊密相關的,關於這兩個文件配置的關係,據以下例子
`
--- 爲了說明這個問題,我們來建立兩個測試用戶:

tom: 在user_list中
jim:不在user_list中

然後我們分別給兩個配置項取不同的值,分4種Case進行測試:

Case 1: userlist_enable=YES, userlist_deny=YES

tom: 拒絕登入
jim: 允許登錄

Case 2: userlist_enable=YES, userlist_deny=NO

tom: 允許登錄
jim:拒絕登錄(如user_list文件開頭的註釋所述,甚至不會提示輸入密碼,即無登入提示框,直接拒絕連接)

Case 3: userlist_enable=NO,userlist_deny=NO

tom: 允許登錄
jim: 允許登錄

Case 4: userlist_enable=NO,userlist_deny=YES

tom: 允許登錄
jim: 允許登錄
`


3. /etc/chroot_list
另一種指定用戶限制,非限制用戶依舊可以暢通無阻
黑名單:
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 凡是名單中的人不允許離開HOME 目錄
建立黑名單文件.
# cat chroot_list
tigerfive
user1

白名單:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 凡是名單中的人允許離開HOME 目錄
建立白名單文件.
#cat chroot_list
tigerfive
user1
!!!注意:如過在黑名單中,那麼家目錄就必須或者指定的chroot_root就不能對黑名單的用戶有w(讀)權限,就是(三)最後的注意事項。
4.給單個用戶設置ftp權限
如果上邊的還能解決,那就用下面的方式,給單個用戶設置ftp權限
單獨對某一個賬戶設置ftp權限
#vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/peruser //單個用戶的ftp配置文件放在那

#cd /etc/vsftpd/
#mkdir peruser
#cd preuser

#vim ftpuser1 //配置文件名稱和用戶同名
local_root=/ftpuser1 //設置某個用戶的ftp根目錄在哪

五、FTP的安全

ftp的安全:
1.關閉匿名用戶除下載權限之外的一切權限
2.hide_ids=YES 隱藏文件夾和目錄屬主,都以 FTP 代替
3.開啓監控,也就是打開日誌
4.禁用 ASCII 模式下載
ascii_upload_enable=NO
ascii_download_enable=NO
5.禁用危險的 ls –R 命令,這個命令消耗大量系統資源
ls_recurse_enable=NO
6.限制併發也比較有必要
max_client=0
max_per_ip=0

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