Come escludere da un "gruppo di corrispondenza" in SSHD?


13

Esiste un gruppo di match nella configurazione SSHD:

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

Ci sono molti utenti sulla macchina che si trovano in "FOOGROUP".

La mia domanda: come posso escludere un determinato utente che si trova in "FOOGROUP" dal "Gruppo di corrispondenza"?

Risposte:


14

L' Matchoperatore può accettare più argomenti, consentendo regole molto flessibili. In questo caso, potresti fare qualcosa del genere per ottenere ciò che desideri.

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

Il !nega l'argomento passato al Usercriterio, quindi, anche se l'utente usernameè nel gruppo FOOGROUP, il Matchnon avrà successo, e usernamenon sarà data la shell personalizzata momento dell'accesso.


E sei sicuro al 100% che questo esclude solo il "! Nome utente"? E altri utenti che potrebbero essere presenti in FOOGROUP rimarranno intatti?
evacristina,

2
Sì. L'ho testato prima di pubblicare e funziona come descrivo.
D_Bye,

1
Sembra che *,!usernamesia un approccio più pulito. Un altro caso in cui la tua soluzione fallisce è mescolare questo tipo di Matchcon ChrootDirectory(testato su openssh 5.3p1 e 7.4p1).
Ouki,

4

È necessario utilizzare più clausole nella voce del file di configurazione, ma in un modo molto specifico. Esiste un bug in alcune configurazioni che causa la sintassi generalmente consigliata e più semplice ("Match Group FOOGROUP User! Username") per impedire a tutti gli altri membri del gruppo di abbinarsi o consentire loro di sfuggire alla propria prigione chroot.

Su Debian Jessie usando OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.2d ottengo il risultato che tutti gli altri membri del gruppo non possono più connettersi. Altri segnalano pause di prigione. In entrambi i casi una sintassi di

Match Group FOOGROUP User *,!username

sembra funzionare senza effetti collaterali. Una sorta di bug nel parser senza dubbio.


0

con l'opzione seguente posso eseguire il jailing dell'utente sftp nella directory specificata e anche l'utente specificato in grado di accedere tramite ssh.

Match Group groupname User *,!username

Grazie.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.