confusion entre Root et sudo

13 replies [Last post]
mangeur de nuage
Offline
Joined: 09/27/2015

Bonjour
Connaissant debian lorsque je devais utiliser certaine fonctionne je devais me loger en root
donc j'avais le mdp de ma session + un autre pour le root.

Dans triskel on utilise sudo (ca me fait penser a "su root" non ?) quelle est la différence en terme de securiter car j'ai l'impression d'avoir un compte a moitié root a moitié users donc de pouvoir exécuter des fonctions root avec le même mot de passe cela n'est-il pas en soit un problème de sécu ?

Canonical a justifier ca en disant qu'il ont désactiver root pour des raison de securiter, mais on ne peut pas désactiver root non ?
Après j'ai apprécie certain truc comme le fais de ne pas avoir être en root pour faire un ifconfig (votre avis sur ce genre de chose c'est quoi ont-ils eu tore ?).

D’ailleurs y a t-il un système similaire genre GPO mais GNU/linux ?

Magic Banana

I am a member!

Offline
Joined: 07/24/2010

On peut ne pas laisser "root" se connecter, si. C'est d'ailleurs ce que fait Trisquel. Cela rend les scripts kiddies bien moins efficaces puisqu'il faut non seulement trouver un mot de passe mais aussi un nom d'utilisateur. Par ailleurs, le mot de passe demandé par 'sudo' n'est valable que quinze minutes (par défaut). Il y a du coup moins de risque lié à un départ précipité (sans prendre le temps de verrouiller l'écran). Enfin, pour l'administrateur qui passe du temps à ce pencher sur le sujet, il y a moyen d'être bien plus fin dans les droits donnés à chacun des utilisateurs.

Ceci étant, tu peux exécuter 'sudo -i' pour obtenir un "terminal root". 'sudo passwd root' te permet même de donner un mot de passe à "root" et donc de te retrouver avec la possibilité de devenir cet utilisateur d'un 'su' (comme sur Debian).

mangeur de nuage
Offline
Joined: 09/27/2015

Donc si je comprend bien cela correspond a une elevation temporaire des droits d'utilisation, non ?

"Par ailleurs, le mot de passe demandé par 'sudo' n'est valable que quinze minutes (par défaut)."

Cela veut-il dire que si l’exécution d'une commande demandant des privilèges élever qui s’exécutent plus de quinze minutes sera annuler ?
Ou l'os prend t-il compte que une commande exécuter en sudo dois forcement se terminer avec des privilèges élever ?

Et est-il possible de donner un mot de passe différent a sudo (ou est-il) lier au compte ?
Car si j'ai bien comprit le "root" est un compte tandis que "sudo" c'est une demande de droit plus élever temporaire ou est ce que je me trompe ?

D’ailleurs dans le cas de pc ou il y a beaucoup de multi session comment cela est-il gérer y a t-il un sudo générale ou le sudo varie entre chaque compte ?

Peut-on réduire le temp de validiter de sudo ou tout simplement de supprimer le minuteur ? histoire de ne pas avoir l’élévation de droit pendant une courte durée mais plutôt d'avoir a le retaper pour chaque commande.

Magic Banana

I am a member!

Offline
Joined: 07/24/2010

Donc si je comprend bien cela correspond a une elevation temporaire des droits d'utilisation, non ?

Oui.

Cela veut-il dire que si l’exécution d'une commande demandant des privilèges élever qui s’exécutent plus de quinze minutes sera annuler ?

Non. Lorsqu'une commande est précédée de 'sudo', un mot de passe est demandé à moins que 'sudo' ait déjà demandé et obtenu le mot de passe il y a moins de quinze minutes (dans le même terminal). Ensuite la commande tourne avec les droits élevés pendant le temps qu'il lui est nécessaire.

Et est-il possible de donner un mot de passe différent a sudo (ou est-il) lier au compte ?

Le mot de passe est celui de l'utilisateur. Mais, de nouveau, tu peux tout à fait donner un mot de passe à "root" (puis retirer les droits d'administrations à l'utilisateur) si tu préfères ce fonctionnement traditionnel.

Car si j'ai bien comprit le "root" est un compte tandis que "sudo" c'est une demande de droit plus élever temporaire ou est ce que je me trompe ?

C'est cela. "root" est un utilisateur (avec 0 pour identificateur) mais, par défaut, il n'a pas de mot de passe sur Trisquel. Donc il ne peut pas se connecter. "root" peut faire tout et n'importe quoi. Avec 'sudo', l'administrateur peut définir une politique de sécurité bien plus sophistiquée. Vois 'man sudoers'.

D’ailleurs dans le cas de pc ou il y a beaucoup de multi session comment cela est-il gérer y a t-il un sudo générale ou le sudo varie entre chaque compte ?

La politique de sécurité définit ce que chaque utilisateur a le droit de faire via 'sudo'. Par défaut le premier utilisateur créé fait tout ce qu'il veut et les autres utilisateurs peuvent n'avoir le droit de ne pratiquement rien faire qui aurait une influence sur le système (installer des paquets par exemple). Enfin, ils ont quand même le droit d'éteindre la machine je crois (cela fait bien longtemps que je n'ai plus eu de compte limité !). Il faudrait creuser un peu pour voir exactement quels droits se cachent derrière le type compte "Utilisateur de l'ordinateur" défini dans "Utilisateurs et groupes" (dans les "Paramètres système").

Peut-on réduire le temp de validiter de sudo ou tout simplement de supprimer le minuteur ?

Oui. L'édition de la politique de sécurité de 'sudo' s'édite via 'sudo visudo'. De nouveau, vois 'man sudoers' pour la syntaxe. Dans le cas présent tu veux "timestamp_timeout=0".

