當前位置:首頁 » 文件傳輸 » ftp取數時生成123tar
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ftp取數時生成123tar

發布時間: 2022-06-17 16:21:29

㈠ 如何在linux上配置ftp 及創建 ftp用戶

做一個虛擬賬戶就解決了:
步驟如下:
1、建立虛擬用戶口令庫文件
口令庫文件中奇數行設置用戶名,偶數行設置口令
# vi /etc/vsftpd/logins.txt 注意,一下是4行
upload 這個是帳戶名
upload 這個是密碼
download
download
2、生成vsftpd的認證文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
設置認證文件只對用戶可讀可寫
# chmod 600 /etc/vsftpd/vsftpd_login.db
3、建立虛擬用戶所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:以上2行中最後的2個文件名vsftpd_login和第2個步驟中的資料庫名字必須一致!
4、建立虛擬用戶所要訪問的目錄並設置相應許可權
# mkdir /home/ftpsite
# useradd -d /home/ftpsite virtual(用戶名)
# chown virtual:virtual /home/ftpsite
# chmod 700 /home/ftpsite/
5、設置vsftpd.conf配置文件
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
6、設置主配置文件
在vsftpd.conf文件中添加用戶配置文件目錄設置
user_config_dir=/etc/vsftpd_user_conf
# service vsftpd restart
7、建立用戶配置文件目錄
使用mkdir命令建立用戶配置文件目錄
# mkdir /etc/vsftpd_user_conf
為虛擬用戶建立單獨的配置文件,用戶配置文件名稱與用戶名相同
touch /etc/vsftpd_user_conf/upload
touch /etc/vsftpd_user_conf/download
8、每個FTP虛擬用戶都可以獨立設置其許可權
vi /etc/vsftpd_user_conf/upload
anon_world_readable_only=NO 可讀可下載
anon_upload_enable=YES 可上傳
anon_mkdir_write_enable=YES 可創建和刪除文件夾
anon_other_write_enable=YES 可文件改名和刪除文件
local_root=/home/ftpsite/upload 指定upload的宿主目錄
download_enable=NO 禁止下載
(注意:請先到/home/ftpsite下面去創建upload文件夾)

㈡ 請解釋一下FTP連接的命令及響應

FTP命令
命令 描述
ABOR 中斷數據連接程序
ACCT <account> 系統特權帳號
ALLO <bytes> 為伺服器上的文件存儲器分配位元組
APPE <filename> 添加文件到伺服器同名文件
CDUP <dir path> 改變伺服器上的父目錄
CWD <dir path> 改變伺服器上的工作目錄
DELE <filename> 刪除伺服器上的指定文件
HELP <command> 返回指定命令信息
LIST <name> 如果是文件名列出文件信息,如果是目錄則列出文件列表
MODE <mode> 傳輸模式(S=流模式,B=塊模式,C=壓縮模式)
MKD <directory> 在伺服器上建立指定目錄
NLST <directory> 列出指定目錄內容
NOOP 無動作,除了來自伺服器上的承認
PASS <password> 系統登錄密碼
PASV 請求伺服器等待數據連接
PORT <address> IP 地址和兩位元組的埠 ID
PWD 顯示當前工作目錄
QUIT 從 FTP 伺服器上退出登錄
REIN 重新初始化登錄狀態連接
REST <offset> 由特定偏移量重啟文件傳遞
RETR <filename> 從伺服器上找回(復制)文件
RMD <directory> 在伺服器上刪除指定目錄
RNFR <old path> 對舊路徑重命名
RNTO <new path> 對新路徑重命名
SITE <params> 由伺服器提供的站點特殊參數
SMNT <pathname> 掛載指定文件結構
STAT <directory> 在當前程序或目錄上返回信息
STOR <filename> 儲存(復制)文件到伺服器上
STOU <filename> 儲存文件到伺服器名稱上
STRU <type> 數據結構(F=文件,R=記錄,P=頁面)
SYST 返回伺服器使用的操作系統
TYPE <data type> 數據類型(A=ASCII,E=EBCDIC,I=binary)
USER <username>> 系統登錄的用戶名

