Ubuntu18.04快速配置vsftpd

第一步:安裝vsftpd

sudo apt install vsftpd db-util

第二步:虛擬用戶設(shè)置

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

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

user_id
password

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

db1
db100
db2
db200
db3
db300

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

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

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

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

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

db1文件中的內(nèi)容如下

write_enable=NO
local_root=/home/vsftpd/dbzh1

同樣,db2文件中的內(nèi)容

write_enable=YES
local_root=/home/vsftpd/dbzh2

那么,db3的內(nèi)容呢? 其實(shí)也很簡單

write_enable=YES
local_root=/home/vsftpd/dbzh3

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

第三步:配置

sudo nano /etc/vsftpd.conf

配置如下:

# 關(guān)閉匿名訪問
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     ; 允許的最大連接數(shù),定義為100,默認(rèn)為0,表沒有限制
max_per_ip=5          ; 每個IP允許的連接數(shù),0表沒有限制,需要運(yùn)行于獨(dú)立模式方可
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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容