vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)


vsftp(Very Secure FTP)服務是一款FTP軟件,它安全、高效、穩定,在企業中很經常使用。

1、vsftp安裝

1.1 安裝vsftp

yum install vsftp* -ylinux

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

1.2 查看/etc/vsftpd/vsftp.conf配置文件

#拒絕匿名用戶登陸
   anonymous_enable=NO
   #啓用本地系統用戶訪問
   local_enable=YES
   #本地用戶寫權限
   write_enable=YES
   #本地用戶上傳文件的權限爲-rw-r--r-- (最高權限666-022=644
   local_umask=022
   #是否顯示目錄說明文件(須要本身建立.message)
   dirmessage_enable=YES
   #記錄使用者上傳下載信息,保存路徑:/var/log/vsftpd.log
   xferlog_enable=YES
   #數據傳輸使用20端口
   connect_from_port_20=YES
   #以xferlog格式寫入日誌
   xferlog_std_format=YES
   #YES爲standalone啓動  NO爲經過Xinetd管理
   listen=NO
   #啓用ipv6監聽
   listen_ipv6=YES
   #經過/etc/pam.d/vsftpd進行認證
   pam_service_name=vsftpd
   #禁止/etc/vsftpd中的user_list和ftpusers用戶訪問(黑名單)
   userlist_enable=YES
   #經過/etc/host.allow、host.deny中的IP進行訪問控制
   tcp_wrappers=YES

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

1.3 啓動vsftp,並經過windows訪問

systemctl restart vsftpd.service shell

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

2、匿名用戶配置

2.1 在上面配置文件中加入如下代碼

# 匿名用戶登錄的username
ftp_username=ftp
# 是否容許匿名用戶建立目錄
anon_mkdir_write_enable=YES
# 是否容許匿名用戶對文件增、刪、改
anon_other_write_enable=YES
# 是否容許匿名用戶上傳文件
anon_upload_enable=YES

2.2 賦予匿名用戶ftp權限訪問pub文件夾,重啓vsftpd

chown -R ftp /var/ftp/pub數據庫

chmod 755 /var/ftp/pubvim

systemctl restart vsftpd.servicewindows

2.3 匿名訪問測試

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

​ 測試能夠正常寫入數據,OK安全

3、系統用戶配置(財務部caiwubu 研發部yanfabu 市場部shichangbu)分別訪問本身的目錄

3.1 建立系統用戶(測試)

useradd caiwubu
   useradd yanfabu
   useradd shichangbu
   echo "666666" | passwd --stdin caiwubu
   echo "666666" | passwd --stdin shichangbu
   echo "666666" | passwd --stdin yanfabu

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

3.2 修改/etc/vsftpd/vsftpd.conf配置文件

#拒絕匿名用戶登陸
   anonymous_enable=NO
   #啓用本地系統用戶訪問
   local_enable=YES
   #本地用戶寫權限
   write_enable=YES
   #本地用戶上傳文件的權限爲-rw-r--r-- (最高權限666-022=644
   local_umask=022
   #是否顯示目錄說明文件(須要本身建立.message)
   dirmessage_enable=YES
   #記錄使用者上傳下載信息,保存路徑:/var/log/vsftpd.log
   xferlog_enable=YES
   #數據傳輸使用20端口
   connect_from_port_20=YES
   #以xferlog格式寫入日誌
   xferlog_std_format=YES
   #YES爲standalone啓動  NO爲經過Xinetd管理
   listen=NO
   #啓用ipv6監聽
   listen_ipv6=YES
   #經過/etc/pam.d/vsftpd進行認證
   pam_service_name=vsftpd
   #禁止/etc/vsftpd中的user_list和ftpusers用戶訪問(黑名單)
   userlist_enable=YES
   #經過/etc/host.allow、host.deny中的IP進行訪問控制
   tcp_wrappers=YES

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

3.3 訪問測試

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

登陸進去,建立test文件夾,在/home/caiwubu下能夠正常顯示bash

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

4、虛擬用戶訪問

系統用戶訪問能夠解決匿名用戶帶來的安全問題,可是系統用戶通常能夠用於登陸linux系統,存在安全隱患,故可使用多個虛擬用戶映射一個服務器系統用戶,對外只暴露虛擬用戶,該虛擬用戶不能登陸linux系統,而且能夠設置相應的權限來保障系統安全

4.1 建立虛擬用戶列表

vim /etc/vsftpd/virtusers_list服務器

# 第一行帳號  第二行密碼  以此類推
   caiwubu
   666666
   yanfabu
   666666

4.2 生成虛擬用戶數據文件

#db_load 將virtusers中的密碼加密,並生成virtusers.db給系統使用,virtusers文件可刪除
   db_load -T -t hash -f /etc/vsftpd/virtusers_list /etc/vsftpd/virtusers.db

   #設定PAM驗證文件,並指定對虛擬用戶數據庫文件進行讀取
   chmod 700 /etc/vsftpd/virtusers.db

