Page 1 sur 2

[sudo] demande le mdp utilisateur au lieu du mdp root !

Publié : dim. 07 sept. 2008, 19:55
par Calimero
Salut !

J'ai en ennui curieux.

Je dois entrer mon mot de passe utilisateur (au lieu du mdp root) lorsque j'utilise sudo.

Code : Tout sélectionner

[root@webgine ~]# cat /etc/sudoers
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# Defaults specification

# Runas alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
%wheel  ALL=(ALL) ALL

# Same thing without a password
# %wheel        ALL=(ALL) NOPASSWD: ALL

# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now

Publié : dim. 07 sept. 2008, 20:58
par Skunnyk
Euh, tu es sur que tu as compris le principe de sudo ? C'est justement le but, pouvoir executer des commandes root sans être root (et donc sans utiliser le mot de passe root).
Ou alors tu as mal posé ta question ;-)

http://fr.wikipedia.org/wiki/Sudo

Publié : dim. 07 sept. 2008, 21:14
par marc[i1]
C'est un des raisons qui me font détester sudo … il y a un manque évident de séparation user/root.
Devoir taper un mdp user pour avoir des commandes root AMHA c'est pas sain.

Publié : dim. 07 sept. 2008, 21:31
par farvardin
ben justement, c'est l'intérêt, tout en gardant une certaine protection. Tu n'es d'ailleurs pas obligé de l'utiliser.

La seule faille que je peux voir, c'est si tu as utilisé sudo et que tu lances pendant le temps où tu n'as pas à retaper le mot de passe, un script foireux qui utilise sudo pour te piéger. Mais cela se paramètre, et on peut le faire taper à chaque fois si nécessaire. Par contre la grosse faille c'est sur les distributions (genre xandros eeepc ou ubuntu) où sudo n'a pas besoin de mot de passe par défaut, un utilisateur peut exécuter un programme "malveillant" en root sans s'en rendre compte.

Publié : dim. 07 sept. 2008, 22:08
par warnaud
Clairement d'où l'utilité de n'autoriser QUE ce qui doit l'être et dans un groupe bien défini (wheel par exemple).
Ne pas avoir le mot de passe root ne me dérange pas car sinon n'importe qui passe en root direct (ce qui est surement pire)

Publié : dim. 07 sept. 2008, 23:25
par marc[i1]
C'est vrai que l'utilisation de sudo selon ubuntu a contribué à le voir comme un outil dangereux.

Publié : dim. 07 sept. 2008, 23:40
par vincentxavier
sudo est un outil puissant dont il faut être sur d'avoir appréhendé les concepts au minimum avant de s'en servir.

Son utilisation dans le cadre d'un service informatique qui doit gérer des dizaines de postes utilisateurs est à mon avis l'exemple canonique. Je m'explique. sudo permet de déléguer tout ou partie des droits d'un autre utilisateur à un utilisateur ou à un groupe d'utilisateur et sur certaines machines. Là où les choses deviennent encore plus intéressantes, c'est que sudo peut aller chercher ses informations sur un seveur distant (NIS ou LDAP). Par exemple, on peut autoriser les utilisateurs normaux à faire les mises à jour sur leur propre machine mais pas sur une autre (par exemple). sudo intègre aussi un mécanisme de journalisation des commandes permettant de retrouver très rapidement quel utilisateur a fait quelle manipulation.

En ce qui concerne l'utilisation de sudo dans le cadre de l'informatique domestique ou nous sommes bien souvent admin de nos propres machines, c'est avant tout une affaire de goût. Personnellement j'utilise sudo quotidiennement pour éviter de passer régulièrement en root. Mais pendant longtemps, je passais en root pour effectuer des actions (et je ne revenais pas en user normal).

Il est normal que sudo demande le mot de passe utilisateur puisque c'est une délégation de droits. En revanche le fait d'utiliser sudo (ou pas) est avant tout une affaire de goût.

Publié : lun. 08 sept. 2008, 19:22
par wain
sudo c'est bien 8)