FTP響應碼

響應代碼 解釋說明
110 新文件指示器上的重啟標記
120 伺服器准備就緒的時間(分鍾數)
125 打開數據連接,開始傳輸
150 打開連接
200 成功
202 命令沒有執行
211 系統狀態回復
212 目錄狀態回復
213 文件狀態回復
214 幫助信息回復
215 系統類型回復
220 服務就緒
221 退出網路
225 打開數據連接
226 結束數據連接
227 進入被動模式(IP 地址、ID 埠)
230 登錄網際網路
250 文件行為完成
257 路徑名建立
331 要求密碼
332 要求帳號
350 文件行為暫停
421 服務關閉
425 無法打開數據連接
426 結束連接
450 文件不可用
451 遇到本地錯誤
452 磁碟空間不足
500 無效命令
501 錯誤參數
502 命令沒有執行
503 錯誤指令序列
504 無效命令參數
530 未登錄網路
532 存儲文件需要帳號
550 文件不可用
551 不知道的頁類型
552 超過存儲分配
553 文件名不允許

㈢ linux FTP問題

這是shell里的東西,操作系統默認有3個文件描述符,0代表STDIN,1代表STDOUT,2代表STDERR,2>ftplog2.log的意思是將錯誤信息輸出到ftplog2.log文件里。<<是內聯輸入重定向符號,它使用一個文本標記,例子中是EOC來劃分數據的開始和結尾,這個標記可以人為自己定義,但必須在數據的開始與結尾保持一致。其實這么做,就是將登陸的錯誤信息進行日誌記錄,方便日後進行查詢。

㈣ 求寫一個腳本:登錄ftp伺服器,指定目錄,去取一個文件。

BINARY
CONNECT:??.??.??.??:informix:online
CD-R:/u/tmp
CD-L:f:\ftp_data
GET:*???*.tar.Z
EXIT
END
這個是針對lefpftp的, 你要看你的程序支持什麼腳本規則..

㈤ FTP詳解知道請進

文件傳輸協議
[編輯本段]
FTP(File Transfer Protocol),是文件傳輸協議的簡稱。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。用戶可以通過它把自己的PC機與世界各地所有運行FTP協議的伺服器相連,訪問伺服器上的大量程序和信息。

FTP(File Transfer Protocol)

FTP的作用
[編輯本段]

正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP伺服器程序)察看遠程計算機有哪些文件,然後把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。

FTP工作原理
[編輯本段]

拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。

簡單地說,支持FTP協議的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協議。(文件傳輸協議)

一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,並不是一件容易的事,我們知道 Internet是一個非常復雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的操作系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。

與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。

在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。

使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載文件。也就是說,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。

匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。

通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。

值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。

當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。

作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共文件,例如共享軟體、各公司技術支持文件等。 Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。

匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。

匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標准協議提供標准服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。

Internet中的有數目巨大的匿名FTP主機以及更多的文件,那麼到底怎樣才能知道某一特定文件位於哪個匿名FTP主機上的那個目錄中呢?這正是 Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的資料庫,使你可以直接找到所需文件的位置信息。

通過ftp傳輸文件的一般步驟
[編輯本段]

1.在本地電腦上登陸到國際互聯網.

2.搜索有文件共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑).

3.當與遠程主機或者對方的個人電腦建立連接後,用對方提供的用戶名和口令登陸到該主機或對方的個人電腦.

4.在遠程主機或對方的個人電腦登陸成功後,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這里的東東是指能放到電腦里去又能在顯示屏上看到的東東).

5.完成工作後關閉FTP下載軟體,切斷連接.

為了實現文件傳輸,用戶還要運行專門的文件傳輸程序,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,FlashFxp為其中的傑出軟體。有興趣的網友可以試試其他的軟體,如LeapFTP總歸各有各的特色.
FTP協議

TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet,你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到 Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。

㈥ 如何在FTP空間配置資料庫

