【小筆記】大量建立 FileZilla Server 使用者帳號

當我們準備著手建立大量帳號之前,我們又要做一點小改造了。

就是我們要把剛剛的 Test 使用者,先加入 Test Group 這個群組裡,這樣子才方便我們建立大量帳號。

如果,我們有幫 Test 這個使用者設定一個根目錄路徑,請將它刪除,也就是該使用者的「Shared folders」都沒有任何資料。因為我們是用群組來進行控制,而不是使用者。

改造完畢之後,我們要再回頭看設定檔裡 <User></User> 這部份了。

首先,我們將該這區塊內的文字都複製下來,把第一行的 <User Name="Test"> 刪除,並存在文字檔裡頭,假設名為 Temp.txt。

這個 Temp.txt 會長得像這樣:

<Option Name="Pass"></Option>
<Option Name="Group">Test Group</Option>
<Option Name="Bypass server userlimit">2</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">2</Option>
<Option Name="Comments"></Option>
<Option Name="ForceSsl">2</Option>
<IpFilter>
<Disallowed />
<Allowed />
</IpFilter>
<Permissions />
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="2" UlType="0" UlLimit="10" ServerUlLimitBypass="2">
<Download />
<Upload />
</SpeedLimits>
</User>

再來我們就要利用 for 和 type 這兩個指令,以迴圈的方式幫我們產生大量帳號的設定值了。

for /L %%i in (1,1,10) do (
echo ^<User Name="Test%%i"^>>>out.txt
type Temp.txt>>out.txt
)

這裡的意思是說,我設了一個變數 i,起始值是 1,步進值是 1,最終值是 10,也就是說這是一個跑十次迴圈。而變數 i 的值,則是 1~10。如果,我們是寫成 in (2, 4, 14),那麼起始值是 2,步進值是 4,最終值是 12,那麼變數 i 的值則是 2, 6, 10, 14。

echo 這裡,最重要的就是「^<」和「^>」了。因為大於和小於這兩個符號,在 DOS 裡是特殊用途的,又因為我們必須要把那兩個符號輸出到檔案,所以要在前面加上「^」符號才不會出問題。

「>>out.txt」則是指,把前面的東西,輸出到 out.txt 這個檔案裡。「>>」是指一直增加,「>」則算是取代原內容的意思。

type 指令,主要可以把一個文字檔傾印到螢幕,簡單來說,就是讀取文字檔裡的文字並顯示在螢幕之上,而我就利用這個指令,把文字檔的內容輸出到 out.txt 這個檔案裡。

最後,都跑完之後,我們就可以把 out.txt 的內容貼到設定檔裡頭了。而我們,也就完成了建立大量帳號的目的了。

不過,貼到設定檔裡頭後,怎麼會進到 FileZilla Server 卻沒看到帳號!其實原因很簡單,因為 FileZilla Server 還在執行,而設定檔是在程式啟動時就載入資料了,我們後來手動加入的資料,它是不會去讀取的。因此,我們只要重新啟動 FileZilla Server 就可以看到大量帳號湧入了。

在這裡,我並沒有特別設定密碼,主要原因是密碼會經過一道加密程序,至於是什麼樣的加密程序,我就不方便說了,不過這部份可以在官方論壇找到一些些的資訊。因為找不到可以把明碼加密的指令,所以我也就沒特針對密碼特別設定。畢竟,我是大量建立「帳號」嘛~~~(笑)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策服務條款