隨筆-49  評論-67  文章-27  trackbacks-0

          1 .簡介

          自從 0.99.2 版本開始, pure-ftpd 就開始支持虛擬用戶。虛擬用戶方式十分類似 /etc/passwd ,將用戶的相關信息,如口令、姓名、 uid 、目錄等,存入文件。但是該文件只適用于 FTP

          這意味著,可以為 FTP 設置虛擬用戶,而不需要在系統(tǒng)中添加系統(tǒng)用戶。同時,可以為這些用戶單獨設置配額、 ratio 、帶寬等限制。很多虛擬用戶可以共享同一個系統(tǒng)用戶的屬性,因此建議為這些虛擬用戶單獨創(chuàng)建一個系統(tǒng)用戶,從而方便管理。

          首先,可以在系統(tǒng)中添加相應的用戶和組,如 ftpuser ftpgroup 。如:

          groupadd ftpgroup

          useradd -g ftpgroup -d /dev/null -s /etc ftpuser

          可以使用 ”pure-pw” 來創(chuàng)建虛擬用戶。虛擬用戶的信息以每個用戶一行的方式存放在相應的文件中,其格式如下所示:

          <account>:<password>:<uid>:<gid>:<gecos>:<home directory>:<upload bandwidth>:<download bandwidth>:<upload ratio>:<download ratio>:<max number of connections>:<files quota>:<size quota>:<authorized local IPs>:<refused local IPs>:<authorized client IPs>:<refused client IPs>:<time restrictions>

          其中,除了帳號、口令、 uid 、 gid home 目錄之外,其它的可以是空值。

          2 .創(chuàng)建一個用戶

          接下來,我們來創(chuàng)建一個新的用戶。 pure-pw 的語法規(guī)范如下:

          pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]

          ????? -D/-d <home directory> [-c <gecos>]

          ????? [-t <download bandwidth>] [-T <upload bandwidth>]

          ????? [-n <max number of files>] [-N <max Mbytes>]

          ????? [-q <upload ratio>] [-Q <download ratio>]

          ????? [-r <allow client host>[/<mask>][,<allow client host>[/<mask>]]...]

          ????? [-R <deny client host>[/<mask>][,<deny client host>[/<mask>]]...]

          ???? ?[-i <allow local host>[/<mask>][,<allow client host>[/<mask>]]...]

          ????? [-I <deny local host>[/<mask>][,<deny local host>[/<mask>]]...]

          ????? [-y <max number of concurrent sessions>]

          ????? [-z <hhmm>-<hhmm>] [-m]

          假設我們要創(chuàng)建 joe 這樣一個虛擬用戶,則可以使用如下命令:

          pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe

          其中, -u 將虛擬用戶 joe 同系統(tǒng)用戶 ftpuser 關聯(lián)在一起。 -d 參數(shù)使 joe 只能訪問其 home 目錄。而如果想讓他訪問整個文件系統(tǒng),可以用 -D 選項。

          這時,如果 pure-ftpd 啟動時加入 -j(--createhome) 選項,則不需要創(chuàng)建 /home/ftpuser/joe 目錄。系統(tǒng)會在該用戶第一次登陸時自動創(chuàng)建。

          -z 選項運用用戶在一天當中指定的時間段連接服務器。如 -z 0900-1800 ,則該用戶只能在上午 9 點到晚上 6 點之間連接服務器。

          -r 選項或 -R 選項,可以限制用戶從指定 IP 和掩碼連入服務器

          -y ,用戶同一時間的并發(fā)連接數(shù)。 ’’ 或者 0 意味著不限制

          -f ,默認虛擬用戶的信息會被存放在 /etc/pureftpd.passwd 文件中,通過該選項可以改變該文件的位置。

          用戶的口令會根據(jù)系統(tǒng)對加密方式的支持情況,選擇一個最安全的方式進行加密。

          3 .更改一個用戶

          pure-pw adduser 唯一不同的是,使用 pure-pw usermod 不是創(chuàng)建一個用戶,而是更改已經(jīng)存在用戶的某些屬性。

          重置某些屬性的語法如下:

          pure-pw usermod <user> -n '' :禁用文件配額

          pure-pw usermod <user> -N '' :禁用文件大小配額

          pure-pw usermod <user> -q '' -Q '' :禁用 ratio

          pure-pw usermod <user> -t '' :禁用下載帶寬限制

          pure-pw usermod <user> -T '' :禁用上傳帶寬限制

          pure-pw usermod <user> <-i,-I,-r or -R> '' :禁用 IP 過濾

          pure-pw usermod <user> -z '' :禁用時間段約束

          pure-pw usermod <user> -y '' :禁用并發(fā)數(shù)限制

          4 .刪除一個用戶

          刪除一個用的命令語法是:

          pure-pw userdel <login> [-f <passwd file>] [-m]

          這時,用戶的信息會被從指定的 passwd 文件中刪除,但是用戶的 home 目錄會被保留,需要手工刪除。

          5 .改變用戶口令

          更改一個用戶口令的語法是:

          pure-pw passwd <login> [-f <passwd file>] [-m]

          6 .顯示用戶信息

          /etc/pureftpd.passwd 文件中記錄的信息不方便用戶的閱讀,因此 pure-ftpd 提供了顯示用戶信息的命令。其語法是:

          pure-pw show <login> [-f <passwd file>]

          7 .提交更改

          可以通過上面提到的命令,或者以手工方式對 /etc/pureftpd.passwd 文件進行修改,從而創(chuàng)建、修改和刪除一個虛擬用戶信息。但是,只有提交這些更改時, pure-ftpd 訪問才能生效。

          提交更改,意味著系統(tǒng)會根據(jù) /etc/pureftpd.passwd (或者指定的其它文件)來創(chuàng)建一個 pure-ftpd 可讀的二進制格式的文件 /etc/pureftpd.pdb 。通常,通過下面的命令:

          pure-pw mkdb

          可以通過 /etc/pureftpd.passwd 文件自動創(chuàng)建 /etc/pureftpd.pbd 文件。但是,如果需要指定特定的文件,可以通過下面的方式來實現(xiàn):

          pure-pw mkdb /etc/accounts/myaccounts.pdb -f /etc/accounts/myaccounts.txt

          這時,沒有必要去重啟 pure-ftpd 服務,對虛擬用戶進行的更改可以更新。同時,也可以通過 -m 選項,在對 /etc/pureftpd.passwd 文件進行修改的時候自動進行提交。

          8 .打開對虛擬用戶的支持

          使得 pure-ftpd 支持虛擬用戶,需要在編譯的時候加入選項 --with-puredb 。這時,可以通過在啟動服務是的 ’-l’ 參數(shù)來設置。如:

          /usr/local/sbin/pure-ftpd -j -lpuredb:/etc/pureftpd.pdb &

          可以在后臺,以自動創(chuàng)建虛擬用戶 home 目錄,用 puredb 的方式來支持虛擬用戶。

          9 .轉換系統(tǒng)用戶

          可以通過如下命令,將系統(tǒng)用戶轉換為虛擬用戶:

          pure-pwconvert

          如果以 root 用戶運行該命令,系統(tǒng)用戶的口令一并被轉入虛擬用戶配置文件。如:

          pure-pwconvert >> /etc/pureftpd.passwd

          10 .環(huán)境變量

          默認的情況下,如果指定了環(huán)境變量 PURE_PASSWDFILE ,則虛擬用戶的 passwd 文件位置由該變量的值指定。否則,默認是 /etc/pureftpd.passwd 。用樣, PURE_DBFILE 環(huán)境變量用來指定 pdb 文件的位置。默認是 /etc/pureftpd.pdb

          posted on 2006-04-11 00:27 思考 閱讀(3779) 評論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 娄烦县| 铁力市| 泾源县| 伊吾县| 新泰市| 阳曲县| 理塘县| 天台县| 鱼台县| 哈巴河县| 枣庄市| 鄄城县| 东安县| 花垣县| 那坡县| 阆中市| 田林县| 黑河市| 岳西县| 怀安县| 清水河县| 甘孜| 名山县| 康定县| 高安市| 静安区| 八宿县| 方城县| 调兵山市| 遂溪县| 泽普县| 习水县| 梨树县| 沾化县| 永靖县| 都安| 海淀区| 原平市| 山东省| 浦江县| 周口市|