一 備份數據 1,利用PW後台的數據備份功能進行備份.注意的是在備份數據的時候,為了數據的完整性,建議最好先關閉論壇,後台更新所有緩存和索引. 2,利用phpmyadmin,進行備份,具體如何備份,這里就不介紹.不清楚的可以查閱相關文檔,很簡單的.這里備份的文件是一個獨立sql文件. 以上方法一般適用與中小型論壇的備份,數據量比較小的時候還是很實用的,一般多為虛擬主機用戶使用.大型論壇的備份一般是 3,4兩種操作..主要是比較簡單操作,一些我個人認為比較復雜且不是很實用的方法就不介紹了不如通過Mysqlhot,使用binlog機制,增加mysql的事物日誌記錄等,這里就不介紹了.以下下操作一般有伺服器許可權的朋友才可以的. 3,直接復制或者打包資料庫文件,復制文件夾,大家應該都明白,我們來講打包,linux下用tar命令實現簡單有效,速度快.Win 下,直接用winrar或者winzip 搞定.注意需要暫停mysql服務. 4,Mysqlmp,是mysql自帶的腳本,假如資料庫名為abc,用戶名為:abcuser,密碼為123,,那應該使用 命令: mysqlmp -uabcuser -p123 adc > pwabc_bak.sql ,pwabc_bak.sql 你可以任意的命名. 二 數據還原 1,針對第一種備份方法,也是最普遍使用的.在恢復論壇數據的時候,要關閉php.ini文件中的safe mode,恢復完數據後,再打開SAFE MODE就可以了。(自己伺服器得才需要此設置,普通虛擬空間用戶不用此設置) >>用FTP軟體下載老論壇所有文件 >>將所有文件上傳至新空間 >>打開網頁 你的論壇地址/admin.php 用你的論壇創始人帳號登陸 >>數據恢復(隨便點一個文件,程序會自動將剩餘文件導入的) 以上方法可保留所有數據及插件和模板。 對於不需要模板的或者不需要原來的插件的 >>老論壇備份數據,用FTP拉到本地。(具體在data目錄下) >>上傳程序包里的文件到新空間,全新安裝 >>用FTP軟體將備份的數據上傳到新空間的data目錄下 >>用論壇創始人帳號進入後台,數據恢復 如果後台資料庫忘記了,可以直接修改sql_config.php里的資料庫帳號和創始人帳號密碼!這里輸入的創始人密碼不能直接是明文.需要是MD5加密過後的. 這里就給大家一個簡單的 MD5密文 [] 明文 [123456]之後就可以通過/admin.php 剛才修改的帳戶密碼登陸論壇了.. 2,對於phpmysql備份的數據,在2M以下可以直接導入資料庫中(至於怎麼導,看相關文檔,很簡單.)數據量很大的情況只能到伺服器上,伺服器上 mysql 命令導入(具體導入將在"4"中介紹)虛擬主機用戶,那麼就得聯系你的空間商,讓他們協助完成數據的恢復. 3,對於打包資料庫文件的,可以直接解壓 把資料庫文件 放到你資料庫名的目錄下. 在linux下注意資料庫文件的許可權.一般都是mysql:mysql. Win 下關系不是很大,除非你做了特殊的許可權設置. 4,對於mysqlmp 導出數據, 按照備份數據中的舉例用戶來演示, 則命令為: mysql -uabcuser -p123 abc < abc_bak.sql 注意: 無任何錯誤一般來說就是正常完成。通常在使用 phpmyadmin 導入的sql腳本中有create database語句,會導致導入數據出錯,因為database 已經存在,把這段語句刪除之,再次檢查客戶的建表語句前是否有drop表的語句,如果沒有,而原資料庫存在同名表格,也會出錯,這時需要清空原資料庫.

㈦ 求,在linux 中,搭建ftp伺服器的方法, 謝謝,

FTP不安全,萬不得已情況下,才可使用。
vsftp安全性相對較好
可採用sftp代替FTP
Linux另外常用的FTP:
proftp
vsftp
pureftp

下面以VSFTP為例:

