導航:首頁 > 源碼編譯 > vsftpd源碼包下載

vsftpd源碼包下載

發布時間:2022-01-25 16:01:32

⑴ vsftpd只讓a用戶上傳b用戶下載c用戶可以上傳下載,求大神,詳細步驟

需要建立虛擬用戶,由虛擬用戶配置來進一步細化不同許可權(如僅上傳或僅下載)。
根據用戶需求,需要使用虛擬用戶,才可進行單獨詳細設置。
1、安裝伺服器軟體
先使用YUM源安裝或者源碼編譯安裝,然後啟動VSFTPD服務。
2、生成資料庫文件
先創建虛擬用戶列表文件logins.txt,添加各個虛擬用戶以及對應密碼,隔行,單行為用戶名稱,雙行為密碼。
然後使用db_load命令生成資料庫文件/etc/vsftpd/vsftpd_login.db。
3、設置PAM配置文件
修改VSFTPD服務的PAM配置文件/etc/pam.d/vsftpd
4、修改VSFTPD主配置文件
修改VSFTPD的主配置文件vsftpd.conf
5、創建虛擬用戶配置文件
創建虛擬用戶對應的本地用戶,單獨詳細的配置各個虛擬用戶的配置文件。
6、重啟VSFTPD服務
重啟VSFTPD服務。

⑵ 虛擬機linux安裝vsftpd提示沒有安裝包怎麼辦,怎麼把安裝包放進去

  1. 這么老的版本居然還有人用

  2. 沒有安裝包 你這個是沒yum源 所以只能用其他方式安裝

  3. 建議使用rpm 包的安裝形式 相對簡單一些

  4. 當然你也可以用源碼編譯安裝的方式

⑶ RedHat6.2版本的LINUX怎麼安裝一個vsftpd.tar.gz包

1.安裝
tar xzvf vsftpd-2.0.1.tar.gz
cd vsftpd-2.0.1
make
make install
2.安裝配置文件
#cp vsftpd.conf /etc/;
#cp RedHat/vsftpd.pam /etc/pam.d/ftp
3.編輯配置文件/etc/vsftpd.conf
添加:listen=YES
4.啟動伺服器
#/usr/local/sbin/vsftpd &
mkdir /var/ftp
chmod og-w /var/ftp
5.若打算僅啟用/etc/ftpusers文件中出現的用戶的話,則要修改/etc/pam.d/ftp中的deny為allow;否則,則出現在文件中的用戶為禁止登錄伺服器的用戶。

⑷ chrome 訪問vsftpd 不用ftp嗎

linux不需要安裝vxftpd也可以使用ftp命令(FTP客戶端)。

在大多發行版都有打包,請到各大發行版的ftp列表中得到,或者在發行版的安裝盤中也能得到。lftp是一個命令行式的ftp客戶端。對中文支持較好。如果您在linux 的text模式下,要安裝zhcon或者cce之類的。

安裝:

1、RPM包管理的系統,請到

http://freshrpms.net
http;//rpmfind.net 上查找lftp的最新包,可以用

#rpm -ivh name.rpm
#rpm -Uvh name.rpm 這是升級之用

2、源碼包安裝舉例:lftp-3.2.0.tar.bz2

#tar zxvf lftp-3.2.0.tar.bz2
#cd lftp-3.2.0
#./configure
#make
#make install

3.調用方法:

lftp ftp://用戶名:密碼@地址

比如:
[beinan@S01~]$lftp ftp://[email protected]
口令:
lftp [email protected]:~>
lftp [email protected]:~>ls

-rw-r--r-- 1 1000 100 44387 May 18 10:04 xvmain.jpg
-rw-r--r-- 1 1000 100 202643 May 18 09:45 xxx.jpeg
-rw-r--r-- 1 1000 100 0 May 20 10:01 鯊魚的故事.txt

二、使用方法:

0.簡單的用法:lcd 切換本地目錄,比如 lcd /opt
get 取回一個文件,put 向ftp伺服器傳文件;

1、獲得幫助:

代碼:

lftp [email protected]:~> help
!<shell-command>(commands)
alias [<name> [<value>]]anon
bookmark [SUBCMD] cache [SUBCMD]
cat [-b] <files>cd <rdir>
chmod [OPTS] mode file... close [-a]
[re]cls [opts] [path/][pattern] debug [<level>|off] [-o <file>]
[options] <dirs> exit [<code>|bg]
get [OPTS] <rfile> [-o <lfile>] glob [OPTS] <cmd> <args>
help [<cmd>]history -w file|-r file|-c|-l [cnt]
jobs [-v] kill all|<job_no>
lcd <ldir>lftp [OPTS] <site>
ls [<args>] mget [OPTS] <files>
mirror [OPTS] [remote [local]]mkdir [-p] <dirs>
mole name [args]more <files>
mput [OPTS] <files> mrm <files>
mv <file1> <file2>[re]nlist [<args>]
open [OPTS] <site>pget [OPTS] <rfile> [-o <lfile>]
put [OPTS] <lfile> [-o <rfile>] pwd [-p]
queue [OPTS] [<cmd>]quote <cmd>
repeat [delay] [command]rm [-r] [-f] <files>
rmdir [-f] <dirs> scache [<session_no>]
set [OPT] [<var> [<val>]] site <site_cmd>
source <file> user <user|URL> [<pass>]
version wait [<jobno>]
zcat <files>zmore <files>

如果針對lftp的每個命令的幫助,應該是:

