1. 目標系統
使用vsftp程式及pam元件來完成vsftp搭建,實現ftp功能。
2. 系統要求
1. ftp功能
2. 使用者鎖定目錄
4. 不使用系統帳戶驗證
5. 多使用者支援
3. 需要元件
vsftpd-2.0.7
db4-devel-4.2.52-7.1
db4-4.2.52-7.1
db4-utils-4.2.52-7.1
4. 安裝過程
4.1. 安裝元件
wget
ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.7.tar.gz
解壓至目錄
#tar zxvf vsftpd-2.0.7.tar.gz
#cd vsftpd-2.0.7
清除編譯環境
#make clean
開始進入編譯預準備
#vi builddefs.h
在vsftpd的目錄裡編譯
#make
隨後建立必要的帳號,目錄:
#useradd nobody //可能你的系統已經存在此帳號,那就不用建立
#mkdir /usr/share/empty //可能你的系統已經存在此目錄,那就不用建立
#mkdir /var/ftp //可能你的系統已經存在此目錄,那就不用建立
#useradd -d /var/ftp ftp //可能你的系統已經存在此帳號,那就不用建立
#chown root:root /var/ftp
#chmod og-w /var/ftp
請記住,如果你不想讓使用者在本地登陸,那麼你需要把他的登陸shell設定成/sbin/nologin,比如以上的nobody和ftp我就設定成/sbin/nologin
開始安裝
#install -m 755 vsftpd /usr/local/sbin/vsftpd-pam
#install -m 644 vsftpd.8 /usr/share/man/man8
#install -m 644 vsftpd.conf.5 /usr/share/man/man5
#install -m 644 vsftpd.conf /etc/vsftpd-pam.conf
4.2. 配置基礎環境
1. 檢視系統是否有相應軟體包
#rpm –qa | grep db4
db4-utils-4.3.29-9.fc6
db4-4.3.29-9.fc6
db4-devel-4.3.29-9.fc6
如果沒有則需要安裝
2. 建立乙個logins.txt的檔案,單行為使用者名稱,雙行為密碼
#vi /home/logins.txt
test
123456
3. 建立資料庫檔案並設定檔案屬性
#db_load -t -t hash -f /home/logins.txt /etc/vsftpd_login.db
#chmod 600 /etc/vsftpd_login.db
4. 建立認證檔案
新建檔案
#vi /etc/pam.d/ftp
並加入下面兩行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
5. 建立乙個虛擬使用者
useradd -d /home/vsftpd -s /sbin/nologin vsftpd
6. 修改配置檔案
#vi /etc/vsftpd-pam.conf
在配置檔案修改或新增以下選項
listen=yes
listen_port=21
listen=yes的意思是使用standalone啟動vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推薦使用standalone方式)
anonymous_enable=no
local_enable=yes //pam方式此處必須為yes,如果不是將出現如下錯誤:
500 oops: vsftpd: both local and anonymous access disabled!
write_enable=no
anon_upload_enable=no
anon_mkdir_write_enable=no
anon_other_write_enable=no
chroot_local_user=yes
guest_enable=yes
guest_username=vsftpd //這兩行的意思是採用虛擬使用者形式
virtual_use_local_privs=yes //虛擬使用者和本地使用者許可權相同
pasv_enable=yes //建立資料聯機採用被動方式
anon_world_readable_only=no
7. 啟動程式
#/usr/local/sbin/vsftpd-pam /etc/vsftpd-pam.conf &
8. 測試連線
#
ftp 127.0.0.1
報錯:[root@lvs3 vsftpd-2.0.7]# ftp localhost
connected to lvs3.
500 oops: vsftpd: cannot locate user specified in 'guest_username':vsftpd
connected to 127.0.0.1.
220 (vsftpd 2.0.7)
530 please login with user and pass.
530 please login with user and pass.
kerberos_v4 rejected as an authentication type
name (127.0.0.1:root): pool1
331 please specify the password.
password:
230 login successful.
remote system type is unix.
using binary mode to transfer files.
ftp> dir
227 entering passive mode (127,0,0,1,83,150)
150 here comes the directory listing.
226 directory send ok.
ftp> quit
221 goodbye.
4.3. 配置使用者環境
1. 建立所有需要登入使用者
#vi /home/logins.txt
test
123456
test
234567
單行為使用者名稱,雙行為密碼
2. 更新資料檔案
#db_load -t -t hash -f /home/logins.txt /etc/vsftpd_login.db
3. 配置使用者環境
#mkdir /etc/vsftpd_user_conf/
#vi /etc/vsftpd-pam.conf 加入如下語句
user_config_dir=/etc/vsftpd_user_conf
-----------------------以下為單使用者迴圈配置,每使用者都需要建立------------------------------
#mkdir /home/vsftpd/test
#vi /etc/vsftpd_user_conf/test
新增內容
local_root=/home/vsftpd/test
write_enable=yes
anon_world_readable_only=no
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
儲存退出
修改配置及目錄許可權
# chmod 700 /home/vsftpd/test
# chown vsftpd.vsftpd /home/vsftpd/test/
---------------------------------使用者配置結束---------------------------------------
5. 客戶端測試
1. 在建立好的每個使用者/目錄下建立測試檔案兩個(檔名不要相同);
2. 使用客戶端軟體從外部測試;
3. 分別登入兩個以上的帳號,通過察看根目錄存在檔案檢查是否引導到不同/目錄下;
5. 嘗試刪除測試檔案;
6. 嘗試上傳檔案到測試帳號;
7. 測試完成。
Vsftp安裝配置手冊 更新版
1.目標系統 使用vsftp 程式及pam元件來完成vsftp搭建,實現ftp功能。1.ftp功能 2.使用者鎖定目錄 3.4.不使用系統帳戶驗證 5.多使用者支援 vsftpd 2.0.7 db4 devel 4.2.52 7.1 db4 4.2.52 7.1 db4 utils 4.2.52 7...
vsftp安裝配置
這東西弄得人很暈 系統是 red hat enterprise linux 5 vsftp用的是vsftpd 2.0.5.tar.gz 步驟 1 tar zxvf vsftpd 2.0.5.tar.gz 2 cd vsftpd 2.0.5.tar.gz 3 make 4 make install 我...
VSFTP安裝配置
vsftp是乙個基於gpl發布的類unix系統上使用的ftp伺服器軟體,它的全稱是very secure ftp 從此名稱可以看出來,編製者的初衷是 的安全。安全性是編寫vsftp的初衷,除了這與生俱來的安全特性以外,高速與高穩定性也是vsftp的兩個重要特點。在穩定方面,vsftp就更加的出色,v...