安裝方式一:源碼包安裝
useradd -s /bin/false -d /var/ftp ftpvirtual
cd ......
make
make install
cp vsftpd.conf /etc
/usr/local/sbin/vsftpd & #啟動

安裝方式二:rpm安裝,推薦
rpm -ivh vsftpd-2.0.1-5.i386.rpm
或者 yum install vsftpd
/etc/init.d/vsftpd start

兩種方式安裝完成後,配置方法都一樣,下面開始講配置。

首先講主配置文件常見配置
vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #禁止匿名登錄
local_enable=NO #禁止本地用戶登錄
write_enable=YES #對本地用戶的寫許可權
local_umask=022 #本地用戶文件生成掩碼
dirmessage_enable=YES #顯示隱藏文件
xferlog_enable=YES #啟用上傳和下載日誌
connect_from_port_20=YES #伺服器將啟用FTP數據埠的連接請求
xferlog_std_format=YES #伺服器將使用標準的ftpd xferlog日誌格式
pam_service_name=vsftpd #設置PAM認證服務的配置文件名稱
userlist_enable=YES #設置文件中指定的用戶是否可以訪問vsftpd伺服器
listen=YES #FTP伺服器將處於獨立啟動模式
tcp_wrappers=YES #使用tcp_wrappers作為主機訪問控制方式
chroot_local_user=YES #將FTP本地用戶禁錮在宿主目錄中
chroot_list_enable=YES #將用戶禁錮在宿主目錄中
listen_address=192.168.0.2 #偵聽地址

pasv_enable=YES #是否允使用被動模式,默認是允許的。
pasv_min_port=10000 #指定使用被動模式時打開埠的最小值
pasv_max_port=10004 #指定使用被動模式時打開埠的最大值。

max_clients=100 #設置FTP伺服器所允許的最大客戶端連接數,值為0時表示不限制
max_per_ip=5 #同一IP地址允許的最大客戶端連接數,值為0時表示不限制,即線程
local_max_rate=500000 #設置本地用戶的最大傳輸速率,單位為bytes/sec,值為0時表示不限制
anon_max_rate=200000 #設置匿名用戶的最大傳輸速率,單位為bytes/sec,值為0表示不限制

use_localtime=YES #在vsftp之中的時間默認值是顯式GMT時間,因此我們會發現上面的時間與我們時寄存取的時間差八小時。改了這一項就好了。
listen_port=10021 改埠

one_process_model=NO yes可增加性能,增加負載,便降低安全,建議NO
nopriv_user=nobody 默認以nobody運行vsftp

對外服務,建議使用stand alone方式啟動,性能好。
僅內部人員,建議用super daemon啟動,修改如下:
listen=NO
……略

vsftp默認使用GMT時間,建議修改如下:
use_localtime=YES

/etc/vsftpd.ftpusers #保存不允許進行FTP登錄的本地用戶帳號,提高系統的安全性

/etc/vsftpd.user_list
#禁止vsftpd.user_list中的用戶
userlist_enable=YES
userlist_deny=YES
#僅允許vsftpd.user_list中的用戶
userlist_enable=YES
userlist_deny=NO

日誌:
vsftpd_log_file=/var/log/vsftpd.log

下面開始講vsftp四種「用戶認證」的方式

一、匿名用戶 ftp anonymous
/var/ftp 默認主目錄
在/etc/vsftpd/vsftpd.conf中:
anonymous_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES #可刪除
chmod -R 777 /var/ftp/pub/
修改/var/ftp/pub的SELinux許可權
執行以下命令,修改/var/ftp/pub這目錄的類型:
chcon -R -t ftpd_anon_rw_t /var/ftp/pub/
anon_root=/var/www/html/ftp #改匿名用戶的宿主目錄

二、本地用戶
默認支持,使用各自的宿主目錄。不安全
local_root=/opt #新增這一項,改成其他路徑

三、虛擬用戶 PAM文件方式 推薦

