Как исключить из «Match Group» в SSHD?

13

В конфигурации SSHD есть группа соответствия:

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

Есть много пользователей на машине, которые находятся в «FOOGROUP».

Мой вопрос: Как я могу исключить данного пользователя, который находится в "FOOGROUP" из "Match Group"?

evachristine
источник

Ответы:

14

MatchОператор может принимать несколько аргументов, что позволяет очень гибкие правила. В этом случае вы можете сделать что-то подобное, чтобы добиться того, чего вы хотите.

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

!Отрицает аргумент , передаваемый в Userкритерий, так что даже если пользователь usernameнаходится в группе FOOGROUP, то Matchне будет успешным, и usernameне будет дано настраиваемое оболочку при входе в систему .

D_Bye
источник
И вы на 100% уверены, что это исключает только "! Username"? И другие пользователи, которые могут быть в FOOGROUP, останутся нетронутыми?
евахристин
2
Да. Я проверил это перед публикацией, и это работает, как я описываю.
D_Bye
1
Кажется, *,!usernameэто более чистый подход. Еще один случай, когда ваше решение не сработало, смешивает этот вид Matchс ChrootDirectory(протестировано на openssh 5.3p1 и 7.4p1).
Ouki
4

Вам нужно использовать несколько предложений в записи файла конфигурации, но очень специфическим способом. В некоторых установках есть ошибка, которая приводит к общепринятому и простейшему синтаксису («Match Group FOOGROUP User! Username»), из-за которого все остальные в группе не могут найти совпадения или позволяют им покинуть свою тюрьму chroot.

В Debian Jessie с использованием OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.2d я получаю результат, что все остальные в группе больше не могут подключаться. Другие сообщают о тюремных перерывах. В обоих случаях синтаксис

Match Group FOOGROUP User *,!username

Кажется, работает без побочных эффектов. Какая-то ошибка в парсере, без сомнения.

Nadreck
источник
0

с опцией ниже я могу заключить в тюрьму пользователя sftp в указанном каталоге, а также указанного пользователя, способного войти через ssh.

Match Group groupname User *,!username

Благодарю.

Логешваран Джеякумар
источник