vsftpd在Ubuntu 64位下的多用戶多目錄配置

更多內容請看:http://www.bdtool.net/ linux

研究了兩天vsftpd,從網上找了不少資料,不是出這問題就是那問題,幸虧終於解決了,下面貼出個人配置過程。不喜勿噴。。。 shell

1、安裝vsftpd 數據庫

sudo apt-get install vsftpd

安裝完之後大體的目錄介紹 安全

/etc/vsftpd/vsftpd.conf 服務器

主配置文件 測試

/usr/sbin/vsftpd ui

Vsftpd的主程序 spa

/etc/rc.d/init.d/vsftpd .net

啓動腳本 日誌

/etc/pam.d/vsftpd

PAM認證文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止訪問的用戶來自/etc/vsftpd/ftpusers文件中的用戶)

/etc/vsftpd/ftpusers

禁止使用vsftpd的用戶列表文件。記錄不容許訪問FTP服務器的用戶名單,管理員能夠把一些對系統安全有威脅的用戶帳號記錄在此文件中,以避免用戶從FTP登陸後得到大於上傳下載操做的權利,而對系統形成損壞。(注意:linux-4中此文件在/etc/目錄下)

/etc/vsftpd/user_list

禁止或容許使用vsftpd的用戶列表文件。這個文件中指定的用戶缺省狀況(即在/etc/vsftpd/vsftpd.conf中設置userlist_deny=YES)下也不能訪問FTP服務器,在設置了userlist_deny=NO時,僅容許user_list中指定的用戶訪問FTP服務器。(注意:linux-4中此文件在/etc/目錄下)

/var/ftp

匿名用戶主目錄;本地用戶主目錄爲:/home/用戶主目錄,即登陸後進入本身家目錄

/var/ftp/pub

匿名用戶的下載目錄,此目錄需賦權根chmod 1777 pub(1爲特殊權限,使上載後沒法刪除)

/etc/logrotate.d/vsftpd.log

Vsftpd的日誌文件



2、配置用戶

在/etc下建立目錄vsftpd

mkdir vsftpd
cd vsftpd
vi user.txt

user.txt中加入用戶名、密碼,奇數行爲用戶名,偶數行爲密碼

ftp1
ftp1
ftp2
ftp2

使用db_load命令將用戶生成數據庫

若是沒有db_load命令先安裝

apt-get install db-util

而後生成數據庫

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

3、建立不一樣用戶的配置

mkdir user_conf
cd user_conf
sudo touch ftp1 ftp2  //對應user.txt中的用戶

在ftp1中寫入:主要是測試,先簡單的寫

anon_world_readable_only=NO
local_root=/opt/vsftpd/ftp1

在ftp2中寫入: 

anon_world_readable_only=NO
local_root=/home/ftp    //與ftp1徹底不一樣的兩個目錄

4、修改pam.d下的vsftpd,我就是在這走了不少彎路,把vsftpd所有貼出,供你們看與網上的有什麼區別

cd /etc/pam.d
vi vsftpd
auth    required        pam_userdb.so   db=/etc/vsftpd/user
account required        pam_userdb.so   db=/etc/vsftpd/user

其中db=....指向咱們以前創建的user.db

5、建立虛擬賬號:

sudo useradd virtual -d /opt/vsftpd -s /sbin/nologin  //不容許登陸
chmod a-w /opt/vsftpd   //修改目錄的權限
chown virtual:virtual /opt/vsftpd   //修改目錄屬於的用戶組,由於咱們建立了兩個ftp位置,因此都要修改權限、用戶組

chmod a-w /home/ftp
chown virtual:virtual /home/ftp

6、修改/etc/vsftpd.conf

#配置
listen=YES

#匿名用戶配置
#是否開啓匿名用戶登陸
anonymous_enable=NO

xferlog_std_format=YES
#使用上傳下載日誌,日誌文件默認爲/var/log/vsftpd.log,能夠經過xferlog_file選項修改
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
#日誌使用標準xferlog格式
xferlog_std_format=YES

local_enable=YES
use_localtime=YES
write_enable=YES

guest_enable=YES
guest_username=virtual  //對應前面添加的用戶virtual
user_config_dir=/etc/vsftpd/user_conf   //對應前面添加的每一個用戶不一樣配置的目錄

dirmessage_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd   //對應/etc/pam.d/vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd
userlist_enable=YES
相關文章
相關標籤/搜索