Topic: Comment exclure les utilisateurs ayant bash comme shell dans passwd

Bonjour,

Je ne sais pas si cela est possible.
Je souhaiterais exclure (bloquer l'accès de) tous les utilisateurs n'ayant pas /bin/MySecureShell comme shell pas défaut dans /etc/passwd.

Merci

Re: Comment exclure les utilisateurs ayant bash comme shell dans passwd

m3z wrote:

Bonjour,

Je ne sais pas si cela est possible.
Je souhaiterais exclure (bloquer l'accès de) tous les utilisateurs n'ayant pas /bin/MySecureShell comme shell pas défaut dans /etc/passwd.

Merci

Salut !

Oui c'est très simple, il te suffit de mettre /bin/false et ces utilisateurs n'auront accès à rien.

Re: Comment exclure les utilisateurs ayant bash comme shell dans passwd

Bonjour Deimis et merci de ta réponse.

En faites, je me suis mal exprimé.
Je voudrais interdire l'accès sftp à tous les utilisateurs  excepté ceux appartenant  au group sftpuser. Les autres utilisateurs devront pouvoir se logger en local.
J'ai trouvé une solution simple en utilisant PAM.
Bien sûr cela suppose que tous les utilisateurs appartenant à sftpuser ait bien le /bin/MySecureShell comme shell par défaut.
j'ai ajouter les deux lignes "pam_succeed_if.so"  dans /etc/pam.d/sshd

#%PAM-1.0
auth       include      system-auth
auth       required     pam_succeed_if.so quiet user ingroup sshuser
auth       required     pam_succeed_if.so quiet user ingroup sftpuser
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so

Re: Comment exclure les utilisateurs ayant bash comme shell dans passwd

Ca me parait bien :-)

Il y a un autre moyen peut être aussi. Dans le fichier /etc/ssh/sshd_config, il y a cette directive :

Subsystem sftp /usr/lib/openssh/sftp-server

Ensuite tu fais toute ta politique de sécu via MSS.

5 (edited by m3z 2009-08-23 23:53:40)

Re: Comment exclure les utilisateurs ayant bash comme shell dans passwd

deimos wrote:

Ca me parait bien :-)

Il y a un autre moyen peut être aussi. Dans le fichier /etc/ssh/sshd_config, il y a cette directive :

Subsystem sftp /usr/lib/openssh/sftp-server

Ensuite tu fais toute ta politique de sécu via MSS.

Bonjour,

Pourrais-tu développer s'il te plait.
Je ne comprend pas ce qu'il faut faire de cette la directive.

Merci

ps : Je me suis aperçu que j'ai écorché ton pseudo, désolé  ;-)

Re: Comment exclure les utilisateurs ayant bash comme shell dans passwd

deimos wrote:

Il y a un autre moyen peut être aussi. Dans le fichier /etc/ssh/sshd_config, il y a cette directive :

Subsystem sftp /usr/lib/openssh/sftp-server

Et bien cette ligne correspond au serveur SFTP par défaut de tes utilisateurs SSH. De mémoire, si tu met MySecureShell ça devrait normalement obliger tous tes utilisateurs à passer par ta conf MySecureShell (elle a donc intérêt à être béton).

Ensuite tu dois faire toutes des règle de sécu (Groupe/User/IP...) pour tout le monde dans ton ficiher de conf d'MSS. Je te shématise vite fait ton fichier de conf :

<Default>
 DisableAccount true
</Default>

<Group sftpuser>
 DisableAccount false
 Home /tonsftp
</Group>

Je pense qu'avec ça, tu as ta solution :-)

Re: Comment exclure les utilisateurs ayant bash comme shell dans passwd

deimos wrote:

Je pense qu'avec ça, tu as ta solution :-)

Bonjour Deimos,

Effectivement là c'est clair :-)
Du coup je comprend ... que je n'ai pas compris ce qu'était MySecureShell.
D'un coté il s'exécute comme un shell (celui par défaut de utilisateur). J'en ai déduit (a tord sans doute) qu'il s'agissait d'une "sur couche" sur le client sftp de OpenSSH.
D'un autre, il peut être installé comme sous system sftp. Là il s'agit obligatoirement d'un client sftp complet (probablement une modification (=amélioration) du client OpenSSH).
Dans la FAQ, l'installation comme sous systeme sftp est mis dans la rubrique "Comment faire si je veux utiliser MySecureShell juste pour la partie SFTP ?".  Je me demande donc quelles sont les autres fonctionnalités de MySecureShell.

J'ai regardé sur le forum je n'ai pas trouvé de schéma de l'architecture et du fonctionnement.

As-tu des infos ?

Merci

Re: Comment exclure les utilisateurs ayant bash comme shell dans passwd

Je vais laisser la parole à Teka pour ça :-)

Re: Comment exclure les utilisateurs ayant bash comme shell dans passwd

Bonjour,

Effectivement, il n'y a pas encore d'explication précise sur le fonctionnement de MySecureShell.

En fait, MySecureShell à 2 mode de fonctionnement:
- en mode shell, il ne permet que le passage en mode sftp ou accès au shell si la configuration le permet
- en mode sftp, il remplace le serveur d'OpenSSH


Donc soit tu utilise MSS par le shell (donc tu choisi tes utilisateurs 1 par 1) ou via la configuration du subsystem sous OpenSSH (et la ça forcera tout les utilisateurs SFTP).

Donc à toi de choisir smile