그룹 사용자의 홈 폴더를 제한하고 터미널 액세스를 제거하는 방법을 알고 있지만 여러 그룹에서 작동하도록 할 수는 없는 것 같습니다.
두 그룹이 있습니다.
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
는 사용자 그룹이 소유해야 합니다. 소유권root
root
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/