Como excluir de um “Match Group” no SSHD?

Como excluir de um “Match Group” no SSHD?

Há um grupo Match na configuração do SSHD:

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

Existem muitos usuários na máquina que estão no "FOOGROUP".

Minha pergunta:Como posso excluir um determinado usuário que está no "FOOGROUP" do "Match Group"?

Responder1

O Matchoperador pode receber vários argumentos, permitindo regras muito flexíveis. Nesse caso, você poderia fazer algo assim para conseguir o que deseja.

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

O !nega o argumento passado para o Usercritério, portanto, mesmo que o usuário usernameesteja no grupo FOOGROUP, o Matchnão terá sucesso e usernamenão receberá o shell personalizado ao efetuar login.

Responder2

Você precisa usar várias cláusulas na entrada do arquivo de configuração, mas de uma forma muito específica. Há um bug em algumas configurações que faz com que a sintaxe geralmente recomendada e mais simples ( "Match Group FOOGROUP User !username" ) faça com que todos os outros no grupo falhem na correspondência ou os deixe escapar da prisão chroot.

No Debian Jessie usando OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.2d, obtenho o resultado de que todos os outros membros do grupo não conseguem mais se conectar. Outrosrelatar fugas de prisão. Em ambos os casos, uma sintaxe de

Match Group FOOGROUP User *,!username

parece funcionar sem efeitos colaterais. Algum tipo de bug no analisador, sem dúvida.

Responder3

com a opção abaixo, posso prender o usuário sftp no diretório especificado e também o usuário especificado capaz de fazer login através do ssh.

Match Group groupname User *,!username

Obrigado.

informação relacionada