Isilon:OneFS 8.X 及更新版本:如何將 chroot jail- FTP 使用者鎖定至特定目錄

Summary: 本文說明如何使用 isi ftp 命令為使用 FTP 連線的使用者設定叢集上的目錄存取。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

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

命令參考:

Affected Products

PowerScale OneFS

Products

Isilon, PowerScale OneFS
Article Properties
Article Number: 000157952
Article Type: How To
Last Modified: 01 Oct 2024
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.