Переопределить DenyGroups в sshd_config

Переопределить DenyGroups в sshd_config

У меня есть sshd_configфайл, который настроен так, чтобы не разрешать пользователям в группе nologinвходить sshна этот сервер ( DenyGroups nologin). Хотя у меня есть несколько пользователей в этой группе, я хочу переопределить это для одного из пользователей (назовем пользователя greg).

Я пробовал добавлять 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)описывает поведение этих опций следующим образом:

Если указано,Вход в систему разрешен/запрещен только для пользователей/групп, чей основной или дополнительный список групп или имя соответствует одному из шаблонов.Допустимы только имена групп; числовой идентификатор группы не распознается. По умолчанию вход разрешен для всех групп. Директивы allow/deny обрабатываются в следующем порядке:DenyUsers,РазрешитьПользователям,DenyGroups, и наконецРазрешитьГруппы.

Это намекает, что если вы определите только эти два параметра, тодолженработает для вас. Вы, вероятно, используете какие-то другие опции, которые мешают вашей настройке. Можете ли вы опубликовать всю конфигурацию, которую вы используете?

решение2

Мне кажется, все просто: удалить gregиз nologinгруппы.

решение3

Вы не можете сделать это таким образом, так каквседирективы оцениваются до sshdпринятия окончательного решения. Таким образом, хотя gregразрешено AllowUsers, оно отклоняется позже соответствием DenyGroupsгруппе, в которой он находится. Руководство здесь несколько неконкретно, поскольку не упоминает, что все директивы оцениваются в порядке, описанном Jakuje, поэтому я попробовал это в OpenSSH 5.2p1 на запасной системе. Действительно, порядок оценки должен быть обратным (сначала разрешить/запретить группы, затем разрешить/запретить пользователей). Это было бы гораздо более разумно, по крайней мере для меня.

Связанный контент