IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁服務(wù)器FTP服務(wù)器 → vsftp配置大全---超完整版

vsftp配置大全---超完整版

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

環(huán)境:
RedHat? AS4
說明:
如果不做說明,一般安裝命令均使用ROOT權(quán)限,用 # 表示

特別說明:無

以下文章介紹Liunx 環(huán)境下vsftpd的三種實現(xiàn)方法

ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3.tar.gz,目前已經(jīng)到2.0.3版本。假設(shè)我們已經(jīng)將vsftpd-2.0.3.tar.gz文件下載到服務(wù)器的/home/xuchen目錄 # cd /home/xuchen
# tar xzvf vsftpd-2.0.3.tar.gz //解壓縮程序
# cd vsftpd-2.0.3

三、三種方式的實現(xiàn)??
1、匿名用戶形式實現(xiàn)
# vi builddefs.h? \\\\編輯builddefs.h 文件,文件內(nèi)容如下:

#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
將以上undef的都改為define,支持tcp_wrappers,支持PAM認證方式,支持SSL

# make? //直接在vsftpd-2.0.3里用make編譯
# ls -l vsftpd
-rwxr-xr-x? 1 root root 86088 Jun? 6 12:29 vsftpd? //可執(zhí)行程序已被編譯成功

創(chuàng)建必要的帳號,目錄:
# useradd nobody? //可能你的系統(tǒng)已經(jīng)存在此帳號,那就不用建立
# mkdir /usr/share/empty? //可能你的系統(tǒng)已經(jīng)存在此目錄,那就不用建立
# mkdir /var/ftp? //可能你的系統(tǒng)已經(jīng)存在此目錄,那就不用建立
# useradd -d /var/ftp ftp? //可能你的系統(tǒng)已經(jīng)存在此帳號,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
請記住,如果你不想讓用戶在本地登陸,那么你需要把他的登陸SHELL設(shè)置成/sbin/nologin,比如以上的nobody和ftp我就設(shè)置成/sbin/nologin

安裝vsftp配置文件,可執(zhí)行程序,man等:
# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano
# 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-ano.conf
這樣就安裝完成了,那么我們開始進行簡單的配置

# vi /etc/vsftpd-ano.conf ,將如下三行加入文件
listen=YES
listen_port=21
tcp_wrappers=YES
anon_root=/var/ftp //設(shè)置匿名用戶本地目錄,和ftp用戶目錄必須相同
listen=YES的意思是使用standalone啟動vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推薦使用standalone方式)
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf &? //以后臺方式啟動vsftpd
注意:每行的值都不要有空格,否則啟動時會出現(xiàn)錯誤,舉個例子,假如我在listen=YES后多了個空格,那我啟動時就出現(xiàn)如下錯誤:
500 OOPS: bad bool value in config file for: listen

測試搭建好的匿名用戶方式
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
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): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 \"/\"
ftp> quit
221 Goodbye.
#
OK,已經(jīng)完成了,very nice.

高級配置
細心的朋友可能已經(jīng)看出來我們只在默認配置文件增加了四行,就實現(xiàn)了FTP連接(也證明了vsftpd的易用性),那么讓我們傳個文件吧,呀?。鬏斒×耍ㄒ妶D1)
為什么呢?因為 vsftpd 是為了安全需要,/var/ftp目錄不能把所有的權(quán)限打開,所以我們這時要建一個目錄pub,當然也還是需要繼續(xù)修改配置文件的。
# mkdir /var/ftp/pub
# chmod -R 777 /var/ftp/pub

為了測試方便,我們先建立一個名為kill-ano的腳本,是為了殺掉FTP程序的
#!/bin/bash
a=`/bin/ps -A | grep vsftpd-ano | awk \'{print    $1}\'`
kill -9    $a

