如何在共享 sftp 文件夹中设置 sftp 服务器权限和所有权? (ACL 的?)

如何在共享 sftp 文件夹中设置 sftp 服务器权限和所有权? (ACL 的?)

我需要对我们公司的 sftp 服务器进行专门配置,以便能够以安全的方式与客户交换文件(服务器运行 Debian Linux 8.7)。

  • 我们需要一个“客户”文件夹,其中我们所有的支持人员(每个人都有一个单独的用户帐户)都具有读/写访问权限。
  • 在“客户”文件夹下,我们需要为每一位客户创建一个子文件夹。
  • 每个客户还在服务器上拥有自己的用户帐户。
  • “支持用户”应在“客户”文件夹上进行 chroot。
  • 每个“客户用户”都应该在自己的目录中进行 chroot。
  • 身份验证方法应通过密码保护的证书(而不是通过密码)
  • 支持用户和客户用户都不能添加、更改或删除顶部文件夹(客户)中的文件和/或文件夹
customers  <--------- All support personel entry point
  |  
  +--customer_001  <-------- Customer 1 entry point
  |        |  
  |        +--files...  
  |  
  +--customer_002  <-------- Customer 2 entry point
  |        |  
  |        +--files...  
  |  
  +--customer_003  <-------- Customer 3 entry point
  |        |  
  |        +--files...  
  .  
  .  
  .

我按如下方式配置了 sshd:

[...]
PasswordAuthentication yes
[...]

# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

[...]

Match Group kunden
  ChrootDirectory %h
  ForceCommand internal-sftp

Match Group wit-user
  ChrootDirectory /var/sftp/customers
  ForceCommand internal-sftp
  • “客户用户”的配置方式是其主目录是“客户”下的相应目录。
  • 配置“支持用户”,他们的主目录是“客户”文件夹(尽管我不确定这是否重要甚至正确)

我的问题是,我不确定如何配置文件夹和文件的所有权和权限。据我了解,“internal-sftp”服务器需要 root:其 (ch)root 目录中的 root 所有权。由于两种情况下的根目录不同:

  • 如何配置文件/目录权限?

  • 我如何配置文件和目录的所有权?

  • 当主文件夹是相应的 sftp chroot 目录时,我应该如何处理不同用户的 ~/.ssh 文件夹(如果这是一个正确的解决方案)?

  • 为此我需要 ACL 吗?如果是这样:我必须如何配置它才能满足上述要求?

我试过(关于“sshd-configuration”的德语 ubunutusers.de wiki 条目)但这仅解决了“客户用户”而不是“支持用户”的部分问题。

相关内容