vsftp配置手冊

2021-05-01 15:50:57 字數 4605 閱讀 8562

使用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...