내 거sshd_config

내 거sshd_config

그룹 사용자의 홈 폴더를 제한하고 터미널 액세스를 제거하는 방법을 알고 있지만 여러 그룹에서 작동하도록 할 수는 없는 것 같습니다.

두 그룹이 있습니다.

groupA
groupB

내 거sshd_config

Match Group groupa
   ChrootDirectory %h
   ForceCommand internal-sftp
   AllowTcpForwarding no
   PermitTunnel no
   X11Forwarding no
Match Group groupb
   ChrootDirectory %h
   ForceCommand internal-sftp
   AllowTcpForwarding no
   PermitTunnel no
   X11Forwarding no

Groupa의 사용자와 SFTP를 통해 서버에 액세스하기 위해 Cyberduck을 사용하려고 하면 제대로 작동합니다. 그러나 groupb의 사용자는 액세스할 수 없습니다. 사실 일을 시작도 못했어요 Match User userb.

/home/userb(기본 그룹은 groupb)에 대한 권한:drwx------

운영 체제 버전: Arch Linux

4.4.3-1-ARCH #1 SMP PREEMPT Fri Feb 26 15:09:29 CET 2016 x86_64 GNU/Linux

OpenSSH 버전

OpenSSH_7.2p1, OpenSSL 1.0.2g  1 Mar 2016

답변1

미래의 독자들을 위해 대답은 두 가지입니다.

사용자 폴더에 대한 권한은 755 이상이어야 합니다("다른 사람"이 디렉터리를 읽고 실행/입력할 수 있도록 하려면 - 실제로 그룹 권한은 관련이 없어야 함).

drwxr-xr-x

재산권 소유권이 불규칙합니다. 이러한 폴더(제 경우에는 sshd_config:의 변수인 /home/usera 및 home/userb 폴더) %h는 사용자 그룹이 소유해야 합니다. 소유권rootroot

 4 drwxr-xr-x  5 root                 root      4096 27. Okt 15:07 usera/
 4 drwxr-xr-x  2 root                 root      4096 13. Okt 13:35 userb/

이는 chroot 환경의 심볼릭 링크를 통해 havic을 중단합니다. 지금까지는 사용자 디렉토리의 하위 폴더를 생성하고 이를 해당 사용자(루트 아님)가 소유하게 함으로써 바인딩이 작동하도록 할 수 있었습니다. 그런 다음 /etc/fstab(chroot 환경 외부의 다른 디렉터리)에 바인딩을 만듭니다.

예를 들어

/media/5TB/My-Share    /home/usera/My-Share    none    defaults,bind 0 0

그리고 /home/usera/My-Share

4 drwxr-s---  3 usera groupa 4096  5. Mär 15:59 My-Share/

관련 정보