SSHD의 "일치 그룹"에서 제외하는 방법은 무엇입니까?

SSHD의 "일치 그룹"에서 제외하는 방법은 무엇입니까?

SSHD 구성에 일치하는 그룹이 있습니다.

cat /etc/ssh/sshd_config
...
    Match Group FOOGROUP
    ForceCommand /bin/customshell
...

시스템에 "FOOGROUP"에 속한 사용자가 많이 있습니다.

내 질문:"일치 그룹"에서 "FOOGROUP"의 특정 사용자를 제외하는 방법은 무엇입니까?

답변1

Match연산자는 여러 인수를 사용할 수 있어 매우 유연한 규칙을 허용합니다. 이 경우 원하는 것을 달성하기 위해 이와 같은 작업을 수행할 수 있습니다.

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

!조건에 전달된 매개변수를 무효화하면 User사용자가 username그룹에 있더라도 성공하지 못하고 FOOGROUP로그인 시 사용자 정의 셸을 얻지 못합니다.Matchusername

답변2

구성 파일 항목에 여러 절을 사용해야 하지만 매우 구체적인 방식으로 사용해야 합니다. 일부 설정에는 일반적으로 권장되는 가장 간단한 구문("match group FOOGROUP user!username")을 유발하여 그룹의 다른 사용자가 일치하는 것을 방지하거나 chroot 감옥에서 탈출하도록 허용하는 버그가 있습니다.

OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.2d를 사용하는 Debian Jessie에서 그룹의 다른 사람들이 더 이상 연결할 수 없다는 결과를 얻었습니다. 다른 사람탈옥을 신고하세요. 두 경우 모두 구문은 다음과 같습니다.

Match Group FOOGROUP User *,!username

부작용은 없는 것 같습니다. 의심할 바 없이 파서에는 어떤 종류의 버그가 있습니다.

답변3

아래 옵션을 사용하면 sftp 사용자를 지정된 디렉터리에 가둘 수 있고 지정된 사용자는 SSH를 통해 로그인할 수도 있습니다.

Match Group groupname User *,!username

감사해요.

관련 정보