Ubuntu18.04快速配置vsftpd

第一步:安裝vsftpd

sudo apt install vsftpd db-util

第二步:虛擬用戶設置

  1. 新建一個系統用戶vsftpd,家目錄為/home/vsftpd,用戶登錄終端設為/bin/false(即使之不能登錄系統)
sudo useradd vsftpd -d /home/vsftpd -s /bin/false
sudo mkdir /home/vsftpd
sudo chown vsftpd:vsftpd /home/vsftpd
  1. 創(chuàng)建虛擬用戶數據庫
sudo nano /home/vsftpd/loguser.txt

創(chuàng)建文本文件loguser.txt,格式如下:

user_id
password

奇數行為賬戶名,偶數行為密碼,也就是1.3.5.等行為用戶名,2.4.6行為密碼,最后一行需要回車(否則建立數據庫文件時無法識別最后一行,導致報奇數行錯誤)。例如(db1, db2, db3為三個賬號):

db1
db100
db2
db200
db3
db300

  1. 生成賬號數據庫
    需要db-util工具
sudo db_load -T -t hash -f /home/vsftpd/loguser.txt  /etc/vsftpd_login.db
# 設置一下數據庫文件的訪問權限
sudo chmod 600 /etc/vsftpd_login.db
  1. 配置PAM文件
sudo nano /etc/pam.d/vsftpd.vu

編輯文件/etc/pam.d/vsftpd.vu,將以下內容增加到原文件前面兩行:

auth sufficient pam_userdb.so db=/etc/vsftpd_login
account sufficient pam_userdb.so db=/etc/vsftpd_login

上一步建立的數據庫 vsftpd_login 在此處被使用。
虛擬用戶采用PAM進行驗證,這是通過/etc/vsftpd.conf文件中的語句 pam_service_name=vsftpd.vu 來啟用的。

  1. 虛擬用戶配置
    在上面的/etc/vsftpd.conf配置中,有這么一行
    user_config_dir=/etc/vsftpd_user_conf
    現在,我們要把各個用戶的配置文件放到目錄/etc/vsftpd_user_conf中
sudo mkdir /etc/vsftpd_user_conf
cd /etc/vsftpd_user_conf
sudo touch db1 db2 db3

db1文件中的內容如下

write_enable=NO
local_root=/home/vsftpd/dbzh1

同樣,db2文件中的內容

write_enable=YES
local_root=/home/vsftpd/dbzh2

那么,db3的內容呢? 其實也很簡單

write_enable=YES
local_root=/home/vsftpd/dbzh3

這里要注意不能有空格,不然登錄的時候會提示出錯。

第三步:配置

sudo nano /etc/vsftpd.conf

配置如下:

# 關閉匿名訪問
anonymous_enable=NO
#讓本地賬號可以訪問
local_enable=YES
write_enable=YES
local_umask=022
#Passive mode
pasv_enable=YES    ;允許被動模式
pasv_min_port=41000
pasv_max_port=42000
#流量控制
max_clients=100     ; 允許的最大連接數,定義為100,默認為0,表沒有限制
max_per_ip=5          ; 每個IP允許的連接數,0表沒有限制,需要運行于獨立模式方可
local_max_rate=200000 ;用戶寬帶限制 200k
#鎖定目錄
chroot_local_user=YES     ;禁止用戶離開主目錄
chroot_list_enable=NO
allow_writeable_chroot=YES
#其它
dirmessage_enable=YES
xferlog_enable=YES

#允許虛擬用戶
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
anon_max_rate=50000  ;匿名用戶最大帶寬,單位為bps

第四步:重啟vsftpd

sudo systemctl restart vsftpd
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容