Calendrier

« Décembre 2008
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031 

Nikoo

NikooUn petit blog sur mes expériences dans le monde de Linux. Il contient essentiellement mes tests/retours/avis sur certaines distributions, mais également des conseils pour installer tel ou tel logiciel, et surtout une foule de liens utiles concernant Linux.

Blog

Catégories

Derniers billets

Compteurs

Liens

Fils RSS

Petite frayeur avec "sudo" et Kubuntu

Par Nikoo :: 05/02/2007 à 18:30 :: Aide


Salut,
un petit billet pour vous raconter la petite frayeur que j'ai eue.

Pour rappel, il existe sous Linux une gestion des utilisateurs assez stricte, ceux-ci pouvant appartenir à des groupes d'utilisateurs, ayant eux-mêmes des droits divers et variés sur certaines parties du système et sur les fichiers qui le constituent.

Pour aller droit au but, vous avez habituellement : les utilisateurs simples, et puis l'utilisateur dit "root" (= racine en anglais).

"root" est l'utilisateur (un peu vilain de l'appeler comme ça, mais bon ) suprême pouvant accéder en lecture et écriture à tout ce qu'il y a dans le système.

Les utilisateurs simples : ben ce sont des utilisateurs simples qui ne peuvent pas toucher aux fichiers system, normalement ().

On peut passer en root depuis un compte utilisateur en tapant (sans les guillemets) "su" dans un terminal et en fournissant le mot de passe root. (su= super user = super utilisateur)

Malgré tout, il se trouve qu'il existe un moyen de conférer temporairement à un utilisateur simple des droits d'administration. Ceci se fait en le déclarant dans le fichier /etc/sudoers (en tout cas pour Ubuntu et ses dérivés).

sudoers : littéralement les "users" pouvant "faire" comme "su".

Ainsi, il existe des distributions linux qui ont :

1:  des utilisateurs simples et puis un compte root (cas de Mandriva, par défaut, notamment).
2:  des utilisateurs simples, des utilisateurs sudoers (compte root désactivé).
3:  des utilisateurs simples, des utilisateurs sudoers, et puis un compte root.

Rque : vous devez sûrement pouvoir faire passer une Mandriva dans la catégorie 3, mais je ne m'y suis jamais penché. A voir du côté de leur outil "msec".

Kubuntu, comme Ubuntu, fait partie de la catégorie 2. MacOSX aussi, d'ailleurs.
Ainsi, vous trouverez partout des aides sur Ubuntu et ses dérivés sur le Net pour installer des programmes, ou réaliser des tâches admin qui vous disent :

tapez "sudo j'ai_le_droit_de_fumer_dans_mon_bureau"

