Retour douteux ubuntu...[bug sudo]

Chef, chef, y reste un petit problème :

Si on ne fixe pas le timestamp à 0 (puisque c’est le seul intérêt de sudo pour moi) et qu’on a bien le paquet compilé avec l’option --with-tty-tickets,

-si on fait un sudo dans un terminal, qu’on en ouvre un autre dans lequel on fait un nouveau sudo, le mot de passe est bien redemandé

-par contre, si on fait un sudo dans un terminal, qu’on le ferme, qu’on en rouvre un nouveau dans lequel on fait un nouveau sudo, le mot de passe n’est pas redemandé…

[quote=“ggoodluck47”][quote=“eol”]

[quote=“ggoodluck47”]
Mais comme je suis méfiant je ne délègue mes pouvoirs qu’a une seule personne : MOI :slightly_smiling:[/quote]Moi aussi, mais je suis plusieurs sur ma machine. :smt003[/quote]

Les autres sont des utilisateurs qui n’ont rien à faire sous sudo ![/quote]Pourquoi?
Ces autres ne sont autres que moi avec des sessions différentes afin de pouvoir expérimenter sans foutre le bordel dans mon home et sans changer mon .xinitrc .

Re,

Pour les “gens” sous Sidux qui changent de kernel tous les trois jours ce serait pas une synécure que d’appliquer ce patch !

[quote=“ggoodluck47”]Re,

Pour les “gens” sous Sidux qui changent de kernel tous les trois jours ce serait pas une synécure que d’appliquer ce patch ![/quote]
Je comprends pas ta remarque… c’est un patch sur le logiciel sudo, pas un patch sur le noyau dont il est question. Donc sudo tourne de la meme facon quel que soit le noyau…

Re,

J’ai fait un paquet pour lenny i386:

Cette phrase sans doute !

[quote=“ggoodluck47”]Re,

J’ai fait un paquet pour lenny i386:

Cette phrase sans doute ![/quote]
Heu… ben je vois toujours pas ou tu veux en venir… :blush:

[quote=“youki”][quote=“ggoodluck47”]Re,

J’ai fait un paquet pour lenny i386:

Cette phrase sans doute ![/quote]
Heu… ben je vois toujours pas ou tu veux en venir… :blush:[/quote]

Lenny 2.6.26

Sidux ce jour : 2.6.32-7

[quote=“ggoodluck47”][quote=“youki”][quote=“ggoodluck47”]Re,

J’ai fait un paquet pour lenny i386:

Cette phrase sans doute ![/quote]
Heu… ben je vois toujours pas ou tu veux en venir… :blush:[/quote]

Lenny 2.6.26

Sidux ce jour : 2.6.32-7[/quote]
Ben et alors? Ca empeche pas de se compiler sa propre version de sudo avec --with-tty-tickets que l’on soit en lenny ou en Sidux?

Re,

Tu fais exprès de pas comprendre ?

Quand on compile on utilise parfois les “headers” :smt003

[quote=“ggoodluck47”]Re,

Tu fais exprès de pas comprendre ?

Quand on compile on utilise parfois les “headers” :smt003[/quote]
Ben non je fais pas expres, mais c’est plutot sybillin tes sous-entendus :wink: Ceci dit, il faut utiliser les headers du noyau pour compiler sudo? Ca me semble bizarre, vu que c’est pas un module. Ou alors j’ai encore rien compris.

[quote=“seb-ksl”]Chef, chef, y reste un petit problème :

Si on ne fixe pas le timestamp à 0 (puisque c’est le seul intérêt de sudo pour moi) et qu’on a bien le paquet compilé avec l’option --with-tty-tickets,

-si on fait un sudo dans un terminal, qu’on en ouvre un autre dans lequel on fait un nouveau sudo, le mot de passe est bien redemandé

-par contre, si on fait un sudo dans un terminal, qu’on le ferme, qu’on en rouvre un nouveau dans lequel on fait un nouveau sudo, le mot de passe n’est pas redemandé…[/quote]

Oui, c’est cohérent. Cela signifie simplement que dans une fenêtre xterm, on peut faire des commandes sudo et pendfant ce temps lire son courrier, exécuter des scripts douteux sans risquer que ceux ci puissent avoir les droits root.

Que le confort consistant à ne pas redemander le mot de passe pendant un laps de temps paraisse dangereux, c’est autre chose, cela peut susciter un débat, mais pas la situation antérieure.

sudo n’utlise pas les headers du noyau, c’est juste une gestion fine de droits. Il est tout à fait possible d’utiliser la version squeeze sur une sid.

Salut,

[quote]sudo n’utlise pas les headers du noyau, c’est juste une gestion fine de droits. Il est tout à fait possible d’utiliser la version squeeze sur une sid.

[/quote]
Merci Fran.b

_