4.3 配置pam驗證文件

vim /etc/pam.d/vsftpd 在行首插入以下,其餘的註釋app

auth          required     pam_userdb.so db=/etc/vsftpd/virtusers
   account       required     pam_userdb.so db=/etc/vsftpd/virtusers
   #db=後面的文件要與步驟二中的一致

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

4.4 新建一個系統用戶(不須要設置密碼,不須要登陸系統)

useradd -s /sbin/nologin ftpusertcp

4.5 配置虛擬用戶配置文件

mkdir -p /etc/vsftpd/vsftpd_user_conf/

vim /etc/vsftpd/vsftpd_user_conf/caiwubu

# 財務部用戶登陸的根目錄 
   local_root=/home/ftpuser/caiwubu
   write_enable=YES
   anon_world_readable_only=NO
   anon_upload_enable=YES
   anon_mkdir_write_enable=YES
   anon_other_write_enable=YES

vim /etc/vsftpd/vsftpd_user_conf/yanfabu

# yanfabu用戶登陸的根目錄 
   local_root=/home/ftpuser/yanfabu
   write_enable=YES
   anon_world_readable_only=NO
   anon_upload_enable=YES
   anon_mkdir_write_enable=YES
   anon_other_write_enable=YES

建立 虛擬用戶登陸的根目錄

mkdir -p /home/ftpuser/{caiwubu,yanfanbu}

chown -R ftpuser:ftpuser /home/ftpuser

4.6 配置vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
   local_enable=YES
   write_enable=YES
   local_umask=022
   dirmessage_enable=YES
   xferlog_enable=YES
   connect_from_port_20=YES
   xferlog_std_format=YES
   listen=NO
   listen_ipv6=YES
   pam_service_name=vsftpd
   userlist_enable=YES
   tcp_wrappers=YES
   # ---------virtusers config--------------------
   # 啓用pam認證
   pam_service_name=vsftpd
   # 啓用虛擬用戶
   guest_enable=YES
   # 虛擬用戶映射系統用戶ftpuser
   guest_username=ftpuser
   # 虛擬用戶與本地用戶權限相同
   virtual_use_local_privs=YES
   # 虛擬用戶配置文件目錄
   user_config_dir=/etc/vsftpd/vsftpd_user_conf
   # -----------(可選)訪問權限控制----------------
   # 將用戶目錄限制爲根目錄(看不到家目錄的其餘目錄)
   allow_writeable_chroot=YES
   # 是否禁止本地用戶切換到家目錄上級目錄,綁定家目錄爲用戶的根目錄
   chroot_local_user=NO
   # 是否啓用chroot列表文件,寫入文件中的用戶將鎖定家目錄
   chroot_list_enable=NO
   # 指定用戶列表文件的文件路徑
   chroot_list_file=/etc/vsftpd/chroot_list

   # ------------(可選) 被動模式-------------------
   # 啓用被動模式
   pasv_enable=YES
   # 端口範圍
   pasv_min_port=30000
   pasv_max_port=31000
   # Connect_from_port_20=NO 須要修改上面的此項

4.7 重啓vsftp的服務,使用windows打開測試

systemctl restart vsftpd.service

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

注意:若是輸入帳號密碼打不開,使用linux系統ftp鏈接過去,會提示報錯信息

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

例如 提示anon_world_readable_onlybool值錯誤,打開配置文件vim /etc/vsftpd/vsftpd_user_conf/caiwubu

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)
發現該bool值後面有空格,刪除後能夠正常訪問

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

(4.8 可選)實際生產中須要對虛擬用戶進行訪問控制

4.8.1 限制虛擬用戶訪問其餘目錄

在vim /etc/vsftpd/vsftpd.conf配置中添加以下

# 將用戶目錄限制爲根目錄(看不到家目錄的其餘目錄)
   allow_writeable_chroot=YES
   # 是否禁止本地用戶切換到家目錄上級目錄,綁定家目錄爲用戶的根目錄
   chroot_local_user=YES

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)

鏈接只能看到本身的家目錄文件。

4.8.2 若是隻須要個別用戶能夠訪問其餘目錄,須要建立chroot_list文件

vim /etc/vsftpd/chroot_list

# 用戶名稱
   yanfabu

vim /etc/vsftpd/vsftpd.conf

# 指定用戶列表文件的文件路徑
   chroot_list_file=/etc/vsftpd/chroot_list
   # chroot_list_file文件中的用戶能夠切換到其餘目錄
   chroot_local_user=YES
   chroot_list_enable=YES

vsftp 經常使用配置(匿名/系統用戶/虛擬用戶)測試完,研發部能夠訪問其餘目錄

相關文章
相關標籤/搜索