Isilon:OneFS 8.X 及更新版本:如何將 chroot jail- FTP 使用者鎖定至特定目錄
Summary: 本文說明如何使用 isi ftp 命令為使用 FTP 連線的使用者設定叢集上的目錄存取。
Instructions
將涵蓋以下內容:
- 檢閱目前的 FTP 設定
- 經常調整的設定說明
- 預設行為
- 將使用者路由至特定目錄
- 將使用者限制至目錄樹狀結構
檢閱目前的 FTP 設定
sa8004-1# isi ftp view Accept Timeout: 1m Allow Anon Access: No Allow Anon Upload: Yes Allow Dirlists: Yes Allow Downloads: Yes Allow Local Access: Yes Allow Writes: Yes Always Chdir Homedir: Yes Anon Chown Username: root Anon Password List: - Anon Root Path: /ifs/home/ftp Anon Umask: 0077 Ascii Mode: off Chroot Exception List: - Chroot Local Mode: none Connect Timeout: 1m Data Timeout: 5m Denied User List: - Dirlist Localtime: No Dirlist Names: hide File Create Perm: 0666 Limit Anon Passwords: No Local Root Path: - Local Umask: 0077 Server To Server: No Session Support: Yes Session Timeout: 5m User Config Dir: - FTP Service Enabled: Yes
經常調整的設定
有一些與使用者登入時路由方式經常會變更的相關設定:
- Always Chdir (變更工作目錄) Homedir (主目錄)
isi ftp modify --always-chdir-homedir=[true|false]- 定義 Isilon 是否允許使用者直接 FTP 至其起始目錄以外的目錄
- Chroot 例外清單
isi ftp modify --chroot-exception-list=["comma separated list of usernames"]- 定義哪些人可以略過
Chroot Local Mode
- Chroot 本機模式
isi ftp modify --chroot-local-mode=['all','all-with-exceptions','none','none-with-exceptions']- 定義是否
chroot應用和我們如何應用它- 全部 |使用者存取權僅限於
Local Root Path和兒童 - 無例外 |所有使用者,但
Chroot Exception List僅限於Local Root Path和兒童 - 無 |使用者存取權不限於
Local Root Path - 無例外 |無其他使用者,但
Chroot Exception List僅限於Local Root Path和兒童
- 全部 |使用者存取權僅限於
- 本機根路徑
isi ftp modify --local-root-path=['/ifs/ftp/path']- 這可定義 FTP 使用者登入時路由的位置。如果保留空白,則預設至使用者 homedir
預設 FTP 行為
以下是 FTP 服務預設的行為方式。
- 允許 Anon 存取:否
- Always Chdir Homedir:是
- Chroot 本機模式:無
- 本機根路徑:-
這表示僅允許存在於 Auth 提供者的使用者可透過 FTP 存取叢集。系統一律會透過將其傳送到其根目錄來開始連線,然後允許他們自由瀏覽 (根據權限評估)。既 Local Root Path 未定義,使用者將被路由到其使用者配置檔中指定的路徑。您可以檢查一下 isi auth users $username | grep Home 哪裡 $username 將替換為您正在檢查的使用者名稱。以下是本機使用者的範例:
sa8004-1# isi auth users view xavier | grep Home Home Directory: /ifs/home/xavier
在預設組態中,上述使用者會連線至 Isilon,並路由至 /ifs/home/xavier (無論連線時設定的路徑為何),之後可能會將目錄變更為 /ifs/home/ 既 Chroot Local Mode 設置為“無”。
將使用者路由至特定目錄
依預設,連接至 OneFS FTP 服務的使用者將會路由至其主目錄。然而,客戶通常希望 FTP 運作方式更像 Dropbox。在這種情況下,您只需編輯設置即可 Local Root Path。這會導致使用者路由至該路徑,而非其主目錄。將值設為 <空白> 會將其重設為主目錄。
以下為這些命令的範例:
# Routing to /ifs/ftp sa8004-1# isi ftp modify --local-root-path=/ifs/ftp # Restoring to default sa8004-1# isi ftp modify --local-root-path=''
將使用者限制至目錄樹狀結構
依預設,連接到 OneFS FTP 服務的使用者能夠查看整個檔案系統,並在權限允許時瀏覽 (我們仍會檢查使用者名稱等),然而許多客戶偏好其使用者僅限使用與其相關的檔案系統部分。這是通過設置完成的 Chroot Local Mode。將該設定套用至使用者時,他們僅能瀏覽至或查看其下方的檔案 Root Path。依預設,此設定為「無」,但該設定有 4 個不同的應用。
使用以下方式調整此設定 isi ftp modify --chroot-local-mode=['all','all-with-exceptions','none','none-with-exceptions']
- 全部 |使用者存取權僅限於
Local Root Path和兒童 - 無例外 |所有使用者,但
Chroot Exception List僅限於Local Root Path和兒童 - 無 |使用者存取權不限於
Local Root Path - 無例外 |無其他使用者,但
Chroot Exception List僅限於Local Root Path和兒童
新增例外 isi ftp modify --chroot-exception-list=["comma separated list of usernames"]
以下是將除一個使用者之外的所有使用者限制為以下內容的範例: /ifs/ftp。該使用者仍會開始連線,但能看到其餘的 /ifs/
# Adding user to exception list sa8004-1# isi ftp modify --chroot-exception-list=xavier # Routing all logins to `/ifs/ftp` sa8004-1# isi ftp modify --local-root-path=/ifs/ftp # Limiting everyone by `xavier` to the Local Root Path sa8004-1# isi ftp modify --chroot-local-mode=all-with-exceptions
註
命令參考:
- PowerScale OneFS CLI 管理指南
- 本管理指南未定義所有命令的行為