Supposons que je crée un utilisateur nommé "faux" à l'aide de la adduser
commande. Comment puis-je m'assurer que cet utilisateur ne sera PAS une option de connexion viable sans désactiver le compte? En bref, je veux que le compte soit accessible via su - bogus
, mais je ne veux pas qu'il soit accessible via une invite de connexion régulière.
En cherchant, il me semble que je dois désactiver le mot de passe de cet utilisateur, mais cela passwd -d bogus
n'a pas aidé. En fait, cela a aggravé les choses, car je pouvais maintenant me connecter à de faux sans même taper de mot de passe.
Existe-t-il un moyen de désactiver les connexions régulières pour un compte donné?
Remarque: Par souci de clarté, je sais comment supprimer un utilisateur des options de menu des écrans de connexion graphiques tels que gdm, mais ces méthodes masquent simplement le compte sans désactiver réellement la connexion. Je cherche un moyen de désactiver complètement la connexion normale, y compris en mode texte.
la source
-d
est le drapeau pour supprimer le mot de passe. C'est différent de le désactiver (référant à verrouillage, voir la réponse de Chad).Réponses:
c'est ce que tu veux.
Cela verrouille le compte de l'utilisateur. Mais vous pourrez toujours
mais vous devrez en
su - user
tant que root.Alternativement, vous pouvez accomplir la même chose en ajoutant un
!
mot de passe au mot de passe de l'utilisateur/etc/shadow
(tout cela sepasswd -l
fait en coulisse). Etpasswd -u
va défaire cela.la source
passwd -l
option, vous devez savoir que l'utilisateur peut se connecter à l'aide d'un autre jeton d'authentification (par exemple, une clé SSH).--disabled-password
option donnée àadduser
? La création d'un utilisateur sans--disabled-password
, puis l'exécutionpasswd -l
sur cet utilisateur, produit-elle le même résultat que l'exécutionadduser
avec--disabled-password
?La page de manuel de
passwd(1)
dit à propos depasswd -l
:Alors
Cela me semble être la bonne façon de désactiver un compte qu'un utilisateur ne devrait plus pouvoir utiliser (par exemple, parce qu'il a quitté la société).
la source
passwd -l
bloque lassh
connexion d’un utilisateur etusermod --expiredate 1
ne le fait pas!passwd -l
ne bloque plus lesssh
connexions pour un utilisateur et leusermod --expiredate 1 user
bloque. Parman passwd
vous pouvez également utiliserchage -E 0 user
pour bloquer un utilisateur. Après avoir postuléusermod
ouchage
je suis capable desudo su user
usermod --expiredate 0 [LOGIN]
fonctionne également, il fixe la date de fin au 1er janvier 1970 alors que leIl existe deux méthodes pour empêcher un utilisateur de pouvoir se connecter:
/etc/passwd
passwd
commande avec le-l
commutateurDans le second cas, l'utilisateur peut se connecter à l'aide d'un autre jeton d'authentification (par exemple, une clé SSH).
Méthode n ° 1
vi /etc/passwd
Vous êtes maintenant dans le
passwd
fichier, appuyez sur Inspour éditer le fichier.Modifiez la ligne ci-dessous avec l'
nologin
option (/bin/bash
signifie que l'utilisateur peut se connecter).pour ça.
nologin
signifie que l'utilisateur est incapable de se connecter.(ou avec / bin / sbin / nologin)
Méthode n ° 2
Pour verrouiller l'utilisateur:
passwd -l username
Pour déverrouiller l'utilisateur:
passwd -u username
la source
/usr/sbin/nologin
au lieu de/bin/nologin
.C'est une tâche assez facile, vous devez simplement apporter quelques modifications au
/etc/passwd
fichier.Vous devez simplement changer le shell qui est généralement par défaut,
/bin/bash
c'est-à-dire que vous pouvez vous connecter à l'aide de ce shell et le changer en/bin/nologin
ou/bin/false
. Il est conseillé de le changer/bin/nologin
car/bin/false
c'est obsolète.la source
Définir
/bin/false
comme une coquille dans/etc/passwd
la source
/bin/false
, vous ne pouvez pas utiliser su pour agir en tant qu'utilisateur. De plus, l’utilisation/bin/false
ne produit aucune erreur ni autre indice de ce qui vient de se passer - dans les cas où l’on veut empêcher l’utilisation même de su pour obtenir un shell en tant qu’utilisateur, le shell doit être remplacé par celui/sbin/nologin
qui produit une erreur.su
est encore possible pour les utilisateurs avec des/bin/false
coquilles danspasswd
- il suffit d' utiliser l'option--shell
:su - --shell /bin/sh bogus
./usr/sbin/nologin
a le même effet que/bin/false
, mais affiche également un message d’information utile.Lorsque nous verrouillons l'utilisateur à l'aide de la
passwd -l user
commande, "!!
" sont indiqués dans le/etc/shadow
fichier. Mais nous pouvons toujours pouvoir basculer vers un shell utilisateur à partir du compte root, mais ne pas pouvoir basculer vers un compte utilisateur via un shell de connexion d’utilisateur normal.Nous pouvons également désactiver le compte en fournissant
/bin/nologin
ou/bin/false
dans le/etc/passwd
fichier. Il est donc possible que l'utilisateur ne puisse pas se connecter.la source
Vous pouvez utiliser la commande
la source