Publié : lun. 08 sept. 2008, 19:32
par vincentxavier
Le seul truc que je n'arrive pas encore à faire avec sudo (simplement du moins) et qu'il est facile de faire avec su, c'est d'interdire les opérations critiques sur certaines plages horaires pour certaines personnes.

Mais sinon, je kiffe grave sudo !

Publié : lun. 08 sept. 2008, 20:11
par tuxce
en jouant avec les sous sections de pam et entre autre pam_time.so et /etc/security/time.conf, non?

Publié : lun. 08 sept. 2008, 20:17
par vincentxavier
Oui, sauf que c'est pleinement intéressant si ma base de sudoers est dans un fichier local. Mais quand la base de sudoers est dans un annuaire ldap, c'est là que ça coince !

Je sais, c'est tordu et inutile dans le cadre de l'informatique domestique.

Je tiens à préciser que je ne suis pas admin sys ou admin réseau.

La solution la plus simple à la quelle j'ai pensé, c'est d'utiliser une crontab pour modifier la base ldap à intervalle régulier.

Publié : lun. 08 sept. 2008, 20:32
par AddiKT1ve
Rhô le geek, il monte un annuaire ldap pour son réseau domestique :o

(disait l'homme aux deux seveurs sftp + rsync + dns)

Publié : lun. 08 sept. 2008, 20:47
par vincentxavier
Heu, le serveur LDAP n'est qu'une partie du bazar :

- Serveur DNS (parce que ça me saoule de faire des fichiers hosts)
- Serveur rsync (parce que j'ai 3 machines sous Gentoo)
- Serveur git (parce que j'aime ca)
- Serveur LDAP (pour l'authentification des utilisateurs et l'export des authorisations sudo)
- Serveurs NFSv4 (avec export de /usr/portage/, de /home/users/ et automontage de /home/users/% à la connection de l'utilisateur %)
- Serveur NFSv3 (parce qu'il est sur une mandriva et que c'est galère d'y mettre du NFSv4)
- Serveur CUPS (pour pouvoir imprimer de n'importe où)
- Serveur Apache
- Serveur Postgres
- Serveur SMTP
- Serveur IMAP

Je crois que c'est tout. Bien sur, toutes les machines sont équipées d'un serveur ssh.

En fait, y'a aussi un serveur samba et un second serveur cups sur une autre machine.

Y'a aussi des serveurs de supervision, mais ils ne sont pas encore actifs.

Publié : lun. 08 sept. 2008, 20:58
par gyo
Et moi ! et moi ! j’ai, euh, un portable sous archlinux avec un serveur cups offline (p*tain le nerd !)

:vante:

Publié : ven. 12 sept. 2008, 14:48
par Calimero
Ah, bon, d'accord. Il faut croire que je n'avais pas bien compris le principe de sudo. (et même pas cherché, puisque je croyais qu'il fallait fournir le mdp root)

Moi, j'aurais voulu m'en servir pour exécuter des commandes en root depuis ma session, en fournissant le mot de passe root. (à chaque fois)

Mais je l'ai désinstallé, de toute manière j'ai kdesu pour les applis graphiques en root (gparted), et une console root pour les trucs à faire en root. (qui s'ouvre quand j'appuie sur le bouton spécial "console" de mon ordi portable, la classe 8))


L'erreur est humaine, mais pour vraiment foutre le bordel, il faut qu'il faille le mot de passe root.

en rouge : rajout exprimant ma façon de penser.

Publié : ven. 12 sept. 2008, 21:22
par farvardin
il me semble que sous opensuse, si un utilisateur n'est pas dans la liste des sudoers, sudo permet d'entrer le mot de passe root à la place.

Publié : sam. 13 sept. 2008, 10:22
par AddiKT1ve
su -c "commande", alors ;) !

Publié : sam. 13 sept. 2008, 14:21
par tuxce
farvardin a écrit :il me semble que sous opensuse, si un utilisateur n'est pas dans la liste des sudoers, sudo permet d'entrer le mot de passe root à la place.
par défaut, elle permet de lancer sudo pour n'importe quel utilisateur, ce qui n'est à mon avis pas une bonne chose, sudo gardant les privilèges root un moment, si on commence à l'utiliser comme "su -c", je sens les vol de compte... (bien sur, des postes mono utilisateur, c'est pas pareil, mais bon)

la config pour avoir ce comportement:

Code : Tout sélectionner

Defaults targetpw
ALL ALL=(ALL) ALL
en fait ca permet de lancer n'importe quelle commande avec n'importe quel utilisateur du moment qu'on connait son mot de passe, le root étant l'utilisateur par défaut.

pour ce qui est de demander le mot de passe root à la place de celui de l'utilisateur:

Code : Tout sélectionner

Defaults rootpw

Publié : dim. 14 sept. 2008, 10:58
par bgse
bonjour,

la question m'interesse, parceque de la même façon que calimero, j'imaginais qu'il fallait le mot de passe root pour sudo.

en fait, je me place dans la situation d'une classe en salle d'informatique.
aucun élève n'a de droits. ils n'ont de droit que dans leur /home respectifs. le prof donne un exercice mais il se rend compte qu'il a oublié de créer un dossier dans un dossier système :

il passe sur tous les postes, il tape sudo mkdir /dossier_que_j_ai_oublie_de_cree
il rentre SON mot de passe (c'est le prof qui a installé les posts, et c'est lui le root en fait...). ça lui évite de se loguer en root... et comme il a désactivé la mémorisation du mot de passe de sudo, donc il laisse ensuite les élèves faire joujou sans avoir peur qu'un élève réutilise sudo.

voilà ce que j'imaginais. c'est pas ça donc ?


alors visiblement, c'est peut-être plutôt ça :
pour pouvoir taper sudo, il faut que l'admin ait confiance en le user, et donc il a rajouté le user dans sudoers, avec les droits qu'il veut.
le prof demande aux élèves de créer le dossier qui manque, en leur disant "attention, vous avez les droits d'admin en utilisant sudo"

je pense que calimero pensait qu'il fallait rentrer le mot de passe root pour la raison suivante :
c'est confusant surtout parceque chez nous, sur nos machines perso, en installant une distrib, c'est nous qui créons root, son mot de passe, le user principal, et son mot de passe.
et sous ubuntu, par défaut, le user principal est automatiquement dans sudoers, et peut donc faire tout ce qu'il veut, ce qui a pu faire croire à l'utilisateur lambda (calimero, moi...), que si on créé un deuxième user, il aura aussi le droit de faire sudo, ce qui n'est pas le cas, sauf à le rajouter dans sudoers. et donc cette croyance fait qu'on peut penser que c'est bizarre qu'il faille le mot de passe root pour sudo, car nimportequi peut l'utiliser, alors qu'en fait c'est pas le cas (il faut d'abord rajouter le user dans sudoers).

Publié : dim. 14 sept. 2008, 15:59
par tuxce
un bien long post... mais je pense que tu n'as pas lu le topic en entier.
tu peux faire ce que tu veux en configurant "sudo", mais:
1- rendre sudo utilisable par tout le monde
2- qu'il ne garde pas l'authentification
3- demande de mot de passe root
ca revient à réinventer su !!
bgse a écrit : c'est confusant surtout parceque chez nous, sur nos machines perso, en installant une distrib, c'est nous qui créons root, son mot de passe, le user principal, et son mot de passe.
je vois pas trop pourquoi ca serait perturbant... ("confusant" ca me semble ne pas exister :))
bgse a écrit : et sous ubuntu, par défaut, le user principal est automatiquement dans sudoers, et peut donc faire tout ce qu'il veut, ce qui a pu faire croire à l'utilisateur lambda (calimero, moi...), que si on créé un deuxième user, il aura aussi le droit de faire sudo, ce qui n'est pas le cas, sauf à le rajouter dans sudoers.
sous ubuntu, il suffit que l'utilisateur fasse partie du groupe "admin"
bgse a écrit :et donc cette croyance fait qu'on peut penser que c'est bizarre qu'il faille le mot de passe root pour sudo, car nimportequi peut l'utiliser, alors qu'en fait c'est pas le cas (il faut d'abord rajouter le user dans sudoers).
la tu t'embrouilles (mot de passe root, pas root...)