Mot de passe par défaut de la racine Raspbian

16

J'ai essayé de modifier le fichier sudoers sur Raspbian /etc/sudoers, et il semble que j'ai fait une erreur, car je ne peux pas le modifier à nouveau. Je suis également incapable d'appeler une commande qui nécessite des sudoautorisations. J'ai donc fait quelques recherches et j'ai trouvé une solution ici .

La solution utilise la commande *pkexec visudo*, mais quand j'ai essayé que cela me donne un message d'erreur: Authentication is needed to run '/usr/sbin/visudo' as the super user. Il existe également une liste déroulante, elle ne contient que le mot «racine» (et ne peut pas être modifié). Ainsi que l'identité nommée et une zone de texte vide nommée mot de passe.

La question est donc de savoir comment connaître le mot de passe root? J'ai essayé 'root', 'raspberry', 'admin' etc. mais rien n'a fonctionné.

Selon les réponses, il semble un peu impossible de se connecter en utilisant root, alors utiliser pkexec visudo ne résoudra pas mon problème! et selon la réponse, mon seul moyen est d'utiliser un pc linux pour voir mon contenu sd et modifier le fichier sudoers. J'ai déjà installé Debian sur ma machine virtuelle, et enfin je peux accéder au fichier sudoers mais je n'ai pas la permission d'y accéder! ça dit que je ne suis pas le propriétaire du fichier! Je comprends ce problème de sécurité, mais comme de nombreuses personnes au cours de ma recherche en ligne suggèrent d'utiliser un PC Linux pour modifier le fichier sudoers, il devrait y avoir un moyen d'y accéder. est-ce que quelqu'un sait de cette façon?

Dani
la source

Réponses:

15

Raspbian par défaut est configuré pour que le compte root ne puisse pas être connecté à l'aide d'un mot de passe. Cela se fait en commençant par une entrée dans /etc/passwordlaquelle commence:

root:x:0:0:

Les champs sont séparés par des deux-points et expliqués dans man 5 passwd(notez le 5, car man passwdvous donnera la page de manuel de la commande passwd; la section 5 est pour les fichiers de configuration, et dans ce cas ils ont le même nom). Ici, le premier est le nom ( root), les troisième et quatrième sont les uid et gid numériques (les deux 0), et le second est pour le mot de passe. Pour la plupart des entrées ce sera x, en indiquant le mot de passe réel est dans un autre fichier, /etc/shadow.

Notez que "le mot de passe réel" n'est vraiment stocké nulle part. Ce qui est stocké shadowest un hachage unidirectionnel du mot de passe réel. Un hachage unidirectionnel est le résultat d'un processus qui produira toujours la même chose (permettant de vérifier votre mot de passe), mais est irréversible. En d'autres termes, si quelqu'un met la main sur shadow, il n'y a aucun moyen de déduire le mot de passe du hachage. Cependant, s'ils peuvent modifier shadow , ils peuvent évidemment désactiver ou changer ce qui fonctionnera comme mot de passe. Mais ils ne pourront jamais découvrir vos mots de passe. C'est pourquoi même rootne peut pas faire cela (bien que root puisse toujours les changer en quelque chose d'autre sans avoir besoin de l'original).

Dans le cas de root, l'entrée dans shadowcommence comme ceci, comme pour la plupart des autres comptes système:

root:*:

Le *indique qu'il n'y a actuellement aucun mot de passe possible qui pourrait être utilisé pour ce compte.

L'utilisateur root peut changer cela, cependant, en utilisant la passwdcommande pour définir un nouveau mot de passe, qui remplacera le *avec le hachage mentionné précédemment (ceux - ci commencent toujours $n$nest une valeur aléatoire qui est utilisée comme « sel » pour le hachage, mais vous n pas besoin de comprendre ça).

Quoi qu'il en soit, lorsque je configure une carte à partir d'une nouvelle image, la première chose que je fais est d'aller dans /etc/passwdet de supprimer l' xentrée de root donc commence maintenant:

root::0:0

Remarquez qu'il n'y a plus de deuxième champ. Cela signifie qu'il n'y a pas de mot de passe et tout ce que vous avez à faire est de taper rootà l'invite de connexion et vous êtes connecté en tant que root. Vous pouvez ensuite utiliser passwdpour en définir un.

Donc, vous avez deux choix ici, mais ils nécessitent tous deux de retirer la carte du pi et d'accéder à la deuxième partition à partir d'un autre système (qui peut lire / écrire des partitions ext4).

  1. Restaurer sudoers. Si vous avez une image de référence, c'est facile, vous pouvez simplement la remettre comme elle était en la remplaçant. Sinon, c'est l'option la plus compliquée car vous devez savoir ce que vous faites (et votre bilan avec sudoersn'est pas si bon ...).

  2. Modifiez /etc/passwdet supprimez cela xcomme décrit ci-dessus, remettez la carte, connectez-vous en tant que root, créez un mot de passe. Bien sûr, vous devrez toujours le réparer sudoers, mais les essais et erreurs seront facilités car si vous l'êtes vraiment root, vous pourrez toujours y accéder.