Par défaut 'visudo' utilise l'éditeur de texte (minimaliste) 'nano' mais il est possible de définir la variable "editor" pour changer cela. Après avoir défini "EDITOR=emacs" dans ~/.bashrc, j'ai ainsi écrit la ligne suivante via 'sudo visudo' pour qu'à l'avenir 'sudo visudo' me laisse éditer la politique de sécurité de 'sudo' dans Emacs plutôt que 'nano' :
Defaults editor=/usr/bin/emacs

mangeur de nuage
Offline
Joined: 09/27/2015

Merci beaucoup pour c'est précisions
Je vais fouiller et lire quelque man

ps: le ~ ca signifie quoi ? j'ai fais un "ls ~" et ce m'affiche mon répertoire perso, c'est normale ?

Magic Banana

I am a member!

Offline
Joined: 07/24/2010

C'est ton dossier personnel. :-)

Vois ce que renvoie 'echo ~' pour t'en convaincre.

nmrk.n
Offline
Joined: 11/01/2013

@ mangeur de nuage :

j'ai l'impression ... de pouvoir exécuter des fonctions root avec le même mot de passe ... ? Ce n'est pas une impression mais un fait.

Si ton mot de passe te permet d'utiliser sudo sans restriction il faut le considérer comme un mot de passe administrateur donc veiller à le garder confidentiel.

Avec "root" tu peux garder son mot de passe (ton mot de passe administrateur) secret et éventuellement partager ton mot de passe utilisateur ordinaire avec une personne de confiance pour simplifier l'utilisation ordinaire de la machine.

Avec "sudo" sans restriction il est très risqué de partager ton mot de passe même avec une personne de confiance si celle-ci est inexpérimentée, une mauvaise compréhension pouvant conduire à l'utilisation de sudo et à la catastrophe même sans mauvaise intention.

Par ailleurs que ce soit "sudo" ou "root" ou les deux voire aucun (ce qui limitera sérieusement les possibilités !) n'importe quelle distribution peut être configurée selon tes souhaits.

merci

Magic Banana

I am a member!

Offline
Joined: 07/24/2010

Le mieux reste quand même de créer un compte pour chaque utilisateur. C'est littéralement une question de secondes.

nmrk.n
Offline
Joined: 11/01/2013

Le mieux reste quand même de créer un compte pour chaque utilisateur. C'est littéralement une question de secondes.

Pour la création mais à l'usage les secondes se multiplient ...

Il y a plusieurs régimes :

Communauté universelle, communauté réduite aux acquêts, séparation de biens ....

merci

Magic Banana

I am a member!

Offline
Joined: 07/24/2010

On peut passer de la session graphique d'un utilisateur à celle d'un autre en deux clics (avec GNOME Shell tout du moins).

mangeur de nuage
Offline
Joined: 09/27/2015

Avec "sudo" sans restriction il est très risqué de partager ton mot de passe même avec une personne de confiance si celle-ci est inexpérimentée, une mauvaise compréhension pouvant conduire à l'utilisation de sudo et à la catastrophe même sans mauvaise intention.

En effet j'essaie juste de comprendre comment configurer tout cela (avant avec un windows pro ou avec windows serveur je savais faire des restriction avec les gpo, je dois tout réapprendre maintenant (ce n'est pas une mauvaise chose en soit, je comprend bien plus de choses comme le smart par exemple)

j'ai juste eu un conflit de compréhension car sudo est root son très similaire (honnêtement jetait prêt a comparer sudo a l'UAC de windows mais je me rend compte qu'il est bien plus efficace et qu'il na rien a voir avec l'UAC)

Donc le premier compte créer on peut le considérer comme administrateur ?

Je me rend compte maintenant que ce que l'on mas appris en formation n'est vraiment pas très avancer, installe windows ,clique si ca marque que c'est bon , ne questionne pas comment ca fonctionne est basta. Utilise windows qui disais et manger du cisco.

Magic Banana

I am a member!

Offline
Joined: 07/24/2010

Le premier compte créé est un compte utilisateur qui peut faire tout n'importe quoi via 'sudo'. C'est quand même différent du compte "root" où une vulnérabilité dans n'importe quel logiciel utilisé, disons le solitaire, donnerait à l'attaquant les pleins pouvoir sur le système.

En administrant le système via 'sudo', on élève ses permissions que lorsque l'on exécute une commande d'administration (par exemple pour mettre à jour les paquets) et non constamment (par exemple pour jouer au solitaire). Ainsi, en exploitant une vulnérabilité dans le solitaire, l'attaquant n'a que les droits d'un utilisateur normal. Pour prendre les pleins pouvoirs (par exemple pour pouvoir installer un cheval de Troyes exécuté au démarrage du système), il lui faut encore trouver le mot de passe.

nmrk.n
Offline
Joined: 11/01/2013

C'est quand même différent du compte "root" où une vulnérabilité dans n'importe quel logiciel utilisé, disons le solitaire, donnerait à l'attaquant les pleins pouvoir sur le système.

Pourquoi donc lancer un logiciel en tant que root, qui plus est un jeu ? !

merci

Magic Banana

I am a member!

Offline
Joined: 07/24/2010

Ce n'est justement pas recommandé. "root" ne devrait jamais ouvrir une session graphique. Avec un mot de passe (donc pas sur Trisquel, par défaut), il peut. La meilleure pratique, sur les systèmes GNU/Linux traditionnels, consiste à utiliser 'su' juste avant une opération d'administration et d'utiliser 'exit' juste après. C'est au final le fonctionnement imposé par 'sudo'.