建立虛擬用戶口令庫文件
# cat logins.txt
mike
pwabcd
john
pw1234
生成vsftpd的認證文件
db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
新創建虛擬用戶所需的PAM配置文件
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
新創建虛擬用戶的系統用戶所要訪問的目錄並設置相應許可權
# useradd -s /bin/false -d /home/ftpsite ftpvirtual
# chmod 700 /home/ftpsite
#設置vsftpd.conf配置文件,支持虛擬用戶
guest_enable=YES
guest_username=ftpvirtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用戶配置文件目錄設置

/etc/vsftpd/vsftpd_user_conf/mike (同名),這里沒有的設置默認按vsftpd.conf的設置執行

anon_world_readable_only=NO #可以瀏覽FTP目錄和下載文件
anon_upload_enable=YES #用戶可以上傳文件,等同於 write_enable=yes 允許上傳
anon_mkdir_write_enable=YES #具有建立和刪除目錄的權利
anon_other_write_enable=YES #具有文件改名和刪除文件的許可權
local_root=/data/userspace #設置虛擬用戶登錄後的主目錄
anon_max_rate=1024000 #以Bytes/s為單位,這里限8Mbit,范圍大概在80%到120%之間

四、虛擬用戶 mysql認證方式 推薦
1. mysql安裝見mysql筆記
2.1 openssl-0.9.8e 源程序預編譯時在日誌中可能出現md5.h "Present But Cannot Be Compiled的錯誤,卸載下面某些包可能解決問題。
cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel
然後移除系統可能自帶的:
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
配置庫文件搜索路徑
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v

2.2 或者安裝openssl-0.9.8e的rpm包
3. pam_mysql-0.7RC1.tar.gz
#./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/ssl
如果mysql是rpm安裝的,則不帶--with-mysql參數,如果openssl是rpm安裝的,參數為--with-openssl
make;make install
注意pam_mysql.so路徑,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so

vi /etc/pam.d/vsftp.mysql #新建,僅兩行
auth required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

4.0 准備資料庫、表和數據
mysql> create database vsftp;
mysql> grant select on vsftp.* to vsftpd@localhost identified by '123456';
mysql> grant select on vsftp.* to [email protected] identified by '123456';
mysql> use vsftp;
mysql> create table users (
-> id int AUTO_INCREMENT NOT NULL,
-> name char(20) binary NOT NULL,
-> passwd char(48) binary NOT NULL,
-> primary key(id)
-> );
mysql> insert into users(name,passwd) values('hlc',password('hlc'));
mysql> insert into users(name,passwd) values('holly',password('holly'));

5.0 修改主配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vsftp
listen=YES
pam_service_name=vsftpd.mysql

以上完成了vsftp的配置,下面是補充:

dirmessage_enable=YES #設置歡迎語 在每個目錄下建立.message,寫入歡迎語即可。

db_load支持包(前面三個即可):
db4
db4-devel
db4-utils
db4-java
db4-tcl

Linux建議關閉selinux或征對FTP不做任何安全
setsebool -P -ftpd_disable_trans on
setsebool -P -allow_ftpd_full_access on
servie vsftpd restart
或者需要重啟伺服器

底下列出FTP訪問中所出現數字代碼的含意。
110 重新啟動標記應答。
120 服務在多久時間內ready。
125 數據鏈路埠開啟,准備傳送。
150 文件狀態正常,開啟數據埠。
200 命令執行成功。
202 命令執行失敗。
211 系統狀態或是系統求助響應。
212 目錄的狀態。
213 文件的狀態。
214 求助的訊息。
215 名稱系統類型。
220 新的聯機服務ready。
221 服務的控制埠關閉,可以注銷。
225 數據鏈接開啟,但無傳輸動作。
226 關閉數據埠,請求的文件操作成功。
227 進入passive mode。
230 用戶登錄。
250 請求的文件操作完成。
257 顯示目前的路徑名稱。
331 用戶名稱正確,需要密碼。
332 登入時需要帳戶信息。
350 請求的操作需要進一部的命令。
421 無法提供服務,關閉控制連結。
425 無法開啟數據鏈路。
426 關閉聯機,終止傳輸。
450 請求的操作未執行。
451 命令終止:有本地的錯誤。
452 未執行命令:磁碟空間不足。
500 格式錯誤,無法識別命令。
501 參數語法錯誤。
502 命令執行失敗。
503 命令順序錯誤。
504 命令所接的參數不正確。
530 未登入。
532 儲存文件需要賬戶登入。
550 未執行請求的操作。
551 請求的命令終止,類型未知。
552 請求的文件終止,儲存位溢出。
553 未執行請求的的命令,名稱不正確。