lftp [email protected]:~> help 命令

比如

代碼:
lftp [email protected]:~> help get

用法: get [OPTS] <rfile> [-o <lfile>]

Retrieve remote file <rfile> and store it to local file <lfile>.
-o <lfile> specifies local file name (default - basename of rfile)
-ccontinue, reget
-Edelete remote files after successful transfer
-ause ascii mode (binary is the default)
-O <base> specifies base directory or URL where files should be placed

簡介:gftp基於gtk的ftp客戶端,大家用的也比較多吧,支持中文目錄。如果您的gftp不能支持中文,請升級版本。

# Written in C and has a text interface and a GTK+ 1.2/2.x interface
# Supports the FTP, FTPS (control connection only), HTTP, HTTPS, SSH and FSP protocols
# FTP and HTTP proxy server support
# Supports FXP file transfers (transferring files between 2 remote servers via FTP)
# Supports UNIX, EPLF, Novell, MacOS, VMS, MVS and NT (DOS) style directory listings
# Bookmarks menu to allow you to quickly connect to remote sites

下載安裝:

在各大發行版中,都有gftp的打包,可以用各發行版自帶的工具來安裝。我只說源碼包安裝:

源碼包安裝,通用於所有發行版,舉例說明:gftp-2.0.18.tar.bz2

代碼:
[root@S01ftp]#ls -lh

總用量 1.4M

-rw-r--r--1 root root 1.4M 2005-05-21 09:18 gftp-2.0.18.tar.bz2
[root@S01ftp]#tar jxvf gftp-2.0.18.tar.bz2
[[email protected]]#./configure
[[email protected]]#make
[[email protected]]#make install

註:因為gftp依賴gtk,如果不能make過去,您應該指定PKG_CONFIG_PATH

[[email protected]]# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

調用:

代碼:

[[email protected]]#gftp

⑸ Fedora 8配置VSFTP

注意在fc5下面可能有些目錄是沒有的,這個就需要你自己建立了 我們的步驟分為兩大步:安裝VSFTP和配置VSFTP。

第一步:安裝VSFTP
准備:下載VSFTP源碼包或VSFTP的RPM包軟體,這里我使用的是vsftpd-
2.0.5.tar.gz,這是目前VSFTP的最高版本,需要有root許可權。

使用tar.gz源碼包安裝VSFTP,把下載的源碼包放在一個目錄下,這里我建一個目
錄ftp,所有的操作都在這個目錄下進行:
mkdir ftp
把vsftpd-2.0.5.tar.gz復制到目錄ftp下:
cp 下載vsftpd-2.0.5.tar.gz放置目錄 ftp/
進入ftp目錄:
cd ftp
接下來解壓
tar zxvf vsftpd-2.0.5.tar.gz
解壓之後ftp目錄下多了一個名為vsftpd-2.0.5的目錄,進入該目錄編譯VSFTP:
cd vsftpd-2.0.5編譯:
make
編譯之後目錄下多了一個可執行文件vsftpd,
#ls -l vsftpd
-rwxr-xr-x 1 root root 77144 4月 13 21:17 vsftpd
這是vsftp的主程序。因為vsftp默認需要使用"nobody"這個用戶來配置,所以你必
須確定你的系統中有這個用戶,一般說都會有的,但為了明確起見,執行下述命令
添加nobody用戶:
#adser nobody
adser: user nobody exists
因為我的系統里已經有nobody用戶了,所以提示該用戶已經存在了。
vsftp默認的配置還需要一個空的目錄(empty),該目錄的絕對路徑應該是
/usr/share/empty/,另外若ftp伺服器需要匿名用戶(anonymous)需要加一個用戶
ftp,此用戶的要求這樣:用戶目錄設為/var/ftp,它是VSFTP的匿名用戶的映射本
地用戶,即指anonymous用戶在進程中以ftp用戶身分運行 進程,但anonymous用戶
並不繼承了ftp用戶的文件許可權,它只擁有其他組的文件許可權。可使用下述的命令
完成上面的需求:
#mkdir /var/ftp/
#useradd -d /var/ftp ftp
如果你的系統已經存在有ftp用戶的話,使用下面的命令更改目錄屬主和用戶目錄:
#chown root.root /var/ftp
#chmod og-w /var/ftp
接下來把編譯的文件安裝到相應目錄:
make install
安裝之後,在/usr/local/sbin/目錄下有vsftpd這個主程序。
在/etc/xinetd.d下也有一個vsftpd配置文件,這個文件是由xinetd守護進程啟動
vsftpd的配置文件。另外你不使用xinetd啟動vsftp的話,你應該在/etc/目錄下加
一個vsftp的配置文件,默認的文件名為/etc/vsftpd.conf,這個文件你可以手動
編輯,但在我們的源碼目錄里已經有一個樣本配置文件了,可以直接修改這個文件
以滿足我們的需求,現在把這個樣本配置文件拷貝到這個目錄下:
#cp vsftpd.conf /etc/
這樣在/etc/下有一個配置文件vsftpd.conf了。
我們來測試一下VSFTP是否能夠正常運行,我們採取使用獨立進程而不是xinetd來
啟動VSFTP,這樣要在剛才的文件/etc/vsftpd.conf後面加入一行:
listen=YES
加入之後用下面的命令試試啟動VSFTP:
#/usr/local/sbin/vsftpd &
[1] 7208
好了,VSFTP已經啟動,進程號為7208。
接下來測試FTP(你應該確定你的機器里沒有里別的FTP服務軟體運行,否則使用相
同的埠會發生沖突):
# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
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.
OK,FTP伺服器運行正常,使用匿名用戶ftp登陸成功,你也可以使用anonymous代
替用戶名ftp,一樣可以成功登陸。