Vous sollicitez donc temporairement le droit administrateur de faire un truc qui ne vous est habituellement pas autorisé (exemple tout à fait d'actualité ).

Le premier user créé sur Ubuntu/Kubuntu fait ainsi partie des sudoers.
Au lieu de vous donner les pleins pouvoir et de vous demander un mot de passe particulier, on ne fait que vous demander de donner votre mot de passe utilisateur, qui a une valeur forte, puisque vous faites partie des utilisateurs auquels ont a confié l'accès temporaire aux droits admin ! rooohhhh !!! 

Bref, vous allez voir où est le problème de ce genre de truc.

Configuration 1 :
Si vous êtes user simple, vous ne pouvez pas bouziller grand chose sur votre système à part vos données personnelles et les fichiers de configuration des logiciels que vous utilisez (bref, votre /home quoi).
Vous voulez faire un truc qui nécessite des droits admin, vous vous logguez en root, et hop, vous faites vos bêtises. Si c'est très grave, ben votre system est foutu, mais peut-être réparable.
Si votre bêtise est petite, genre vous effacez un xorg.conf sans le faire exprès...
Bon ok, vous n'avez plus d'affichage graphique, mais vous pouvez toujours vous relogguer en root dans une console tty en faisant Ctrl-Alt-F1 à F6, tapant root, et le mot de passe root, recréer un xorg, et relancer Xorg.
Et bim vous revoilà nickel, et vous disant, je ne m'endormirai plus sur mon clavier en étant en root, et en éditant /etc/xorg.conf.  C'est un peu gros, mais c'est pour l'exemple, hein ?

Configuration 2 :
Vous êtes sous votre Kubuntu en utilisateur sudoers et vous êtes en train de travailler justement sur /etc/sudoers pour y faire des modifs....
Par ailleurs, vous travaillez avec plusieurs fichiers textes d'ouverts, vous faites un couper pour vider la fenêtre  sur laquelle vous travaillez, et vous sauvegardez et vous sauvez. Ce que vous n'avez pas vu dans la barre de titre, c'est que que vous veniez de changer de fenêtre et que vous avez coupé, vidé, et sauvegardé le fichier sudoers....
Etant donné que les droits su sont donnés à un sudoers pour quelques temps, quand vous vous rendez compte de la bourde (enfin, je dis vous....moi, hein.... ? )...il est trop tard !

Voilà que je me retrouve simple user, ayant bouzillé le seul fichier qui sait que je suis plus que ça : que je suis un sudoers...

Donc pour la comparaison : c'est comme dans les films d'espions, où tout le monde essaie d'effacer votre trace. Ben là, c'est pareil.


Recréer un fichier définissant les sudoers : c'est facile.
Le problème est que l'endroit où il doit être "mis", cad dans /etc, n'est évidemment accessible qu'à root (su) et aux sudoers....
Par ailleurs, vu que lancer des mises à jour se fait également par l'appropriation de droits admin temporaires, ben impossible.
Pas possible aussi de lancer firestarter (une interface graphique de parefeu, cf. ma rubrique Liens Linux).
Système utilisable, mais impossible d'administrer car en fait, dans cette catégorie 2, le compte root (désactivé par défaut) est activable, forcément, uniquement par les sudoers.... on se mord la queue là :)

Bref, la merde.

Donc ? Et bien merci Knoppix (cf. ma rubrique Liens Linux), distribution Linux LiveCD par excellence et que j'avais sur un étagère, qui m'a permis de  me logguer en root (sans mot de passe sous Knoppix), d'accéder à mes partitions Kubuntu, et de recréer le fichier /etc/sudoers

Moralité ? sudo c'est bien, mais avoir en plus le compte root déjà activé, au cas où, c'est mieux. (enfin, c'est mon avis).

Laissez vos avis avisés !

P.S.1 Kubuntu aussi possède un LiveCD, mais je n'arrivais pas à accéder à mes partitions (et j'avais pas envie de chercher des heures).
P.S.2 Kubuntu possède un mode rescue sur ce LiveCD, mais j'ai pas testé ce qu'il contient.
P.S.3 Vous pouvez avoir le même problème sous MacOSX si vous oubliez le mot de passe de votre session et que vous êtes sudoers. Il vous faudra un autre compte sudoers pour pouvoir réinitialiser votre mot de passe, sachant qu'il faut être sudoers pour créer des utilisateurs, et également des utilisateurs sudoers . Sinon, heureusement, il y a le CD d'installation de MacOSX qui permet de faire tout ça...




Trackbacks

Pour faire un trackback sur ce billet : http://nikoolinux.zeblog.com/trackback.php?e_id=144456

Commentaires

Le 19/04/2007 à 14:29, par xic66
Juste une petite remarque. En fait, contrairement à ce que beaucoup pensent, moi inclus jusqu'à il n'y a pas très longtemps, "su" ne veut pas dire "super utilisateur", mais "substitute utilisateur". Cette commande permet de changer l'utilisateur qui lance des processus. Simplement, quand il n'y a pas d'argument, l'utilisateur par défaut est "root". Donc "su" équivaut à "su root". Si tu as deux utilisateurs "machin" et "truc", pour lancer un processus "truc" à partir d'un console "machin", tu dois faire "su truc" (ou "su - truc" pour charger également l'environnement de "truc").
Le 19/04/2007 à 14:44, par Nikoo
Ah ?

Merci pour cette précision.J'essaierai de corriger mon billet sous peu.

EDIT : finalement, j'ai laissé comme ça, plus simple pour l'explication notamment pour les utilisateurs novices.
Mais j'invite chacun à prendre en compte ton commentaire pertinent.




Edité par nikoolinux le 07/06/2007 à 19:16
Le 08/08/2007 à 20:52, par exorçiste de strasbourg
C'est scandaleux de voir cela!
Evidemment il passe son temps à jouer sur Arma.
Héhééééé.
Le 28/08/2007 à 12:57, par Nikoo
EDS, j'avais dit : les avis avisés..... >_>

;-)

Ajouter un commentaire

Nom ou pseudo :


Email (facultatif) :


Site Web (facultatif) :


Commentaire :


Anti-Spam :
Recopiez le code dans le champ ci-dessus.

 
Nikoolinux - Blog créé avec ZeBlog