㈧ ftp問題。

1、 簡介
在絕大多數的LINUX發行版本中都選用的是WashingtonUniversity FTP,它是一個著名的FTP伺服器軟體,一般簡稱為wu-ftp。它功能強大,能夠很好地運行於眾多的UNIX操作系統,例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP伺服器,一大半以上採用了它。wu-ftp擁有許多強大的功能,很適於吞吐量較大的FTP伺服器的管理要求:
· 在用戶下載文件的同時對文件做自動的壓縮或解壓縮操作;
· 對不同網路上的機器做不同的存取限制;
· 記錄文件上載和下載時間;
· 顯示傳輸時的相關信息,方便用戶及時了解目前的傳輸動態;
· 設置最大連接數,提高了效率,有效地控制了負載。
2、 所需資源
2.2.1 所需包
RedHat6.2 伺服器安裝
2.2.2 所需配置文件
/etc/ftpusers
/etc/ftpaccess
/var/run/ftp.pids
/etc/ftpconversions
/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts
2.2.3 相關命令
ftpd FTP伺服器程序
ftpshut 用於關閉FTP伺服器程序
ftpcount 顯示目前在線人數
ftpwho 查看目前FTP伺服器的連接情況
ckconfig 檢查FTP伺服器的設置是否正確
ftprestart 重新啟動FTP服務
2.2.4 相關目錄
/home/ftpd/bin 存放一些供FTP用戶使用的可執行文件
/home/ftpd/etc 存放一些供FTP用戶使用的配置文件
/home/ftpd/pub 存放供下載的信息
/home/ftpd/incoming 存放供上載信息的空間