使用RPM包安裝VSFTP就容易多了,只需要執行下面的命令:
#rpm -ivh sftpd-1.1.3-8.i386.rpm

好了,看來我們的VSFTP至此為止安裝得很正確並且運行得非常良好,這樣我們可
以進入第二大步:配置VSFTP。

第二步:配置VSFTP
a)使本地用戶能登錄FTP。按照上面的源碼安裝配置我們的FTP還不能讓本地用戶登
錄,因為缺少一個認證PAM文件,在源碼目錄下有一個RedHat/vsftpd.pam認證文
件,把它復制到/etc/pam.d/ftp。
#cp RedHat/vsftpd.pam /etc/pam.d/ftp
測試一下,假設有一個本地用戶test,登錄FTP:
#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
看來情況很好:)
b)配置匿名用戶有瀏覽,讀寫,創建目錄許可權的FTP。這種配置的FTP是極度不安全
的FTP,但在某些FTP網站上可能希望能匿名用戶能上傳文件,因此有必要講解一下:
編輯配置VSFTP的配置文件vsftpd.conf,在文件加入下面幾行:
anon_world_readable_only=NO //關閉匿名用戶只讀許可權,這個選項是控制匿名用
戶只能下載具有可讀許可權的文件,絕不允許有其他許可權,特別是寫許可權,因此要使
匿名用戶有寫許可權,應該禁止它
anon_upload_enable=YES //匿名用戶上傳許可權開放
anon_mkdir_write_enable=YES //匿名用戶寫和創建目錄許可權開放
write_enable=YES //這是VSFTP控制用戶改變文件系統的許可權的選項,若任何用戶
要使用改變文件系統命令(如,讀寫,刪除等等操作)都必須使它開放,默認值是NO
OK,保存後退出。
測試:
#ftp127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put mp3.txt
local: mp3.txt remote: mp3.txt
227 Entering Passive Mode (127,0,0,1,25,17)
150 Ok to send data.
226 File receive OK.
682 bytes sent in 0.00885 secs (75 Kbytes/sec)
測試成功,匿名用戶已經有了上傳的許可權。
幾點說明:
1, anon_other_write_enable選項可以使匿名用戶刪除文件目錄,一般不開啟。
2,匿名用戶要擁有上傳的許可權除應該在上面VSFTP的配置文件里設置幾項之外,還
應該使目錄的其他組許可權有寫的許可權。
c)其他的幾種有用的配置選項。
1,開啟ACSII上傳下載傳輸模式
ascii_download_enable=YES //開啟了下載時的ASCII模式數據傳輸
ascii_upload_enable=YES //開啟了上傳時的ASCII模式數據傳輸
因為二進制傳輸不用進行二進制和ASCII碼之間的相互轉化,因而速度較ASCII模式
快,VSFTP在默認情況下是不開啟ASCII碼傳輸模式的,上述兩個語句使ASCII上傳
下載傳輸模式分別開啟。
2,更改FTP伺服器默認監聽埠
listen_port=2121 //改變默認的21埠號為2121
3,設置用戶會話的空閑中斷時間
idle_session_timeout=300 //連接伺服器的用戶在5分鍾時間內沒有任何動作將被
斷開,默認為300
4,設置空閑的數據連接的中斷時間
data_connection_timeout=300 //數據連接空閑5分鍾將被斷開,默認為300秒
5,設置客戶端空閑時的自動中斷和激活連接的時間
accept_timeout=60 //客戶端建立PASV模式數據連接空閑1分鍾自動中斷,默認為60秒
connect_timeout=60 //客戶端在中斷1分鍾後自動激活連接,默認為60秒
6,設置最大傳輸速率限制
local_max_rate=50000 //本地用戶最大傳輸速率為50kbytes/s
anon_max_rate=30000 //匿名用戶最大傳輸速率為30kbytes/s
若把上述的數值設為0則為不限速,這也是VSFTP的默認值。
7,設置最大客戶端連接數
max_clients=30 //伺服器最大連接數設為30,默認為0,即不加以限制,安全的
FTP應該加以限制
8,設置客戶端連接時的埠范圍
pasv_min_port=50000
pasv_max_port=60000
上述語句使客戶端連接埠范圍在50000至60000之間,這有利於提高伺服器的安
全。默認兩個值都是0,即不限制,使用任意埠。
9,把用戶限制在家目錄,即設置chroot()
chroot_local_user
chroot_list_enable
chroot_list_file
要設置chroot(),可以使用
chroot_local_user=YES
上述語句是使全部的本地用戶都被限制在家目錄,這無法只限制特定的用戶,要限
制特定用戶,使用下面的方法:
chroot_local_user=NO //關閉本地用戶chroot()
chroot_list_enable=YES //開啟要設置chroot()用戶項
chroot_list_file=/etc/vsftpd.chroot_list //指定要設置chroot()的特定用戶
文件,這個文件的格式應該每個用戶名佔用一行
11,開啟進站或進入目錄的歡迎或說明性文字
dirmessage_enable=YES //開啟目錄文字選項
message_file=.welcome //歡迎或說明性文字文件設為.welcome,在默認是.message
這樣在目錄下建立文件.welcome(默認是.message),在用戶進入目錄時可把該文件
的內容顯示出來。
10,開啟FTP伺服器的日誌功能
xferlog_enable=YES //啟動日誌記錄功能,記錄在xferlog_file指明的文件里
xferlog_file=/var/log/ftp.log //日誌記錄在文件/var/log/ftp.log里,默認值
為/var/log/xferlog
上面不是默認配置,默認配置是如下語句
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log //日誌記錄在/var/log/vsftpd.log里,
默認也是這個文件
默認配置xferlog_std_format語句沒有啟用。
d)配置基於用戶的訪問控制
有兩種方法:
A)使用認證文件,前面我們讓本地用戶能夠登錄伺服器的時候是使用源碼樹里的一
個樣本pam文件(RedHat/vsftpd.pam),把它復制到/etc/pam.d/目錄下並改名為ftp
就可使本地用戶登錄,改名為ftp的原因是VSFTP默認的pam認證文件名為ftp,但我
們可以使用下面的語句來改變
pam_service_name=vsftppam //這樣設置後VSFTP使用/etc/pam.d/vsftppam文件來
認證用戶
回來主題,應該如何使本地用戶不能登錄呢?回想到原來本地用戶不能夠登錄是因
為沒有ftp這個認證文件,那麼我們把它刪除就可以了。
B)使用VSFTP相關的幾個語句
userlist_enable
userlist_deny
userlist_file
用這三個語句可以控制指定用戶不能登錄,方法如下:
userlist_enable=YES //用戶清單功能開啟
userlist_deny=YES //把用戶清單設為拒絕用戶清單
userlist_file=/etc/vsftpd.user_list //用戶清單文件為
/etc/vsftpd.user_list,這個文件的格式也是一個用戶名佔用一行
因為第二個語句把文件/etc/vsftpd.user_list設為拒絕用戶清單,那麼,文件里
面的用戶名都不能登錄。
或是另外一種設置方法:
userlist_enable=YES //用戶清單功能開啟
userlist_deny=NO //把用戶清單設為接受用戶清單
userlist_file=/etc/vsftpd.user_list //用戶清單文件為/etc/vsftpd.user_list
因為第二個語句把文件/etc/vsftpd.user_list設為接受用戶清單,那麼,文件里
面的用戶名都能登錄,不在文件里的用戶不能登錄。
從這里可以看出userlist_deny語句起了開關的作用,可把用戶清單文件設為拒絕
或是接受,是不是很有趣?:)

