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 Exception List
    • isi ftp modify --chroot-exception-list=["comma separated list of usernames"]
    • 定义谁可以绕过 Chroot Local Mode
  • Chroot Local Mode
    • 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 和儿童
  • Local root path
    • isi ftp modify --local-root-path=['/ifs/ftp/path']
    • 这定义了在登录时路由 FTP 用户的位置。如果留空,则默认为用户 homedir

默认 FTP 行为

以下是默认情况下 FTP 服务的行为方式。

  • Allow Anon Access: 否
  • Always Chdir Homedir: 是
  • Chroot Local Mode: none
  • Local root Path: -

这意味着只有身份验证提供程序上存在的用户才能通过 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。默认情况下,此设置设为 none,但该设置有 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.