3、 配置方案
/etc/ftpaccess
說明: ftp許可權配置文件
源文件:
guestuser weboa# FTP用戶class all real,guest,anonymous *class weboa guest *# 格式:class [類名] [real/guest/anonymous] [IP地址] 功能: 這個指令的功能設定FTP伺服器上用戶的類別。並可對客戶端的IP 地址進行限制,允許某部分的IP地址或全部的IP地址訪問。而在FTP 伺服器上的用戶基本上可以分為以下三類: real 在該FTP伺服器有合法帳號的用戶; guest 有記錄的匿名用戶; anonymous 許可權最低的匿名用戶 email [email protected] 5# 格式:loginfails [次數] 功能:設定當用戶登錄到FTP伺服器時,允許用戶輸錯密碼的次數。 readme README* loginreadme README* cwd=*message /welcome.msg loginmessage .message cwd=*# 格式:message [文件名稱] [指令] 功能:當用戶執行所指定的指令時,系統將指定的文件內容顯示出來。 compress yes all# 格式:compress [yes/no] [類別] 功能:設置哪一個類別的用戶可以使用compress(壓縮)功能。 tar yes all# 格式:tar [yes/no] [類別] 功能:設置哪一個類別的用戶可以使用tar(歸檔)功能。 chmod no guest,anonymous# 格式:chmod [yes/no] [real/anonymous/guest] 功能:設置是否允許指定用戶使用chmod命令更改文件許可權。默認是允許。delete yes all# 格式:delete [yes/no] [real/anonymous/guest] 功能:設置是否允許指定用戶使用delete命令刪除文件。默認是允許。overwrite yes guest# 格式:overwrite [yes/no] [real/anonymous/guest] 功能:設置是否允許指定用戶覆蓋同名文件。默認是允許。rename yes guest# 格式:rename [yes/no] [real/anonymous/guest] 功能:設置是否允許指定用戶使用rename命令來為文件改名。默認是允許。 log transfers anonymous,real inbound,outbound# 格式:log transfers [real/guest/anonymous] [inbound/outbound] 功能:設置哪些用戶的上載(inbound)和下載(outbound)操作做日誌。shutdown /etc/shutmsg# 格式:shutdown [文件名] 功能: FTP伺服器關閉的時間可以設置在後面所指定的文件中,當設 置的時間一到,便無法登錄FTP伺服器了,要恢復的話只有將 這個文件刪掉。而這個文件必 須由指令/bin/ftpshut來生成。 passwd-check rfc822 warn# 格式:passwd-check [none/trivial/rfc822] [enforce/warn] 功能:設定對匿名用戶anonymous的密碼使用方式。 none 表示不做密碼驗證,任何密碼都可以登錄; trival 表示只要輸入的密碼中含有字元"@"就可以登錄; rfc822 表示密碼一定要符合RFC822中所規定的E-Mail格式才 能登錄; enfore 表示輸入的密碼不符合以上指定的格式就不讓登錄; warn 表示密碼不符合規定時只出現警告信息,仍然能夠登錄。limit remote 32 Any /etc/ftpd/toomany.msg# 格式:limit [類別] [人數] [時間] [文件名] 功能:這個指令的功能為設置指定的時間內指定的類別允許連接的 指定人數上限。當達到上限的時候,顯示指定文件的內容。upload /home/ftpd * noupload /home/ftpd /pub yes anonymous 0644 dirs# 格式:upload [根目錄] [上載目錄] [yes/no] [用戶] [許可權] [dirs/nodirs] 功能:對可以上載的目錄進行更加詳細的設置。 alias incoming /home/ftp/incoming# 格式:alias [目錄別名] [目錄名] 功能:給指定目錄設置一個別名,在切換目錄時就可以使用較短的目錄別名。
/etc/ftpusers
說明:FTP用戶黑名單,為了安全考慮,需要禁止以下用戶使用FTP
源文件:

4、 小結
在眾多的網路應用中,FTP(File Transfer porotocol)有著非常重要的地位。在Internet中一個十分重要的資源就是軟體資源。而各種各樣的軟體資源大多數都是放在FTP伺服器中的。可以說,FTP與WEB服務幾乎占據了整個Internet應用的80%以上。
FTP服務可以根據服務對象的不同分為兩類:一類是系統FTP伺服器,它只允許系統上的合法用戶使用;另一類是匿名FTP伺服器,Anonymous FTP Server,它使用任何人都可以登錄到FTP伺服器上去獲取文件。
如果你在安裝LINUX系統的時候,在選擇啟動進程的時候選擇?quot;ftpd"這一項的話,安裝完LINUX系統後,它已經將一個默認的FTP伺服器安裝到系統中去了。我們已經可以利用它來實現系統FTP伺服器的功能了。我們只需在此基礎上根據我們的需要進行一些個性化設定就可以了。