e)配置安全的匿名FTP站點。要求匿名用戶只有瀏覽和下載許可權,沒有其他的用戶。
通過上面的學習,配置這種常見的匿名FTP站點很容易:
首先,把本地用戶禁止登錄,可以使用上面介紹的方法,這里不再復述。
然後,確定把下面的語句設為下面的樣例:
anon_world_readable_only=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
write_enable=NO
這樣做之後,就能有一個滿足要求的FTP站點了,其實只要設
anon_world_readable_only=YES也可以做到上述效果的了。

f)上面講述的啟動伺服器的方法是都是以獨立(standalone)進程的方式啟動的,還
有一種啟動VSFTP的方法,就是使用超級伺服器xinetd啟動,這兩種方法的區別
是,xinetd的啟動使支持的並發進程比獨立進程方式啟動少,不適合訪問人數多的
大站點,一般如果訪問的流量少可以使用xinetd啟動,如果是訪問的流量多應該以
獨立方式啟動。好了,下面介紹以xinetd啟動的方法:
編輯/etc/vsftpd.conf把原來加入的listen=YES這行刪除,或前面加註釋#
編輯/etc/xinetd.d/vsftpd(這個文件在源碼安裝時已經被復制存在了),確定這行
值為NO:
disable= NO
執行下面的命令重啟xinetd伺服器:
#service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
成功通過xinetd啟動VSFTP了。
可以通過xinetd的功能實現控制VSFTP,下面一一介紹:
1,配置基於主機的訪問控制
配置基於主機的訪問控制可以使用超級伺服器xinetd的功能,由xinetd去控制特定
的IP可以訪問FTP伺服器,VSFTP只提供基於本地用戶的訪問控制,控制特定的訪問
可使用下面的xinetd的語句:
only_from //允許訪問IP
no_access //拒絕訪問IP
per_source //每個IP的最大連接數
instances //並發最高連接數
access_time //訪問時間
banner_fail //登錄失敗顯示的內容文件
這里的具體使用屬於xinetd的內容,可以參考相關內容,這里就不多說了.

⑹ 如何藉助vsftpd在Linux上構建安全的FTP服務

vsftpd的安裝過程

vsftpd 守護程序的安裝相當簡單,在每個主要發行版中都可以找到vsftpd的RPM包,很多情況下,它已經被裝上了。如果沒有的話,源代碼可以在網站http://vsftpd.beasts.org/上找到,下載後執行手工安裝。目前最新的版本為:vsftpd2.0.3。

得到源代碼並解開tar包後,進入新建的目錄,並運行make。下面是進行手工安裝的示例:

# tar xzvf vsftpd-2.0.3.tar.gz

# cd vsftpd-2.0.3

# make

這之前我們應該看看用戶「nobody」和目錄「/usr/share/empty」是否存在,如果需要的話我們就新建這一對用戶和目錄。如果我們允許用戶匿名訪問,用戶「ftp」和目錄「var/ftp」也需要創建。使用如下兩個命令完成:

