sshd_config에서 DenyGroups 재정의

sshd_config에서 DenyGroups 재정의

sshd_config그룹 내 사용자가 이 서버에 접근 nologin할 수 없도록 구성된 파일이 있습니다 ( ). 이 그룹에 여러 사용자가 있지만 사용자 중 한 명에 대해 이를 재정의하고 싶습니다(사용자를 호출하겠습니다 ).sshDenyGroups nologingreg

AllowUsers greg파일 에 추가하려고 시도했지만 sshd_config작동하지 않는 것 같습니다. 이것이 가능합니까?

sshd_config는 다음과 같습니다:

   AllowTcpForwarding no
   ClientAliveCountMax 1
   ClientAliveInterval 300
   LoginGraceTime 1m
   PermitRootLogin no
   Protocol 2 
   RSAAuthentication no
   Subsystem       sftp    /usr/libexec/openssh/sftp-server
   UsePAM yes
   X11Forwarding yes
   DenyGroups nologin
   LogLevel INFO
   MaxAuthTries 4
   IgnoreRhosts yes
   HostBasedAuthentication no
   PermitEmptyPasswords no
   PermitUserEnvironment no
   Ciphers aes128-ctr,aes192-ctr,aes256-ctr

"AllowUsers greg"(greg는 로그인 그룹의 구성원임)를 추가하면 greg가 SSH에 접속하는 것이 허용되지 않습니다.

답변1

매뉴얼 페이지에서는 sshd_config(5)다음과 같은 옵션의 동작을 설명합니다.

지정한 경우,기본 그룹 또는 보조 그룹 목록이나 이름이 패턴 중 하나와 일치하는 사용자/그룹에 대해서만 로그인이 허용/허용되지 않습니다.그룹 이름만 유효합니다. 숫자로 된 그룹 ID가 인식되지 않습니다. 기본적으로 모든 그룹에 로그인이 허용됩니다. 허용/거부 지시문은 다음 순서로 처리됩니다.거부사용자,사용자 허용,거부 그룹, 그리고 마지막으로AllowGroups.

이는 이 두 가지 옵션만 정의하면~해야 한다당신을 위해 일하십시오. 아마도 설정을 방해하는 다른 옵션을 사용하고 있을 것입니다. 사용중인 전체 구성을 게시할 수 있습니까?

답변2

나에게는 간단해 보입니다. 그룹 greg에서 제거하면 됩니다 nologin.

답변3

이렇게 하면 안 되니까.모두sshd최종 결정을 내리기 전에 지침을 평가합니다 . 따라서 greg에서는 허용되지만 AllowUsers나중에 DenyGroups그가 속한 그룹과 일치하여 거부됩니다. 여기서 매뉴얼은 모든 지시문이 Jakuje에서 설명한 순서대로 평가된다는 언급이 없기 때문에 다소 불특정합니다. 그래서 OpenSSH에서 이것을 시도했습니다. 예비 시스템의 5.2p1. 실제로 평가 순서는 반대여야 합니다(먼저 그룹 허용/거부, 다음 사용자 허용/거부). 적어도 나에게는 그것이 훨씬 더 이해가 될 것입니다.

관련 정보