Si vous n'avez pas de système qui peut accéder aux systèmes de fichiers ext4 (un "live CD" Debian est un bon choix ici), alors vous êtes bloqué. Vous devrez reflasher la carte et recommencer.

Boucles d'or
la source
J'ai déjà installé Debian dans VM Ware et j'ai inséré ma carte, mais elle affiche uniquement les fichiers qui s'affichent comme si j'utilisais le système Windows. Je veux dire que je ne peux pas afficher / modifier le fichier sudoers. dois-je utiliser certaines commandes pour les afficher dans Debian?
Dani
Je ne suis pas un utilisateur de VMware, donc je ne peux pas aider avec les détails de cela, mais je suppose que vous avez un accès root dans la VM, non? Si c'est le cas et que vous pouvez accéder à la carte SD à partir de la machine virtuelle, vous devriez pouvoir monter la deuxième partition et regarder dedans /etc. Si ce sudoersn'est pas le cas, vous l'avez peut-être accidentellement supprimé, auquel cas vous devrez le remplacer à partir d'une nouvelle image Debian (vous n'avez pas besoin de créer une nouvelle carte, vous avez juste besoin du fichier image, voir ici ). .
goldilocks
... Vous devriez également pouvoir accéder etc/passwdà la carte et la modifier via le compte root de la Debian VM.
goldilocks
(vous devriez pouvoir monter la deuxième partition et regarder dans / etc) quelles commandes dois-je utiliser pour monter la deuxième partition?
Dani
Depuis une VM VMware? Je ne sais pas. J'utilise virtualbox, mais je n'ai jamais eu à configurer l'accès au matériel ou aux montages sur le système hôte en plus de la mise en réseau (si je dois transférer des données, je le fais simplement via le réseau). Je suppose que c'est possible et simple, mais mon système hôte est également Linux. Je suppose également qu'il existe un moyen d'utiliser VMware avec un hôte Windows / Mac / Quelque soit pour donner accès à la machine virtuelle au périphérique SD connecté au matériel hôte ... même si l'hôte lui-même ne peut pas lire la partition, il peut toujours accéder à la carte réelle, de sorte que la machine virtuelle devrait également pouvoir le faire (et que le système d'exploitation de la machine virtuelle puisse la lire).
goldilocks
4

Raspbian n'a PAS de rootmot de passe. Il diffère d'Ubuntu à cet égard. Vous pouvez créer un rootmot de passe, mais AFAIK qui l'exige sudo.

Le mieux est d'éditer les fichiers en montant la carte SD sur une machine Linux.

Cela peut être fait sur le Pi si 1. vous avez un lecteur de carte SD 2. Vous utilisez un bon OS sur une autre SD pour démarrer le Pi.

Milliways
la source
mais pourquoi raspbian m'a demandé un mot de passe? et pourquoi il n'a pas accepté les mots de passe vides?
Dani
Le compte root peut avoir un mot de passe "invalide" ou "impossible" - c'est une astuce courante pour verrouiller le compte root de cette façon.
flakeshake
4

Pour définir un mot de passe root:

  • Démarrez et connectez-vous normalement.
  • Courir:sudo passwd root
  • Tapez le nouveau mot de passe pour root comme demandé

Source: https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=5056&start=25

Excellence Ilesanmi
la source
1
Le problème est que je n'ai pas pu utiliser la commande sudo car j'ai fait une erreur lors de la modification du fichier sudoers. Le problème a été résolu en installant Linux Debian OS sur mon ordinateur, en insérant la carte SD et en remettant le fichier sudoers dans son état d'origine ...
Dani
-1

Si vous téléchargez Puppy Linux pour Raspberry Pi depuis http://puppylinux.org/main/Download%20Latest%20Release.htm#quirky et l'installez sur une clé USB, vous devriez pouvoir démarrer votre ordinateur à partir de cela, et parce que Puppy a toujours fonctionne en tant que root sans mot de passe, vous pouvez changer quoi que ce soit sur l'ordinateur que vous souhaitez. Faites vos modifications, puis redémarrez l'ordinateur sans le support de démarrage Puppy. Maintenant, l'ordinateur démarrera dans votre système modifié sans Puppy.

Je suis un peu nouveau sur Raspberry Pi, donc je ne sais pas comment le démarrer à partir d'un autre appareil (clé USB), mais il y a probablement un moyen. Peut-être le système Noobs en maintenant la touche Maj enfoncée lors du démarrage.

J'ajouterai une alternative simple au démarrage à partir d'un autre lecteur: le Raspberry Pi pourrait plutôt être démarré à partir de l'installation Puppy sur une carte SD (ou carte microSD) et le support d'installation d'origine pourrait être lu et modifié à partir d'un lecteur de carte branché le même Raspberry Pi.

Miriam anglais
la source
2
Je trouve que le vote négatif est désagréable, alors j'essaierai de remplacer le votant anonyme. Une réponse qui dit "je ne sais pas" est peut-être plus appropriée comme commentaire. Malheureusement, cela nécessite une réputation de 50 personnes. Veuillez poursuivre vos efforts pour nous aider. Cela en vaut la peine. : D
OyaMist