# mkdir /var/ftp

# useradd -d /var/ftp ftp

由於安全原因,目錄 「/var/ftp」 不應該屬於用戶 「ftp」,也不應該有寫許可權。如果用戶已經存在的話,用下面的兩個命令,我們可以改變目錄的所有者並去掉其他用戶的寫許可權:

# chown root.root /var/ftp

# chmod og-w /var/ftp

達到了所有的先決條件後,我們可以安裝 vsftp-daemon 了。

# make install

這樣,就完成了vsftpd的安裝,當然,這個安裝過程比較復雜,在我們現在使用的Linux系統當中,很多都是使用RPM包來安裝的,這樣簡單快捷,下面介紹如何通過使用RPM包來安裝vsftpd。

在RedHat Linux9中自帶了vsftpd,下面是安裝的步驟:

1. 首先查看是否安裝了vsftpd,如果已經安裝,則可以直接使用。

# rpm - q|grep vsftpd

2. 沒有安裝的話,將下載來的vsftpd-1.1.3-8.i386.rpm的RPM包進行安裝。

# rpm - vh vsftpd-1.1.3-8.i386.rpm

通過以上兩步,就能順利地完成安裝過程。

配置文件介紹

配置文件的路徑為 /etc/vsftpd.conf。和Linux系統中的大多數配置文件一樣,vsftpd的配置文件中以#開始注釋,下面對配置文件的重要內容選項進行詳細的介紹,合理的使用配置文件是保證FTP安全傳輸的前提。

查看配置文件:

#vi /etc/vsftpd.conf

設置是否允許匿名訪問:

# Anonymus FTP-access permitted? YES/NO

anonymous_enable=NO

設置是否允許匿名上傳文件:

# Permit anonymus upload? YES/NO

anon_upload_enable=NO

設置是否運允許匿名建立目錄:

# Permission for anonymus users to make new directories? YES/NO

anon_mkdir_write_enable=NO

設置是否允許匿名用戶進行刪除或者改名等操作:

# Permission for anonymus users to do other write operations - like renaming or deleting? YES/NO

anon_other_write_enable=NO

設置是否允許本地用戶登錄:

# Log on by local users permitted? YES/NO

local_enable=YES

設置是否將本地用戶鎖定在主目錄:

# Shall local users be locked into their home directory? YES/NO

chroot_local_user=YES

設置最高傳輸速度:

# Highest permitted data transfer rate in bytes per second for local logged on users. Default = 0 (unlimited)

local_max_rate=7200

設置是否允許通常的寫操作:

# General write permission? YES/NO

write_enable=YES

設置是否在改變目錄後發送消息:

# Enable messages when changing directories? YES/NO

dirmessage_enable=YES

設置伺服器向登錄客戶端發送的歡迎信息:

# Welcome banner at users logon.

ftpd_banner="Welcome to neo5k's FTP service."

設置是否激活日誌功能:

# Activate logging? YES/NO

xferlog_enable=YES

設置是否對所有的FTP操作作日誌,如果設置是,則可能產生巨大的數據:

# Logging of all FTP activities? YES/NO

# Careful! This can generate large quantities of data.

log_ftp_protocol=NO

設置是否只允許在埠20建立連接:

# Confirm connections are established on port 20 (ftp data) only. YES/NO

connect_from_port_20=YES

設置無任何操作的超時時間:

# Timeout ring idle sessions

idle_session_timeout=600

設置數據連接的超時時間:

# Data connection timeout

data_connection_timeout=120

設置訪問所使用的PAM:

# Access through Pluggable Authentication Moles (PAM)

pam_service_name=vsftpd

設置工作模式是否為獨立模式:

# Standalone operation? YES/NO - depending on operation mode (inetd, xinetd, Standalone)

# The author's FTP service is being startet with xinetd, therefore the value here is NO.

listen=YES

設置是否使用tcp_wrappers作為主機訪問控制方式:

tcp_wrappers =YES

啟動 FTP 服務

啟動vsftpd可以採用三種方式:inetd、xinetd和standalone(獨立)工作模式。由於目前使用的xinetd擴展了inetd,它比inetd更加高效和實用,包括諸如請求記錄、訪問控制、將業務與網路介面綁定等改進,所以通常使用xinetd,本文將介紹xinetd以及standalone兩種啟動方式。

1. xinetd方式啟動

使用該啟動方式,在上述的配置文件當中,應該將listen=YES設為list=NO,並且將tcp_wrappers=YES設為tcp_wrappers=NO,並且使用如下命令將vsftpd的文檔目錄拷貝到/etc/xinetd.d目錄下:

# cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

# vi /etc/xinetd.d/vsftpd

將disable=yes設為disable=no即可。一個關於該啟動方式的的配置文件如下所示:

# cat /etc/xinetd.d/vsftpd

# default: on

# description: The vsftpd FTP server serves FTP connections. It uses

# normal, unencrypted usernames and passwords for authentication.

service ftp

{

socket_type = stream

wait = no

user = root

server = /usr/sbin/vsftpd

nice = 10

disable = no

flags = IPv4

}

現在,就可以使用如下命令來啟動vsftpd了。

停止獨立運行的vsftpd:

# service vsftpd stop

重新啟動xinetd守護進程:

# service xinetd restart

另外一點需要說明的是:如果想在系統啟動時就自動運行該服務,那麼需要使用setup命令,在網路服務配置的項目中,選中vsftpd守護進程即可。

2. 獨立工作模式啟動

