$cat /etc/passwd |grep -i root
root:x:0:0:root:/root:/bin/bash
$sudo cat /etc/shadow |grep -i root
root:!:17179:0:99999:7:::
Dans le deuxième champ du fichier shadow, !
signifie que l'utilisateur root ne peut pas se connecter mais pourquoi puis-je me connecter à l'utilisateur root par sudo su
?
Pourquoi ne puis-je pas me connecter à l'utilisateur root avec su root
ou su -
?
permissions
sudo
passwd
shadow
Sinoosh
la source
la source
Réponses:
Un
!
dans leshadow
champ de mot de passe crypté de l' entrée signifie qu'aucun mot de passe ne peut s'authentifier. Deman shadow
:Comme le dit le manuel, cela ne signifie pas que vous ne pouvez pas vous connecter en tant que root. Cela signifie simplement que vous ne pouvez pas vous connecter en tant que root en utilisant un mot de passe pour le compte root. (Vous pouvez vous connecter en tant que root via SSH à l'aide de clés SSH, par exemple, si vous l'avez configuré précédemment, même si le compte est verrouillé.)
sudo
s'authentifie normalement avec votre mot de passe, pas celui de root. Cela peut être modifié en réglant l' un destargetpw
,rootpw
ourunaspw
danssudoers
. Si vous définissez l'une de ces options et essayez d'utiliser un mot de passe lorsque le mot de passe est verrouillé, cela échouera .la source
Voyons maintenant les commandes en conséquence:
sudo su
:sudo
exécute la commandesu
(utilisateur substitut) avec des privilèges root, donc même si le/etc/shadow
dit ou l'a,root:!:17179:0:99999:7:::
il exécutera toujours des commandes avec des privilèges root.su -
ousu root
:/etc/shadow
fichier, ne peut pas se connecter, l'utilisation de ces commandes ne fonctionnera donc pas. Si vous voulez qu'ils fonctionnent, le compte root doit être déverrouillé en lui donnant un mot de passe.Sommaire:
su -
0rsu root
passe à l'utilisateur root , n'existe pas, donc cela ne peut pas arriver, maissudo su
exécute la commande switch avec desroot
privilèges, donc dans ce cas, cela ira si vous êtes dans lesudo
groupe. Dans ce cas, vous ne vous connectez pas réellement en tant que root, vous agissez simplement en tant que root pour que cela aille.Source: Quelle est la différence entre «su -» et «su root»?
la source
sudo su
que les champs de passage ne s'affichent pas dans le fichier fantôme?sudo su
est la mauvaise façon d'exécutersudo sh
ousudo bash
.