那么現(xiàn)在大家看看我的匿名服務(wù)器配置文件吧
anonymous_enable=YES? //允許匿名訪問,這是匿名服務(wù)器必須的
write_enable=YES? //全局配置可寫
no_anon_password=YES //匿名用戶login時不詢問口令
anon_umask=077? //匿名用戶上傳的文件權(quán)限是-rw----
anon_upload_enable=YES? //允許匿名用戶上傳文件
anon_mkdir_write_enable=YES? //允許匿名用戶建立目錄
anon_other_write_enable=YES? //允許匿名用戶具有建立目錄,上傳之外的權(quán)限,如重命名,刪除
dirmessage_enable=YES? //當使用者轉(zhuǎn)換目錄,則會顯示該目錄下的.message信息
xferlog_enable=YES?? //記錄使用者所有上傳下載信息
xferlog_file=/var/log/vsftpd.log? //將上傳下載信息記錄到/var/log/vsftpd.log中
xferlog_std_format=YES?? //日志使用標準xferlog格式
idle_session_timeout=600? //客戶端超過600S沒有動作就自動被服務(wù)器踢出
data_connection_timeout=120? //數(shù)據(jù)傳輸時超過120S沒有動作被服務(wù)器踢出
chown_uploads=YES
chown_username=daemon? //上傳文件的屬主
ftpd_banner=Welcome to d-1701.com FTP service.? //FTP歡迎信息
anon_max_rate=80000? //這是匿名用戶的下載速度為80KBytes/s
check_shell=NO? //不檢測SHELL

現(xiàn)在再測試,先kill掉再啟動FTP程序
# ./kill-ano
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf &
上傳一個文件測試一下,怎么樣?OK了吧,下載剛上傳的那個文件,恩?不行,提示
550 Failed to open file.
傳輸已失??!
傳輸隊列已完成
1 個文件傳輸失敗

沒有關(guān)系,你記得咱們設(shè)置了anon_umask=077了嗎?所以你下載不了,如果你到服務(wù)器上touch 一個文件(644),測試一下,是可以被下載下來的,好了,匿名服務(wù)器就說到這里了。


2、本地用戶形式實現(xiàn)
# cd /home/xuchen/vsftpd-2.0.3? //進入vsftpd-2.0.3的源代碼目錄
# make clean? //清除編譯環(huán)境
# vi builddefs.h? \\\\繼續(xù)編輯builddefs.h 文件,文件內(nèi)容如下:
#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
將以上define VSF_BUILD_PAM行的define改為undef,支持tcp_wrappers,不支持PAM認證方式,支持SSL,記住啊,如果支持了PAM認證方式,你本地用戶是不能登陸的。

# make? //直接在vsftpd-2.0.3里用make編譯
# ls -l vsftpd
-rwxr-xr-x? 1 root root 84712 Jun? 6 18:56 vsftpd? //可執(zhí)行程序已被編譯成功

創(chuàng)建必要的帳號,目錄:
# useradd nobody? //可能你的系統(tǒng)已經(jīng)存在此帳號,那就不用建立
# mkdir /usr/share/empty? //可能你的系統(tǒng)已經(jīng)存在此目錄,那就不用建立
# mkdir /var/ftp? //可能你的系統(tǒng)已經(jīng)存在此目錄,那就不用建立
# useradd -d /var/ftp ftp? //可能你的系統(tǒng)已經(jīng)存在此帳號,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
請記住,如果你不想讓用戶在本地登陸,那么你需要把他的登陸SHELL設(shè)置成/sbin/nologin,比如以上的nobody和ftp我就設(shè)置成/sbin/nologin

安裝vsftp配置文件,可執(zhí)行程序,man等:
# install -m 755 vsftpd /usr/local/sbin/vsftpd-loc
# install -m 644 vsftpd.8 /usr/share/man/man8

關(guān)鍵詞標簽:vsftp,vsftp配置

相關(guān)閱讀 vsftpd只能上傳瀏覽,不能下載 CentOS vsftpd使用安裝與配置問題 vsftpd.conf 設(shè)定值說明 Freebsd4.9 + VSFTPD + MySQL 配置實例 用vsftpd架設(shè)安全的FTP服務(wù)器 redhat linux 9.0 VSFTP配置大全

文章評論
發(fā)表評論

熱門文章 Linux下FTP的配置與應(yīng)用 Linux下FTP的配置與應(yīng)用 什么是ftp及ftp服務(wù)器 什么是ftp及ftp服務(wù)器 FTP出錯解決和分析 FTP出錯解決和分析 Windows內(nèi)置FTP服務(wù)器高級配置 Windows內(nèi)置FTP服務(wù)器高級配置

相關(guān)下載

人氣排行 vsftp配置大全---超完整版 IIS6.0打造FTP服務(wù)器完全圖文詳解 使用Win 2003搭建安全文件服務(wù)器 圖解Windows xp—FTP服務(wù)器配置 linux服務(wù)samba的詳細配置 在Windows 2003下搭建FTP服務(wù)器 FTP登陸錯誤詳解 Windows內(nèi)置FTP服務(wù)器高級配置