Ubantu操作系統下搭建FTP服務器

Ubantu操作系統下搭建FTP服務器

1,安裝

  • 安裝ftp服務器vsftpd

    apt-get install vsftpd
    
  • 安裝 存儲虛擬用戶的賬戶密碼 的數據庫

    apt-get install db4.8-util
    

2,配置

創建虛擬賬戶主目錄

  • 新建文件夾 /home/vsftpd/cmz_ftp_home
  • 新建文件夾 /home/vsftpd/chyq_ftp_home
  • 新建文件夾 /home/vsftpd/tony_ftp_home
  • 新建文件夾 /home/vsftpd/zengjf_ftp_home

命令如下:

    cd /home/
    mkdir vsftpd
    cd vsftpd
    mkdir cmz_ftp_home chyq_ftp_home tony_ftp_home zengjf_ftp_home

創建虛擬用戶數據庫

生成數據庫

  • 在home目錄下新建loguser.txt,並配置用戶名密碼

命令如下:

cd  /home
sudo  touch  /home/loguser.txt
sudo  gedit   /home/loguser.txt

在loguser.txt編輯如下內容:

cmz  -----用戶名
cmz  -----密碼
chyq  -----用戶名
chyq  -----密碼
tony  -----用戶名
tony  -----密碼
zengjf  -----用戶名
zengjf  -----密碼
  • 通過命令把loguser.txt 生成用來保存虛擬用戶的數據庫

命令如下:

sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db

最後設置一下數據庫文件的訪問權限

sudo chmod 600 /etc/vsftpd_login.db

配置PAM文件,把數據庫關聯到vsftpd上

1,我們上一步建立的數據庫 vsftpd_login 在此處被使用

命令如下:

cd /etc/pam.d
sudo touch vsftpd.vu 
gedit vsftpd.vu 

編輯文本,如下:

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

2,我們建立的虛擬用戶將採用PAM進行驗證,這是通過/etc/vsftpd.conf文件中的 語句pam_service_name=vsftpd.vu來啓用的,稍後你將發現。

爲虛擬用戶創建本地系統用戶

新建一個系統用戶vsftpd,用戶家目錄爲/home/vsftpd, 用戶登錄終端設爲/bin/false(即使之不能登錄系統)

添加系統用戶vsftpd 權限根目錄/home/vsftpd 並不能登錄系統

sudo useradd vsftpd -d /home/vsftpd -s /bin/false

設置/home/vsftpd 的owner vsftpd:vsftpd(user:group)
只有這個用戶和組內用戶能看到這個文件

sudo chown vsftpd:vsftpd /home/vsftpd

文件配置

配置vsftpd權限

進入/etc/vsftpd.conf,一般要確保含有以下設置:

listen=YES
#匿名登錄NO
anonymous_enable=NO 
dirmessage_enable=YES 
xferlog_enable=YES 
xferlog_file=/var/log/vsftpd.log 
xferlog_std_format=YES 
chroot_local_user=YES
#虛擬用戶登錄YES
guest_enable=YES
#虛擬用戶的本地用戶名vsftpd
guest_username=vsftpd
#虛擬用戶的權限配置文件
user_config_dir=/etc/vsftpd_user_conf 
#虛擬用戶的關聯數據庫的配置文件
pam_service_name=vsftpd.vu 
#本地登錄YES
local_enable=YES 
secure_chroot_dir=/var/run/vsftpd

配置虛擬用戶權限

如果沒有/etc/vsftpd_user_conf,創建vsftpd_user_conf目錄

sudo mkdir /etc/vsftpd_user_conf

創建虛擬用戶權限配置文件

cd /etc/vsftpd_user_conf 
sudo touch cmz chyq tony zengjf

cmz 內容

local_root=/home/vsftpd/cmz

chyq 內容

local_root=/home/vsftpd/chyq

tony 內容

local_root=/home/vsftpd/tony 

zengjf 內容

write_enable=YES
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES 
anon_other_write_enable=YES 
local_root=/home/vsftpd/zengjf

重啓服務器

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