使用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.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
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
在配置檔案修改或新增以下選項
限制訪問
(/etc/hosts.allow,/etc/hosts.deny)
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.
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/
---------------------------------
使用者配置結束--------------------------------------- 4.
1.在建立好的每個使用者/
目錄下建立測試檔案兩個(檔名不要相同); 2.
使用客戶端軟體從外部測試; 3.
分別登入兩個以上的帳號,通過察看根目錄存在檔案檢查是否引導到不同/
目錄下; 4.
5.嘗試刪除測試檔案; 6.
嘗試上傳檔案到測試帳號; 7.
測試完成。
Vsftp安裝配置手冊 更新版
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 uti...
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賬號 VSFTP使用者許可權配置
vsftpd.conf檔案 connect from port 20 yes anonymous enable no write enable yes local umask 002 listen port 21 listen yes pasv enable yes use localtime ye...