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 Match
operador 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 User
critério, portanto, mesmo que o usuário username
esteja no grupo FOOGROUP
, o Match
não terá sucesso e username
nã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.