¿Cómo excluir de un "Grupo de coincidencias" en SSHD?

13

Hay un grupo de coincidencias en la configuración SSHD:

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

Hay muchos usuarios en la máquina que están en el "FOOGROUP".

Mi pregunta: ¿Cómo puedo excluir a un usuario determinado que está en el "FOOGROUP" del "Grupo de coincidencias"?

evachristina
fuente

Respuestas:

14

El Matchoperador puede tomar múltiples argumentos, permitiendo reglas muy flexibles. En este caso, podría hacer algo como esto para lograr lo que desea.

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

El !niega el argumento pasado al Usercriterio, por lo que incluso si el usuario usernameestá en el grupo FOOGROUP, el Matchno va a tener éxito, y usernameno se le dará la carcasa a medida que inicien session.

D_Bye
fuente
¿Y está 100% seguro de que esto solo excluye el "! Nombre de usuario"? ¿Y otros usuarios que podrían estar en FOOGROUP no se verán afectados?
evachristine
2
Si. Lo probé antes de publicar, y funciona como lo describo.
D_Bye
1
Parece que *,!usernamees un enfoque más limpio. Sin embargo, otro caso de que su solución a prueba es la mezcla de este tipo de Matchcon ChrootDirectory(probado en tanto openssh 5.3p1 y 7.4p1).
Ouki
4

Debe usar varias cláusulas en la entrada del archivo de configuración, pero de una manera muy específica. Hay un error en algunas configuraciones que hace que la sintaxis generalmente recomendada y más simple ("¡Nombre de usuario del grupo FOOGROUP de Match Group!") Provoque que todos los demás miembros del grupo no coincidan o les permita escapar de su cárcel chroot.

En Debian Jessie usando OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.2d obtengo el resultado de que todos los demás miembros del grupo ya no pueden conectarse. Otros reportan rupturas de cárcel. En ambos casos, una sintaxis de

Match Group FOOGROUP User *,!username

Parece funcionar sin efectos secundarios. Algún tipo de error en el analizador, sin duda.

Nadreck
fuente
0

con la siguiente opción, puedo encarcelar al usuario sftp dentro del directorio especificado y también al usuario especificado que puede iniciar sesión a través de ssh.

Match Group groupname User *,!username

Gracias.

Logeshwaran Jeyakumar
fuente