이틀 동안 이 작업을 했는데 곧 포기하려고 합니다. 누군가 도와주세요.
내 Active Directory 도메인에 Red Hat 6 서버가 가입되어 있습니다. 정상적인 상황에서는 로그인이 잘 작동합니다. /etc/security/pam_winbind.conf 파일에서 require_membership_of=를 사용하여 SSH 로그인을 특정 Active Directory 그룹으로 제한했습니다. 좋은 결과.
이제 이러한 사용자가 자신의 홈 디렉터리(chroot)에만 액세스하고 SFTP 로그인만 허용할 수 있도록 잠가야 합니다.
/etc/ssh/sshd_config 파일을 편집하기 위해 약 10억 가지 조합을 시도했지만 결국 사용자가 홈 폴더로 제한되지 않거나 로그인할 수 없게 되었습니다.다음 구성은 로컬 사용자/그룹을 사용하여 chroot 및 sftp 로그인을 제한할 때 제대로 작동합니다.Match group
(물론 로컬 사용자 그룹으로 변경했습니다 )
나에게 질문하세요생각하다내 사실은 LDAP 사용자가 로컬 사용자가 아니며 로컬 그룹이 없다는 것입니다. 내 sshd_config 파일의 관련 부분은 다음과 같습니다.
Match group 'Domain Users'
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
sshd를 다시 시작하면 오류가 나타납니다. 로 /etc/ssh/sshd_config line 135: Bad Match condition
변경하면 오류가 발생하지 않지만 LDAP 사용자는 홈 디렉터리로 제한되지 않습니다(chroot가 작동하지 않음). 나는 또한 그것을 새로운 /chroot 폴더와 /home/%u로 변경하려고 시도했지만 둘 다 작동하지 않았습니다.'Domain Users'
Domain\040Users
ChrootDirectory %h
떠오르는 가능한 해결책은 다음과 같습니다.
- LDAP 사용자가 속한 기본 그룹을 변경합니다. (이 설정은 어디에도 없고 /etc/default/useradd 설정이 적용되지 않습니다.)
- sshd_config 파일을
Match group
도메인 사용자에게 적합한 파일로 변경합니다. 도메인 사용자 그룹의 LDAP에서'Domain Users'
,Domain\ Users
, 및 SID를 시도했습니다 .Domain\040Users
이 모든 것이 작동하지 않거나 sshd를 다시 시작할 때 오류가 발생합니다 - 처음 로그인할 때 시스템이 로컬 사용자/그룹을 생성하도록 합니다(그러나 이로 인해 AD에 대한 비밀번호 동기화가 중단될 수 있음).
- 제가 완전히 놓친 것들도 있습니다.
LDAP 로그인을 통해 chroot 제한을 설정한 경험이 있는 사람이 있습니까? 나는 당황해서 브라우저에서 더 많은 탭을 열 수 없다고 생각합니다.
답변1
#centos 채널의 TrevorH1 덕분에 작동하게 만들 수 있었습니다.
그룹을 공백과 일치시키는 방법(내 경우에는 도메인 사용자)은 ?
공백(표준 쉘 전역 패턴)을 나타내는 데 사용하는 것입니다. 이는 공백 이외의 문자가 있는 모든 그룹과 일치하지만 내 필요에 적합합니다.
예를 들어 내 새로운 sshd_config
모습은 다음과 같습니다
Match Group domain?users
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
도메인 대신 소문자를 사용하시겠습니까? 나에게는 사용자도 중요하다. LDAP의 그룹도 대문자입니다. 이를 사용하면 id <username>
사용자가 속한 모든 그룹의 목록을 제공하여 필터링해야 하는 그룹을 찾을 수 있습니다 . 여러 LDAP 그룹(예: 도메인 사용자, 도메인! 사용자, 도메인 사용자)이 있는 경우 이는 필요할 수도 있고 필요하지 않을 수도 있는 모든 경우와 일치합니다.
답변2
이 매칭 그룹 "도메인 사용자"를 사용해 볼 수 있습니다. 이것은 나에게 효과적입니다. 내가 사용하는 구문도 "WORKGROUP\domain users" 그룹과 일치시키기가 귀하의 구문보다 어렵습니다.