vsftpd也可以工作在獨立工作模式下。這樣,我們需要再次打開「/etc/vsftpd.conf」做如下修改:

# Shall the vsftp daemon run in standalone operation? YES/NO

listen=YES

在這項設置之後,守護進程可以用如下方式啟動:

# service vsftpd start

同樣地,在獨立工作模式下,我們必須保證vsftpd沒有被xinetd啟動,這個可以使用如下命令來進行檢查:

# pstree|grep vsftpd

測試運行

在成功地安裝和配置之後,我們將對該FTP伺服器進行簡單的測試運行,示例如下:

# ftp liyang

Connected to liyang.

220 (vsFTPd 1.1.3)

Name (liyang:root): anonymous

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls -l

229 Entering Extended Passive Mode

150 Here comes the directory listing

drwxr-xr-x 20 500 100 400 Jun 04 16:14 mp3

drwxr-xr-x 3 500 100 464 Feb 09 21:28 test

drwxr-xr-x 57 500 100 5143 Jun 15 19:23 working

226 Directory send OK.

上述過程測試了FTP伺服器的成功運行,並且瀏覽了伺服器上的幾個文件夾

⑺ 解釋vsftpd源代碼

vsftpd配置文件採用「#」作為注釋符,以「#」開頭的行和空白行在解析時將被忽略,其餘的行被視為配置命令行,每個配置命令的「=」兩邊不要留有空格。對於每個配置命令,在配置文件中還列出了相關的配置說明,利用vi編輯器可實現對配置文件的編輯修改。方法如下:
#vi /etc/vsftpd/vsftpd.conf

1.登錄和對匿名用戶的設置
write_enable=YES //是否對登錄用戶開啟寫許可權。屬全局性設置。默認NO
local_enable=YES //是否允許本地用戶登錄FTP伺服器。默認為NO
anonymous_enable=YES //設置是否允許匿名用戶登錄FTP伺服器。默認為YES
ftp_username=ftp //定義匿名用戶的賬戶名稱,默認值為ftp。
no_anon_password=YES //匿名用戶登錄時是否詢問口令。設置為YES,則不詢問。默
認NO
anon_world_readable_only=YES //匿名用戶是否允許下載可閱讀的文檔,默認為YES。
anon_upload_enable=YES //是否允許匿名用戶上傳文件。只有在write_enable設置為
YES時,該配置項才有效。而且匿名用戶對相應的目錄必須有寫許可權。默認為NO。
anon_mkdir_write_enable=YES //是否允許匿名用戶創建目錄。只有在write_enable設置為 YES時有效。且匿名用戶對上層目錄有寫入的許可權。默認為NO。
anon_other_write_enable=NO //若設置為YES,則匿名用戶會被允許擁有多於
上傳和建立目錄的許可權,還會擁有刪除和更名許可權。默認值為NO。

2.設置歡迎信息
用戶登錄FTP伺服器成功後,伺服器可向登錄用戶輸出預設置的歡迎信息。
ftpd_banner=Welcome to my FTP server.
//該配置項用於設置比較簡短的歡迎信息。若歡迎信息較多,則可使用banner_file配置項。
banner_file=/etc/vsftpd/banner
//設置用戶登錄時,將要顯示輸出的文件。該設置項將覆蓋ftpd_banner的設置。
dirmessage_enable=YES
//設置是否顯示目錄消息。若設置為YES,則當用戶進入特定目錄(比如/var/ftp/linux)時,將顯示該目錄中的由message_file配置項指定的文件(.message)中的內容。
message_file=.message //設置目錄消息文件。可將顯示信息存入該文件。該文件需要放在 相應的目錄(比如/var/ftp/linux)下

3.設置用戶登錄後所在的目錄
local_root=/var/ftp
// 設置本地用戶登錄後所在的目錄。默認配置文件中沒有設置該項,此時用戶登錄FTP伺服器後,所在的目錄為該用戶的主目錄,對於root用戶,則為/root目錄。
anon_root=/var/ftp
//設置匿名用戶登錄後所在的目錄。若未指定,則默認為/var/ftp目錄。

4.控制用戶是否允許切換到上級目錄
在默認配置下,用戶可以使用「cd..」命名切換到上級目錄。比如,若用戶登錄後所在的目錄為/var/ftp,則在「ftp>」命令行下,執行「cd..」命令後,用戶將切換到其上級目錄/var,若繼續執行該命令,則可進入Linux系統的根目錄,從而可以對整個Linux的文件系統進行操作。

若設置了write_enable=YES,則用戶還可對根目錄下的文件進行改寫操作,會給系統帶來極大的安全隱患,因此,必須防止用戶切換到Linux的根目錄,相關的配置項如下:
chroot_list_enable=YES
// 設置是否啟用chroot_list_file配置項指定的用戶列表文件。設置為YES則除了列在j/etc/vsftpd/chroot_list文件中的的帳號外,所有登錄的用戶都可以進入ftp根目錄之外的目錄。默認NO
chroot_list_file=/etc/vsftpd/chroot_list
// 用於指定用戶列表文件,該文件用於控制哪些用戶可以切換到FTP站點根目錄的上級目錄。
chroot_local_user=YES
// 用於指定用戶列表文件中的用戶,是否允許切換到上級目錄。默認NO
注意:要對本地用戶查看效果,需先設置local_root=/var/ftp

