天天看點

ubuntu下使用vsftpd搭建ftp伺服器

用什麼開頭呢?就用這個吧。

1.安裝vsftpd

sudo apt-get install vsftpd

2.說明要求,伺服器需要供三種使用者通路,匿名使用者,本地使用者和虛拟使用者,匿名使用者就是anonymous,密碼任意的使用者,本地使用者就是linux系統中真實存在的使用者,虛拟使用者是為了使客戶能通路ftp伺服器故意造出來的使用者,和一個本地使用者綁定

3.匿名使用者,這個比較簡單

sudo vi /etc/vsftpd.conf
           
anonymous_enable=YES
           

如此,即可登入,若想上傳,再激活anon_upload_enable和anon_mkdir_wirte_enable激活,密碼任意,如果上傳的話,最好在/srv/ftp下再分一個目錄出來。

4.本地使用者

激活local_enable,wirte_enable即可,密碼是你的密碼。

5.虛拟使用者

首先添加一個本地使用者,用來給虛拟使用者綁定

sudo mkdir /home/virtual
           
sudo useradd -d /home/virtual -s /sbin/nologin virtual
           
sudo chmod 755 /home/virtual
           

然後在/etc/vsftpd.conf中加入

guest_enable=YES
guest_username=virtual
           

在/etc目錄下維護一個虛拟使用者資訊的檔案users.txt(随便起),奇數行寫使用者名,偶數行寫密碼,

haha
123
           

還需要一個資料庫工具

sudo apt-get install db-util
           

将使用者資訊生成格式化的檔案

sudo db_load -T -t hash -f  users.txt /etc/users.db
           
sudo chmod 600 /etc/user.db
           

本地使用者和虛拟使用者的認證是在/etc/pam.d/vsftpd中進行的,必須在這個檔案中寫入相關資訊,在檔案開頭加入下面代碼,注意,是開頭,頭,頭,否則本地使用者将無法登陸

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

還有,注意是sufficient,不是required。

如此這般,虛拟使用者已經可以登陸,預設目錄就是/home/virtual除此之外,還可對其私人定制,在/etc/vsftpd.conf中加入

user_config_dir=/etc/vsftpd_user_conf
           

然後建立這個目錄,你想對haha做一些額外的配置,就在這個目錄下,建立名為haha的檔案,可以在裡面寫

local_root=/home/virtual/haha
write_enable=YES
virtual_use_local_privs=YES
           

等。

7結尾

結尾就是