103 votes

Comment empêcher un utilisateur de se connecter, mais autoriser "su - user" sous Linux ?

Comment permettre à un utilisateur de se connecter en utilisant " su - Benutzer "mais empêcher l'utilisateur de se connecter en utilisant SSH ?

J'ai essayé de régler le Shell sur /bin/false mais quand j'essaie de su ça ne marche pas.

Existe-t-il plusieurs façons d'autoriser uniquement les connexions par su ?

Est-ce que SSH AllowUser la voie à suivre ? (comment dois-je m'y prendre si c'est la voie à suivre)

1voto

Stephen Newman Points 1375

Comme d'autres l'ont dit ;

DenyUser username o DenyGroup groupname en sshd_config empêcherait la connexion par paire de clés/mot de passe via ssh.

mais je fais habituellement quelque chose comme AllowGroup ssh ou quelque chose de ce genre, et ajoutez explicitement à ce groupe les personnes qui ont besoin d'un accès ssh.

Ensuite, vous pouvez faire ce que d'autres ont dit : passwd -d username pour effacer le mot de passe de l'utilisateur, afin qu'il ne puisse pas se connecter à la console, ou d'une autre manière. ou mieux encore passwd -l username pour "verrouiller" le compte. Il est possible que ssh refuse l'accès à un compte verrouillé, même avec des clés, mais je ne suis pas sûr.

1 votes

En fait, ssh vous permettra de vous connecter en utilisant l'authentification par clé même si le mot de passe du compte est verrouillé.

1voto

BillThor Points 27096

Savoir quel mécanisme est le meilleur dépend des exigences. Si vous connaissez les exigences, vous pouvez choisir le mécanisme approprié. Toutes les réponses ci-dessus sont valables pour un certain ensemble d'exigences.

Voulez-vous seulement restreindre l'accès SSH ? Avez-vous besoin d'un accès pour les méthodes mail ou ssh ? L'accès doit-il se faire uniquement à partir de root ?

su - user demandera un mot de passe pour user s'il est exécuté par un utilisateur autre que root. Cependant, sudo -u user -i ne nécessite pas de mot de passe pour l'utilisateur.

1voto

Comme je l'ai mentionné dans un commentaire, je pense que vous pouvez toujours sucer dans un compte avec un Shell invalide. Donc si vous mettez le Shell de l'utilisateur à /dev/null ou n'importe quel Shell de bin, vous devriez être capable de vous connecter à cet utilisateur... mais toute tentative de connexion de quelque manière que ce soit vous fera sortir...

1voto

snic.io Points 11

Modifier /etc/shadow en ajoutant ! au début du hachage du mot de passe.

username:!<hash>:#####:#:#####:#:::

Lorsque je sécurise une nouvelle installation, c'est la première chose que je fais après avoir installé sudo, afin que personne ne puisse utiliser l'utilisateur root pour se connecter ou se connecter au système, les utilisateurs de sudo peuvent toujours exécuter en tant qu'utilisateur root.

0voto

François Feugeas Points 1393

Ne spécifiez pas de mot de passe pour l'utilisateur non autorisé à se connecter ou à le supprimer.

# passwd -d myuser

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X