Lorsque vous installez une nouvelle installation Ubuntu ou OS X, un user est généralement créé pour vous. Sur OS X, c'est le nom d'user que vous choisissez. Sur Ubuntu (la version du server), l'user ubuntu
est généralement créé.
De la façon dont je le comprends, il y a aussi un user root auquel vous pouvez accéder via quelque chose comme sudo su - root
et en entrant le mot de passe de l' ubuntu
ou de l'user que vous avez créé, qui fait partie du groupe des administrateurs. Une fois que vous passez à la root
je pense que vous pouvez utiliser la command passwd
et changer le mot de passe de root.
Mais quel était le mot de passe de root
avant cela? Existe-t-il? Est-ce une string random de nombres et de lettres? Comment le système traite-t-il cela?
Je ne peux répondre que pour Ubuntu.
Dans Ubuntu, l'user root
a un mot de passe verrouillé. De la page de manuel passwd
:
-l, --lock Lock the password of the named account. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a '!' at the beginning of the password).
Vous pouvez voir le !
dans /etc/shadow
.
Un user avec un count verrouillé ne peut pas changer son mot de passe, mais root peut, sans saisie préalable de l'ancien mot de passe.
Voici comment déverrouiller (?) Ou créer un user root dans OSX:
Prendre plaisir !
Comme l'a dit enzotib, Ubuntu a un count root mais il est verrouillé par défaut.
Maintenant, à propos des Mac:
Comme vous pouvez probablement le deviner, root (avec tous les counts de démons) n'apparaît pas dans la section "Utilisateurs et groupes" de Paramètres.
En regardant mon mac /etc/passwd
, il y a une input pour root
, avec un message
Note that this file is consulted directly only when the system is running in single-user mode. At other times this information is provided by Open Directory.
J'ai essayé de find la list d'users d'Open Directory, sans succès, mais dans les configurations il y avait des mentions de donner explicitement des permissions de racine même si elles sont implicites. Je n'ai jamais été invité à entrer un mot de passe root lorsque j'ai mis la machine en place, donc je suppose que le count root est verrouillé tel qu'il est dans ubuntu. Je n'ai pas (et ne veux pas vraiment) essayer de donner un mot de passe root et de vous connecter avec, mais vous le pourriez probablement.
La ligne passwd:
root:*:0:0:System Administrator:/var/root:/bin/sh
La command perl du commentaire de keith ajoute un :0
à la fin. Pas de hachage de mot de passe. Il n'y a pas de file d'ombre que je puisse find, je n'ai pas pu les find n'importe où pour vérifier si root peut avoir un mot de passe.
Le mot de passe root sur Mac OS X est stocké (comme mentionné par Kevin) dans Open Directory. Pour confirmer l'existence de l'user root, un grep simple est requirejs:
$ grep ^root /etc/passwd root:*:0:0:System Administrator:/var/root:/bin/sh
Pour lire les informations de mot de passe root à partir d'Open Directory:
$ dscl localhost -read /Local/Default/Users/root Password Password: * $ dscl localhost -read /Local/Default/Users/root AuthenticationAuthority No such key: AuthenticationAuthority
Dans le cas par défaut (comme indiqué), l'user root n'a pas de hash de mot de passe défini (le count est verrouillé). Vous pouvez comparer ce paramètre avec la valeur dans OD pour un user "normal":
$ dscl localhost -read /Local/Default/Users/normaluser Password Password: ******** $ dscl localhost -read /Local/Default/Users/normaluser AuthenticationAuthority AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512>...#rest of hash data
Ubuntu définit un mot de passe pour l'user nommé et l'utilise pour les tâches de niveau super-user (root) comme l'installation et la suppression de logiciels et de directorys à l'échelle du système et la suppression / exécution de files au-delà de votre directory personnel. Il ne crée pas de count explicite appelé "root" mais vous accorde des privilèges root temporaires en appelant sudo et le mot de passe que vous avez défini.
Il configure un count d'user nommé plutôt que de configurer un count générique "ubuntu". C'est du less le cas des systèmes installés. Un count générique "ubuntu" peut-être en place si vous utilisez un CD live, je ne me souviens pas, je n'ai pas travaillé avec un CD live dans quelques années.
Le comportement dans MacOsX est en fait assez similaire. Vous êtes invité à définir un mot de passe qui est invoqué chaque fois que vous tentez d'effectuer des tâches de niveau super-user, telles que l'installation ou la mise à niveau de logiciels, mais qu'aucun count n'est nommé «root».
Pour Ubuntu: par défaut, vous pouvez accéder à votre count d'user nouvellement créé.
Pour exécuter n'importe quelle command en tant que root, vous pouvez utiliser
sudo command
puis entrez votre mot de passe normal.
Le count root est verrouillé par défaut. Pour activer root par command line, entrez simplement
sudo passwd
puis entrez le mot de passe de votre user connecté, puis les nouveaux passwords pour root. Maintenant, vous pouvez vous connecter en tant que root en utilisant su
, puis entrez le mot de passe root.