Comment vérifier si mon mot de passe root (login) est désactivé?


10

J'ai accidentellement activé (défini) mon mot de passe root (par défaut, il est verrouillé), et maintenant je veux le "défaire". J'ai utilisé les deux commandes

sudo usermod -p '!' root

et

sudo passwd -dl root

dans cet ordre.

Comment vérifier si le compte root est verrouillé?

Réponses:


18

Vous pouvez utiliser la passwdcommande:

# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S 
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S 
root NP 11/04/2014 -1 -1 -1 -1

De man 1 passwd:

   -S, --status
       Display account status information. The status information consists
       of 7 fields. The first field is the user's login name. The second
       field indicates if the user account has a locked password (L), has
       no password (NP), or has a usable password (P). The third field
       gives the date of the last password change. The next four fields
       are the minimum age, maximum age, warning period, and inactivity
       period for the password. These ages are expressed in days.

Les données affichées sont stockées dans /etc/shadowle fichier contenant les mots de passe cryptés.

Par exemple, après chacune des passwdcommandes ci-dessus , les états étaient:

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::

5

Une possibilité consiste à examiner / etc / passwd en entrant

grep root /etc/passwd

Il devrait montrer une ligne commençant comme root:x: ......où le x indique que les mots de passe chiffrés sont stockés dans le fichier caché. Si tel est le cas, nous l'examinons en exécutant

sudo grep root /etc/shadow

(le fichier fantôme a besoin de sudo pour être ouvert!) Vous devriez obtenir une ligne commençant comme la suivante comme résultat root:!: ......!ou un *signalent que le compte est désactivé. Toute autre valeur (ne commençant pas par! Ou *) après root:indiquerait un mot de passe de travail.


merci, mais je me demande simplement, y a-t-il un fichier contenant cette information?
nobru

J'ai recherché un peu et ajouté une autre partie à ma réponse, en accédant aux fichiers où les mots de passe sont stockés, comme vous le souhaitiez.
Byte Commander

J'ai essayé votre première suggestion, et c'est faux, sudo utilise toujours le mot de passe utilisateur. Le paragraphe édité fonctionne, c'est l'information que je cherchais
nobru

la source des données est man passwd.5etman shadow.5
Sergei G

0

Facile.

Appuyez sur Ctrl + Alt + F1. Cela amènera à un terminal séparé. Essayez de vous connecter en tant que root en tapant rootvotre nom d'utilisateur et en fournissant le mot de passe.

Si le compte root est activé, la connexion fonctionnera. Si le compte root est désactivé, la connexion échouera.

Pour revenir à votre interface graphique, appuyez sur Ctrl + Alt + F7.


Vous n'avez pas besoin d'aller jusqu'au téléscripteur pour cela. Une simple suvolonté suffira.
muru

merci, j'ai essayé et maintenant c'est verrouillé. Mais je me demande s'il existe un fichier que je peux ouvrir et vérifier. Imaginons que je ne me souvienne pas du mot de passe que j'ai tapé, et qu'il n'y a pas d'option pour en définir un autre avec sudo de l'utilisateur, donc je veux vérifier un fichier de connexion s'il existe.
nobru

0

Par défaut, lorsque vous installez Ubuntu, vous ne devez pas connaître le mot de passe root. Il existe, mais l'utilisateur ne doit pas le savoir. Un administrateur, bien sûr, pourrait choisir de modifier le mot de passe avec sudo passwdmais généralement cela ne devrait pas être nécessaire, à moins que vous sachiez ce que vous faites et pourquoi vous le faites.

Un fichier contenant des informations sur tous les mots de passe utilisateur est /etc/shadow et chaque entrée de ce fichier est cryptée. Donc, à moins qu'un attaquant n'ait accédé à votre système et volé ce fichier, il ou elle ne devrait pas du tout pouvoir entrer root. Il y a toujours une possibilité, bien sûr, d' où je vous suggère de désactiver toutes les fonctions d'accès à distance: telnet (non activé par défaut), ssh, bureau à distance, etc. Procurez-vous un nmapoutil et analyser votre système avec sudo nmap localhostpour voir quels ports peuvent être ouverts sur votre système. Obtenez également un pare-feu; ubuntu est livré avec un pare-feu ufw, qui est simple à utiliser et fait le travail assez bien.

Entre autres méthodes, vous pouvez tester le compte root avec sudo -i

Dans le /etc/sudoersfichier, vous devriez avoir une ligne comme ceci: sudo -i. Si vous ne pouvez pas vous connecter en tant que root, vous ne voyez pas l'invite # as, alors le compte est verrouillé

Defaults env_reset,timestamp_timeout=30

timestamp_timeout dira à sudo de demander à nouveau le mot de passe après 30 secondes, afin que vous ne soyez pas connecté avec les privilèges root tout le temps. C'est l'un des moyens de sécuriser votre système.

Un effet secondaire négatif du changement du mot de passe root est que si vous oubliez le mot de passe ou qu'un autre utilisateur de votre système oublie le mot de passe, vous n'aurez pas accès à root. Je ne connais aucun cas, mais il y a toujours la possibilité de gâcher le système, car certains processus s'exécutent en tant que root, et si vous verrouillez le compte root, il est possible qu'ils ne fonctionnent pas correctement ou pas du tout.

Je vous recommande fortement de lire man sudoers, man passwd,man shadow.

Bonne chance et j'espère que cela vous aidera!


0

catch bleow one liner command for password report of all existing users in linux sever.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.