공유 SFTP 폴더에서 SFTP 서버 권한 및 소유권을 설정하는 방법은 무엇입니까? (ACL?)

공유 SFTP 폴더에서 SFTP 서버 권한 및 소유권을 설정하는 방법은 무엇입니까? (ACL?)

안전한 방식으로 클라이언트와 파일을 교환할 수 있도록 회사의 sftp 서버를 구체적으로 구성해야 합니다(서버는 Debian Linux 8.7을 실행 중입니다).

  • 모든 지원 직원(각각 별도의 사용자 계정 보유)이 읽기/쓰기 액세스 권한을 갖는 "고객" 폴더가 필요합니다.
  • "Customers" 폴더 아래에 각 고객에 대한 하위 폴더를 만들어야 합니다.
  • 또한 각 고객은 서버에 자신의 사용자 계정을 가지고 있습니다.
  • "지원 사용자"는 "클라이언트" 폴더에서 루트로 지정되어야 합니다.
  • 각 "게스트 사용자"는 자신의 디렉터리에서 루트를 변경해야 합니다.
  • 인증 방법은 비밀번호로 보호된 인증서를 사용해야 합니다(비밀번호가 아님).
  • 지원 사용자와 고객 사용자 모두 최상위 폴더(고객)에 있는 파일 및/또는 폴더를 추가, 변경 또는 삭제할 수 없습니다.
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" 서버에는 (ch)root 디렉토리에 root:root 소유권이 필요합니다. 두 경우 모두 루트 디렉터리가 다르기 때문에:

  • 파일/디렉터리 권한을 구성하는 방법은 무엇입니까?

  • 파일 및 디렉터리의 소유권을 어떻게 구성합니까?

  • 홈 폴더가 해당 sftp chroot 디렉터리인 경우(올바른 해결 방법인 경우) 다양한 사용자의 ~/.ssh 폴더를 어떻게 처리해야 합니까?

  • 이를 위해 ACL이 필요합니까? 그렇다면 위의 요구 사항을 충족하도록 어떻게 구성해야 합니까?

나는 노력했다이것("sshd-configuration"에 대한 독일어 ubunutusers.de wiki 항목) 그러나 이는 "지원 사용자"가 아닌 "고객 사용자" 문제의 일부만 해결합니다.

관련 정보