Oui en fait j’ai fini par comprendre que l’option “–with-tty-tickets” lie simplement le timestamp à un numéro de terminal particulier. Donc si tu lances 3 terminaux où tu lances sudo, tu les fermes tous les trois, résultat : tu as pendant $timestamp minutes trois terminaux root qu’un script peut utiliser à sa guise.

Oui et non. Oui car effectivement si tu rouvres un xterm, il aura le premier pts libre et donc pourra être associé à un timestamp existant. Par contre, si tu éxécutes un script, tu seras associé au tty7 qui sauf si ton gestionnaire de fenêtres fait n’importe quoi n’a pas invoqué sudo et donc le script n’aura pas les droits root. Je viens de faire un test qui confirme ce que je viens de dire. Donc si tu fais un sudo, à partir d’un xterm, même si tu fermes la fenêtres, le timestamp reste associé à un pts/?? et donc a priori ne concerne pas un script lancé par une application genre iceweasel ou autre. Mais il y a des astuces, on peut contourner ça en faisant un script qui lance un script à l’intérieur d’un screen: exemple:

script /tmp/go.sh

#!/bin/sh echo -n "coucou " >> /tmp/w date >> /tmp/w ps x >> /tmp/w sudo -n whoami >> /tmp/w 2>&1

script lanceur.sh

#!/bin/sh screen -d -m /tmp/go.sh

  1. rendre les deux scripts exécutables
  2. ouvrir une fenêtre avec un
    tail -qf /tmp/w
  3. ouvrir 3-4 fenêtres xterme et faire dedans
    $ sudo whoami
  4. Fermer les fenêtres, aller dans /tmp et cliquer sur /tmp/go.sh
    La fin devrait être

[quote]sudo: sorry, a password is required to run sudo
[/quote]
MAIS
cliquer sur lanceur.sh, là on doit voir

[quote][…]
28918 pts/5 Ss+ 0:00 /bin/sh /tmp/gg
28919 pts/5 R+ 0:00 ps x
root
[/quote]
donc il y a tout de même une faille potentielle. Elle est quand même plus difficile à obtenir (il faut être abruti pour ouvrir 5 xterm, lancer des sudo dedans, tout fermer et aller cliquer sur tout et n’importe quoi).

PS: Rigolo tout ça…

RePS: Je viens de vérifier les sources Ubuntu, là aussi sudo est compilé sans cette option.

Re,

Et sans timestamp :slightly_smiling:

Bon, ben tout fier que j’étais de mon sudo, je vais me remettre à su moi… Je le conserve uniquement pour autoriser mon user à exécuter shutdown sans requête de mot de passe (c’est faisable sans sudo ?).

Cela a un rapport ?:

[color=#0000FF]François Boisson
à debian-devel-f.

afficher les détails 16:24 (Il y a 1 heure)

Je viens de découvrir que le sudo de debian (sur squeeze) est compilé SANS
l’option --with-tty-tickets et configuré par défaut avec un timestamp de 15
minutues.

Cela signifie que si on fait un sudo sur un xterm par exemple, un script
exécuté de manière quelconque comportant un sudo silencieux obtiendrait les
droits (test fait) sans avoir à fournir de mot de passe. Avec l’option, seul
un sudo fait dans la même «console» (même tty ou même fenêtre xterm) se voit
dispensé de fournir ce mot de passe, un sudo dans une autre fenêtre se voit
demandé le mot de passe.

Cela veut dire qu’une utilisation à la Ubuntu de sudo rend la machine fragile
et sensible à n’importe quel script exécuté sans faire attention comme sous
windows.

Pour résoudre ce problème il suffit de refaire les paquets sudo en activant
cette option (cf viewtopic.php?p=252230#p252230 )

J’ai fait des paquets pour squeeze si cela intéresse des gens (cf lien)

Mais pourquoi diable cette option a-t-elle été supprimée de la configuration
par défaut alors qu’elle me parait un élément basique de sécurité?

François Boisson (qui n’utilise de toute façon pas sudo mais tout de même…)
[/color]

Ben oui, c’est moi :slightly_smiling:. J’ai fait un message sur la DUF et on m’a suggéré de signaler ça sur devel… À suivre

Il semble qu’il ne soit pas nécessaire de recompiler le paquet, l’option ne faisant qu’activer un réglage par défaut. Rajouter juste dans /etc/sudoers

ou en tout cas

active cette option (c’est plus simple tout de même). J’avoue que je ne comprends toujours pas pourquoi ça n’est pas mis par défaut…

Parce que très peu de debianistes utilisent sudo “à la ubuntu”.
sudo est à l’origine fait pour déléguer des droits sur certaines fonctions seulement (l’exemple classique est la sauvegarde de données qui peut étre faite par un groupe d’utilisateurs non administrateurs). Donner les droits à tout le monde sur toutes les commandes est pour moi une connerie monumentale.