㈨ ftp命令的命令進階

ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ]
-C 允許用戶指定:通過 send_file 命令發出的文件必須在網路高速緩沖區(NBC)中經過緩存處理。此標志必須在指定了-q 標志的情況下使用。只有當文件在無保護的情況下以二進制方式發送時此標志才適用。
-d 將有關 ftp 命令操作的調試信息發送給 syslogd 守護進程。如果您指定-d 標志,您必須編輯/etc/syslog.conf 文件並添加下列中的一項:
OR
user.debug FileName
請注意:syslogd 守護進程調試級別包含信息級別消息。
如果不編輯/etc/syslog.conf 文件,則不會產生消息。變更了/etc/syslog.conf 文件之後,請運行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守護進程其配置文件的變更。關於調試級別的更多信息,請參考/etc/syslog.conf 文件。也請參考 debug 子命令。
-g 禁用文件名中的元字元拓展。解釋元字元可參考為擴展(有時叫做文件名匹配替換)文件名。請參考 glob 子命令。
-i 關閉多文件傳送中的互動式提示。請參考 prompt、mget、mput 和 mdelete 子命令,以取得多文件傳送中的提示的描述。
-n 防止在起始連接中的自動登錄。否則, ftp 命令會搜索$HOME/.netrc 登錄項,該登錄項描述了遠程主機的登錄和初始化過程。請參考 user 子命令。
-q 允許用戶指定:send_file 子常式必須用於在網路上發送文件。只有當文件在無保護的情況下以二進制方式發送時此標志才適用。
-v 顯示遠程伺服器的全部響應,並提供數據傳輸的統計信息。當 ftp 命令的輸出是到終端(如控制台或顯示)時,此顯示方式是預設方式。
如果 stdin 不是終端,除非用戶調用帶有-v 標志的 ftp 命令,或發送 verbose 子命令,否則 ftp 詳細方式將禁用。
-f 導致轉發憑證。如果Kerberos 5 不是當前認證方法,則此標志將被忽略。
-k realm 如果遠程站的域不同於本地系統的域,系統將允許用戶指定遠程站的域。因此,域和DCE 單元是同義的。如果Kerberos 5 不是當前認證方法,則此標志將被忽略。
? 1、[crud[args)1:在本地機中執行交互shell,exit回到FTP環境, 列如:!LS*.zip.
2、$macro-amc[args兒執行宏定義macro-name。
3、account[password]:提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4、append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠系統文件名,則使用本地文件名。
5、ASCii:使用ascⅡ型傳輸方式。
6、bell:每個命令執行完畢後計算機響鈴—次
7、bin:使用二進制文件傳輸方式
8、bye..退出FTP會話過程—
9、case:在使用mget時,將遠程主文件名中的大寫字母轉為小寫字母
10、cdremote·dir:進入遠程主機目錄。
11、cp..進入遠程主機目錄的父目錄。
12、chmodmodefile-name:將遠程主機文件file-name的存取方式設置為mode。列如:chmod777a.OUt。
13、close:中斷與遠程伺服器的FTP會話(與open對應)。
14、cr:使用ASCii「方式傳輸文件時,將回車換行轉換為回行
15、deleteremote-file-刪除遠程主機文件:
16、debugldebug-value3:.設置調試方式,顯示發送至遠程主機的每條命令。例如:debug3,若設為0,表示取消debug。
17、dir[remote-dir][Local-file]:顯示遠程主機目錄,並將結果存入本地文件local-file:
18、disconnection-.同close。
19、formformat:將文件傳輸方式設置為format,預設為file方式。
20、getremote-file[10cal-file]:將遠程主機的文件remote-file傳至本地 硬碟的local-file。
21、glob:設置mdelete,mget,mput的文件名擴展,預設時不擴展文件名,同命令行的-g參數。
22、hash:每傳輸1024位元組,顯示一個hash符號(#)。
23、help[cmd]:顯示FTP內部命令cmd的幫助信息,如.-helpget。
24、idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25、image:設置二進制傳輸方式(同binary)。
26、LCD[DIR]:將本地工作目錄切換至dir。
27、LS[remote-DIR][LOCAL-FILE]:顯示遠程目錄remote-dir,並存入本地文local-fileo
28、macdefmacro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。
29、mdelete[remote-file]:刪除遠程主機文件。
30、mdirremote-fileslocal-file:與dlr類似,但可指定多個遠程文件。列如mdir*.O.*.zipoutfiLe。
31、mgetremote-files:傳輸多個遠程文件。
32、mkdirdirname:在遠程主機中建一目錄。
33、misremote-filelocal-file.同nlist,但可指定多個文件名。
34、mode[modename]:將文件傳輸方式設置為modename,預設為stream方式。
35、modtimefile-name..顯示遠程主機文件的最後修改時間。·
36、mputlocal-file:將多個文件傳輸至遠程主機,
37、newerfile-name:如果遠程機中file-name的修改時間比本地硬碟同名文件的時間巨近,則重新傳輸該文件。·