具體情況有以下幾種:
1)當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd/chroot_list文件中列出的用戶,可以切換到上級目錄;未在文件中列出的用戶,不能切換到站點根目錄的上級目錄。
2)當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd/chroot_list文件中列出的用戶,不能切換到站點根目錄的上級目錄;未在文件中列出的用戶,可以切換到上級目錄。
3)當chroot_list_enable=NO,chroot_local_user=YES時,所有用戶均不能切換到上級目錄。
4)當chroot_list_enable=NO,chroot_local_user=NO時,所有用戶均可以切換到上級目錄。
5)當用戶不允許切換到上級目錄時,登錄後FTP站點的根目錄「/」是該FTP賬戶的主目錄,即文件的系統的/var/ftp目錄。

5.設置訪問控制
(1)設置允許或不允許訪問的主機(見TBP14)
tcp_wrappers=YES用來設置vsftpd伺服器是否與tcp wrapper相結合,進行主機的訪問控制。默認設置為YES,vsftpd伺服器會檢查/etc/hosts.allow和/etc/hosts.deny中的設置,以決定請求連接的主機是否允許訪問該FTP伺服器。這兩個文件可以起到簡易的防火牆功能。
比如,若要僅允許192.168.168.1~192.168.168.254的用戶,可以訪問連接vsftpd伺服器,則可在/etc/hosts.allow文件中添加以下內容:
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny

(2)設置允許或不允許訪問的用戶
對用戶的訪問控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件來控制實現。相關配置命令如下:
userlist_enable=YES
// 決定/etc/vsftpd/user_list文件是否啟用生效。YES則生效,NO不生效。
userlist_deny=YES
// 決定/etc/vsftpd/user_list文件中的用戶是允許訪問還是不允許訪問。若設置為YES,則/etc/vsftpd/user_list文件中的用戶將不允許訪問FTP伺服器;若設置為NO,則只有vsftpd.user_list文件中的用戶,才能訪問FTP伺服器。

6.設置訪問速度
anon_max_rate=0
//設置匿名用戶所能使用的最大傳輸速度,單位為b/s。若設置為0,則不受速度限制,此為默認值。
local_max_rate=0
// 設置本地用戶所能使用的最大傳輸速度。默認為0,不受限制。

7.定義用戶配置文件
在vsftpd伺服器中,不同用戶還可使用不同的配置,這要通過用戶配置文件來實現。
user_config_dir=/etc/vsftpd/userconf //用於設置用戶配置文件所在的目錄。
設置了該配置項後,當用戶登錄FTP伺服器時,系統就會到/etc/vsftpd/userconf目錄下讀取與當前用戶名相同的文件,並根據文件中的配置命令,對當前用戶進行更進一步的配置。比如,利用用戶配置文件,可實現對不同用戶進行訪問的速度進行控制,在各用戶配置文件中,定義local_max_rate配置,以決定該用戶允許的訪問速度。

8.與連接相關的設置
listen=YES
//設置vsftpd伺服器是否以standalone模式運行。以standalone模式運行是一種較好的方式,此時listen必須設置為YES,此為默認值,建議不要更改。很多與伺服器運行相關的配置命令,需要此運行模式才有效。若設置為NO,則vsftpd不是以獨立的服務運行,要受xinetd服務的管理控制,功能上會受限制。

max_clients=0
//設置vsftpd允許的最大連接數,默認為0,表示不受限制。若設置為150時,則同時允許有150個連接,超出的將拒絕建立連接。只有在以standalone模式運行時才有效。

max_per_ip=0
// 設置每個IP地址允許與FTP伺服器同時建立連接的數目。默認為0,不受限制。通常可對此配置進行設置,防止同一個用戶建立太多的連接。只有在以standalone模式運行時才有效。

listen_address=IP地址
//設置在指定的IP地址上偵聽用戶的FTP請求。若不設置,則對伺服器所綁定的所有IP地址進行偵聽。只有在以standalone模式運行時才有效。對於只綁定了一個IP地址的伺服器,不需要配置該項,默認情況下,配置文件中沒有該配置項。若伺服器同時綁定了多個IP地址,則應通過該配置項,指定在哪個IP地址上提供FTP服務,即指定FTP伺服器所使用的IP地址。
注意:設置此值前後,可以通過netstat -tnl對比埠的監聽情況

accept_timeout=60
//設置建立被動(PASV)數據連接的超時時間,單位為秒,默認值為60。
connect_timeout=60
// PORT方式下建立數據連接的超時時間,單位為秒。
data_connection_timeout=300
//設置建立FTP數據連接的超時時間,默認為300秒。

idle_session_timeout=600
//設置多長時間不對FTP伺服器進行任何操作,則斷開該FTP連接,單位為秒,默認為600秒。即設置發呆的逾時時間,在這個時間內,若沒有數據傳送或指令的輸入,則會強行斷開連接。
pam_service_name=vsftpd
//設置在PAM所使用的名稱,默認值為vsftpd。

setproctitle_enable=NO|YES
//設置每個與FTP伺服器的連接,是否以不同的進程表現出來,默認值為NO,此時只有一個名為vsftpd的進程。若設置為YES,則每個連接都會有一個vsftpd進程,使用「ps -ef|grep ftp」命令可查看到詳細的FTP連接信息。安全起見,建議關閉。

