web-dev-qa-db-fra.com

Comment dites-vous si un utilisateur est "autorisé à se connecter" sur Linux?

La question est simple, je souhaite répertorier tous les comptes d'utilisateurs pouvant vous connecter à mon système, mais je ne sais pas si tous les utilisateurs de/etc/passwd sont "pouvaient se connecter" des utilisateurs?

Des détails:

Je peux voir les utilisateurs dont les obus sont définis sur /usr/sbin/nologin et /bin/false dans /etc/passwd, cela signifie-t-il qu'ils ne peuvent pas se connecter?

Je sais aussi que je peux définir le mot de passe crypté de l'utilisateur sur * ou ! dans /etc/shadow Pour désactiver un compte, l'utilisateur "Impossible de se connecter" "ne peut pas se connecter"?

12
harryz

Cela dépend de votre définition de "Connexion" - techniquement tout utilisateur qui existe dans /etc/passwd & /etc/shadow est un "utilisateur valide" et pourrait théoriquement se connecter sous le bon ensemble de circonstances.

Les méthodes dont vous parlez tombent dans les grandes catégories suivantes:

  • tilisateurs avec des comptes "verrouillés"
    [.____] un utilisateur dont le mot de passe est défini sur *, !, ou un autre hachage qui ne correspondra jamais est "verrouillé" (au soleil jour, la convention était souvent *LK*, pour "verrouillé").
    [.____] ces utilisateurs ne peuvent pas se connecter en tapant un mot de passe , mais ils CAN Encore une fois en utilisant une autre authentification mécanismes (clés SSH, par exemple).

  • tilisateurs avec une coque "non interactive"
    [.____] un utilisateur dont le compte a une "coquille non interactive" (/bin/false, /sbin/nologin) Impossible de vous connecter de manière interactive - c'est-à-dire qu'ils ne peuvent pas obtenir une invite de shell pour exécuter des commandes à (cela empêche également l'exécution de la commande SSH si L'utilisateur a des touches SSH sur le système).
    [.____] Ces utilisateurs peuvent toujours être capables de se connecter pour faire des choses comme lire/envoyer un courrier électronique (via POP/IMAP & SMTP Auth). Définition d'une coque non interactive pour les utilisateurs qui ne devraient jamais avoir besoin d'utiliser la coque (et pour la plupart des comptes de service ") sont généralement considérés comme des bonnes pratiques.

Donc, en fonction de vos critères de "capable de vous connecter", vous voudrez peut-être vérifier une ou deux de ces choses.

13
voretaq7

Il y a une différence entre désactivation de l'utilisateur et régler la coque sur/bin/faux ou similaire.

Réglage de la coque sur/bin/False empêche l'utilisateur d'obtenir une coquille, mais ils peuvent toujours se connecter au système si les utilisateurs locaux sont utilisés pour autre chose (authentification du courrier, FTP, etc.). La désactivation de l'utilisateur lui permet d'utiliser des services du serveur utilisant des utilisateurs locaux.

6
Pentium100

En plus de ce qui précède, les utilisateurs peuvent être verrouillés à partir d'un système, même si leur entrée de mot de passe a l'air correcte en utilisant plusieurs méthodes différentes.

/etc/security/access.conf peut être utilisé pour limiter qui peut se connecter.

Il existe de nombreux modules PAM pouvant être configurés pour limiter les utilisateurs spécifiques ou modifier le comportement de connexion en fonction de la nécessité. (I.e. Aucun répertoire personnel sur le serveur ne manque de connexion.)

3
billq