Hay un grupo Match 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"?
Respuesta1
El Match
operador puede aceptar múltiples argumentos, lo que permite reglas muy flexibles. En este caso, podrías hacer algo como esto para lograr lo que deseas.
Match Group FOOGROUP User !username
ForceCommand /bin/customshell
Niega el !
argumento pasado al User
criterio, por lo que incluso si el usuario username
está en el grupo FOOGROUP
, Match
no tendrá éxito y username
no se le dará el shell personalizado al iniciar sesión.
Respuesta2
Debe utilizar varias cláusulas en la entrada de su 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 ("Match Group FOOGROUP User !username") haga 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. Otrosreportar fugas de prisión. En ambos casos una sintaxis de
Match Group FOOGROUP User *,!username
parece funcionar sin efectos secundarios. Sin duda, algún tipo de error en el analizador.
Respuesta3
Con la siguiente opción puedo encarcelar al usuario sftp dentro del directorio especificado y también al usuario especificado capaz de iniciar sesión a través de ssh.
Match Group groupname User *,!username
Gracias.