9.FTP工作方式與埠設置
(1)FTP工作方式簡介
FTP的工作方式有兩種,一種是PORT FTP,另一種是PASV FTP。下面介紹其工作方式。
二者的區別在於PORT FTP的數據傳輸埠是由FTP伺服器指定的,而PASV FTP則是由FTP客戶端指定的,而且每次數據連接所使用的埠號都不同。正因為如此,所以在CuteFTP等FTP客戶端軟體中,其連接類型設置項中有PORT和PASV兩種選擇。

當FTP伺服器設置為PASV工作模式時,客戶端也必須設置為PASV連接類型。若客戶端連接類型設置為PORT,則能建立FTP連接,但在執行ls或get等需要數據請求的命令時,將會出現無響應並最終報告無法建立數據連接。

(2)與埠相關的配置
listen_port=21
// 設置FTP伺服器建立連接所偵聽的埠,默認值為21。
連接非標准埠示例:ftp www.sunflower.org 7000
connect_from_port_20=YES
// 默認值為YES,指定FTP數據傳輸連接使用20埠。若設置為NO,則進行數據連接時,所使用的埠由ftp_data_port指定。

ftp_data_port=20
//設置PORT方式下FTP數據連接所使用的埠,默認值為20。
pasv_enable=YES|NO
//若設置為YES,則使用PASV工作模式;若設置為NO,使用PORT模式。默認為YES,即使用PASV模式。
pasv_max_port=0
//設置在PASV工作方式下,數據連接可以使用的埠范圍的上界。默認值為0,表示任意埠。
pasv_mim_port=0
//設置在PASV工作方式下,數據連接可以使用的埠范圍的下界。默認值為0,表示任意埠。

10.設置傳輸模式
FTP在傳輸數據時,可使用二進制(Binary)方式,也可使用ASCII模式來上傳或下載數據。
ascii_download_enable=YES //設置是否啟用ASCII模式下載數據。默認為NO。
ascii_upload_enable=YES //設置是否啟用ASCII模式上傳數據。默認為NO。

11.設置上傳文檔的所屬關系和許可權
(1)設置匿名上傳文檔的屬主
chown_uploads=YES
//用於設置是否改變匿名用戶上傳的文檔的屬主。默認為NO。若設置為YES,則匿名用戶上傳的文檔的屬主將被設置為chown_username配置項所設置的用戶名。
chown_username=whoever
//設置匿名用戶上傳的文檔的屬主名。只有chown_uploads=YES時才有效。建議不要設置為root用戶。 但系統默root

(2)新增文檔的許可權設定
local_umask=022
//設置本地用戶新增文檔的umask,默認為022,對應的許可權為755。umask為022,對應的二進制數為000 010 010,將其取反為111 101 101,轉換成十進制數,即為許可權值755,代表文檔的所有者(屬主)有讀寫執行權,所屬組有讀和執行權,其他用戶有讀和執行權。022適合於大多數情況,一般不需要更改。若設置為077,則對應的許可權為700。
anon_umask=022 //設置匿名用戶新增文檔的umask。默認077
file_open_mode=0755 //設置上傳文檔的許可權。許可權採用數字格式。 默認0666

12.日誌文件
xferlog_enable=YES //是否啟用上傳/下載日誌記錄。默認為NO
xferlog_file=var/log/vsftpd.log //設置日誌文件名及路徑。需啟用xferlog_enable選項
xferlog_std_format=YES //日誌文件是否使用標準的xferlog日誌文件格式(與wu-ftpd使用的格式相同) 。默認為NO

13.其他設置
text_userdb_names=NO
//設置在執行ls命令時,是顯示UID、GID還是顯示出具體的用戶名或組名稱。默認為NO,以UID和GID方式顯示,若希望顯示用戶名和組名稱,則設置為YES。
ls_recurse_enable=YES
//若設置為YES,則允許執行「ls –R」這個命令,默認值為NO。在配置文件中該配置項被注釋掉了,與此類似的還有一些配置,需要啟用時,將注釋符去掉並進行YES或NO的設置即可。

⑻ 求Linux大神幫忙解決centos6.2源代碼安裝vsftpd-3.0.0make報錯問題

為什麼不用yum源呢 很方便,我覺得自己編譯安裝的話需要看你的Makefile,而且你這個錯誤貌似是和內核不兼容,建議用yum源試試

⑼ linux中怎麼看源碼包和rpm包安裝的服務的版本是多少

源碼包安裝或者說是編譯安裝,是查不到安裝軟體的版本號的。只有rpm包才可以。編譯安裝完成後只能到指定的目錄下查看是否有相應的文件。

閱讀全文

與vsftpd源碼包下載相關的資料

熱點內容
程序員離職率多少 瀏覽:322
程序員那麼可愛電視劇今天沒更新 瀏覽:337
我的世界地形演算法 瀏覽:343
台灣dns的伺服器地址雲空間 瀏覽:288
音樂噴泉軟體要什麼加密狗 瀏覽:491
androidhttpmime 瀏覽:774
威科夫操盤法pdf 瀏覽:981
演算法可以用圖表表示 瀏覽:948
山西太原php 瀏覽:273
常用cmd網路命令 瀏覽:676
hashmap7源碼分析 瀏覽:898
搜索引擎原理技術與系統pdf 瀏覽:361
運動估計演算法python 瀏覽:860
java正則1 瀏覽:538
redhatlinux最新 瀏覽:182
python字典編程詞彙 瀏覽:147
微信和伺服器如何通訊 瀏覽:13
百家號伺服器配置有什麼用 瀏覽:600
怎麼為電腦加密 瀏覽:59
伺服器出現差錯是什麼意思 瀏覽:619