Pages : 1
#1 Le 26/02/2018, à 17:03
- system99
[Résolu] Su, sudo, sudoers
Salut tout le monde !
J'ai fait quelques tests de sécurité sur mon réseau domestique à l'aide de Kali Linux histoire d'y corriger ce qui n'allait pas.
Et se servir de Linux, c’est bien. Mais comprendre comment ça fonctionne à l’intérieur, c’est mieux !
Alors une fois mes tests et réglages terminés, j'ai essayé de configurer Kali à la manière d'Ubuntu puisqu'il n'y a par défaut qu'un seul compte : root.
Donc j'ai créé un compte utilisateur, et pour passer root, j'ai fait sudo commande ou sudo su, ce qui renvoie :
utilisateur n'apparaît pas dans le fichier sudoers. Cet événement sera signalé.
Par contre, ça fonctionne avec la commande su par défaut sur Debian et dérivés.
Après pas mal de recherche, j'apprends la différence entre su et sudo.
su sert à se loguer avec un autre compte (su utilisateur par exemple) et su sans argument = su root.
Quant à sudo, ça sert à élever ses privilèges au niveau de root (et non se loguer en root, nuance !), pour un temps limité (je n'avais jamais remarqué, car lorsque j'ai beaucoup de commandes à entrer, je fais directement sudo su).
Donc j'ai fait des recherche sur le fameux sudoers et comment le modifier. Pour la partie concernant les autorisations, j'ai à l'origine ceci :
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
que j'ai modifié comme ceci :
# User privilege specification
root ALL=(ALL:ALL) ALL
utilisateur ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Donc ça y est, je peux enfin utiliser sudo comme sur Ubuntu !
Je compare avec le sudoers de mon Ubuntu et je vois que ce n'est pas la même configuration : il n'y a aucun utilisateur affiché dans le sudoers
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Donc mon compte utilisateur fait sûrement parti d'un groupe présent dans sudoers.
Alors :
sudo cat /etc/group | grep utilisateur
Et bingo ! J'appartiens au groupe sudo !
Donc, dans kali, je supprime les modifications apportées à sudoers, j'ajoute mon compte utilisateur au groupe sudo.
(D'ailleurs, pour éviter de faire des mauvaises manipulations avec les groupes, vous faites plutôt adduser utilisateur groupe ou usermod -aG groupe utilisateur ?)
Et il me reste juste à désactiver le compte root et c’est tout bon !
J’ai pas mal galéré pour réunir toutes les informations dont j’avais besoin ! C’est fou à quel point les informations sur le sujet sont éparpillées !
Malgré tout, c'est encore le flou sur plusieurs points, d’où mon poste
Les commandes su et sudo ont-elles bien les rôles que je leur prête ?
Est-ce que sur un système Debian ou dérivé, si j’ajoute l’utilisateur principal au groupe sudo et que je désactive le compte root, je retrouve un fonctionnement root strictement comme sur Ubuntu ?
Quels avantages apportent la désactivation du compte root et l’utilisation de sudo ?
Dernière modification par system99 (Le 26/02/2018, à 21:35)
Hors ligne
#2 Le 26/02/2018, à 18:01
- bruno
Re : [Résolu] Su, sudo, sudoers
Les commandes su et sudo ont-elles bien les rôles que je leur prête ?
su (Substitute User) permet de se substituer à n'importe quel utilisateur dont on connaît le mot de passe :
su -l toto
te demandera le mot de passe de toto pour ouvrir le shell de toto. Sans argument, ce sera celui de l'utilisateur root.
On peut aussi passer directement une commande à su.
sudo (Substitute User DO) permet a un utilisateur présent dans sudoers de se substituer à n'importe quel utilisateur en tapant son propre mot de passe.
sudo -u toto -i
te demandera ton mot de passe et t'ouvrira le shell de toto. Sans argument ce sera celui de root.
On peut aussi passer directement une commande à sudo.
Faire :
sudo su
fonctionne mais c'est stupide : tu demande à te substituer à root (sudo) pour te substituer à root (su)
Pour ouvrir un shell root avec sudo, on fait :
sudo -i
(lire man sudo et man su)
Deuxième question : oui (si tu as bien la ligne permettant aux membres du groupe sudo d'exéxucter n'importe quelle commande).
Troisième question : on peut en débattre pendant des heures. Les deux systèmes sont équivalents, chacun avec leurs propres avantages et inconvénients).
#3 Le 26/02/2018, à 21:21
- system99
Re : [Résolu] Su, sudo, sudoers
Merci de ta réponse, c'est super clair !
Comme quoi, je n'avais pas encore bien compris la différence entre su et sudo... Je comprends mieux maintenant pour sudo su : se substituer à root pour exécuter su (qui sert à se substituer à root)... C'est chez OpenClassrooms que j'ai appris ça
J'en profite pour faire un récapitulatif. Peut-être que ça pourra servir pour d'autres :
su permet de substituer à un utilisateur, à condition de connaître le mot de passe.
su toto
permet de se substituer à l'utilisateur toto.
su sans argument permet de se substituer à root.
L'argument -l permet de charger le shell de l'utilisateur.
On constate que l'on arrive dans le dossier personnel de toto.
su -l toto
-, -l, --login
Fournir à l'utilisateur un environnement similaire à celui qu'il
aurait obtenu s'il s'était connecté directement.
sudo permet à un utilisateur présent dans sudoers de se substituer à un autre utilisateur en tapant son propre mot de passe.
sudo sans argument permet de se substituer à root.
L'argument -u permet de spécifier un utilisateur.
sudo -u toto
-u user, --user=user
Exécutez la commande en tant qu'utilisateur autre que l'utilisateur cible par défaut (généralement root).
L'argument -i permet de charger le shell de l'utilisateur.
On constate que l'on arrive dans le dossier personnel de toto.
sudo -u toto -i
-i, --login
Cela signifie que les fichiers de ressources spécifiques à la connexion tels que .profile ou .login seront lus par le shell.
La commande est exécutée avec un environnement similaire à celui qu'un utilisateur recevrait lors de la connexion.
Dernière modification par system99 (Le 27/02/2018, à 11:08)
Hors ligne
#4 Le 27/02/2018, à 07:22
- bruno
Re : [Résolu] Su, sudo, sudoers
Attention, une petite erreur, c'est :
su -l toto
#5 Le 27/02/2018, à 10:48
- system99
Re : [Résolu] Su, sudo, sudoers
Corrigé !
Hors ligne