#1 Le 28/05/2010, à 14:42
- Jo_
[Résolu] Question sur sudo -s
Salut à tous,
Une petite question concernant le sudo
Pourquoi "sudo -s" fait passer root ?
En effet le man de sudo indique que:
-s
The -s (shell) option runs the shell specified by the SHELL environment variable if it is set or the shell as specified in passwd(5).
Donc je ne vois pas le rapport entre lancer le shell indiqué dans la variable $SHELL (ou celui spécifié dans passwd) et le fait de passer root.
Je suis sûr qu'il y a une explication logique donc si quelqu'un pouvait éclairer ma lanterne, je sui scurieux de comprendre.
Merci bien
Dernière modification par Jo_ (Le 31/05/2010, à 10:24)
"Deux choses sont infinies : l'Univers et la bêtise humaine. Mais en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue." A. Einstein
Hors ligne
#2 Le 28/05/2010, à 16:10
- gl38
Re : [Résolu] Question sur sudo -s
La première ligne du manuel de sudo dit
sudo allows a permitted user to execute a command as the superuser....
Essaie la commande innocente suivante dans un dossier où il n'y a pas de fichier toto
sudo touch toto
elle crée un fichier vide dont le propriétaire est root, car tu es devenu root le temps de la commande.
Cordialement,
Guy
Hors ligne
#3 Le 28/05/2010, à 16:14
- Jo_
Re : [Résolu] Question sur sudo -s
aah capito !! donc dans le cas de sudo -s, il lance un shell en tant que root
Merci Guy
"Deux choses sont infinies : l'Univers et la bêtise humaine. Mais en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue." A. Einstein
Hors ligne
#4 Le 28/05/2010, à 16:15
- fabux
Re : [Résolu] Question sur sudo -s
Salut,
ça, réponds peut-être à ta question?
Sinon Hoper donne un petite explication là.
Une autre explication là
May linux be with you
Comment poster un message.
Je me présente dans la doc
Hors ligne
#5 Le 28/05/2010, à 16:21
- Jo_
Re : [Résolu] Question sur sudo -s
merci pour tous ces liens fabux.
Pas pour l'instant le temps de tout lire, et la réponse à ma prochaine question y est peut etre. Voici ma nouvelle question.
Comment limiter ce comportement ? Je m'explique... Comment empecher un utilisateur, qui fait partie des sudoers, de passer root avec ce sudo -s.
"Deux choses sont infinies : l'Univers et la bêtise humaine. Mais en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue." A. Einstein
Hors ligne
#6 Le 28/05/2010, à 16:57
- fabux
Re : [Résolu] Question sur sudo -s
J'ai du mal à comprendre ta question.
Si tu as un user qui fait partie des sudoers, je ne vois pas pourquoi tu veux l'empêcher de faire sudo -s ? sudo (avec ou sans option) te permet d'obtenir les "pouvoirs" root momentanément.
Mais, lis mes liens.
May linux be with you
Comment poster un message.
Je me présente dans la doc
Hors ligne
#7 Le 28/05/2010, à 22:28
- Jo_
Re : [Résolu] Question sur sudo -s
C'est très simple
Je vais expliquer en prenant un exemple avec le très célèbre utilisateur toto.
Je veux que toto n'ait le droit d'exécuter que les commandes useradd et userdel. Cela est possible avec sudo, voire c'est son intérêt, la possibilité d'exécuter une(des) commandes(s) en tant que superuser. Dans ce cas, si toto peut passer root en faisant un "sudo -s", il pourra alors exécuter toutes les commandes... donc sudo perd son interet.
D'où ma question: comment limiter ce comportement de sudo -s ?
En meme temps, en réflechissant un peu, il me semble avoir la réponse, mais il faudrait que je teste. C'est peut etre "embarqué" dans sudo, et donc si toto n'a que le droit de faire useradd et userdel, il n'aurait pas le droit d'ouvrir un shell en tant que root. Et donc la commande sudo -s n'aurait pas d'effet (enfin si.. elle va ouvrir un shell mais pas en tant que root)
"Deux choses sont infinies : l'Univers et la bêtise humaine. Mais en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue." A. Einstein
Hors ligne
#8 Le 31/05/2010, à 01:46
- AlexandreP
Re : [Résolu] Question sur sudo -s
sudo peut être paramétré pour qu'un utilisateur ne puisse exécuter que quelques commandes précises. S'il n'a pas l'autorisation d'exécuter le shell en mode root, alors sudo -s devient inopérante.
Par exemple : J'ai placé un fichier mevoila dans le dossier /root/. Un utilisateur "toto" n'est pas membre du groupe administrateur. Je voudrais lui donner la possibilité de lister le contenu du répertoire /root/. Je modifie le fichier /etc/sudoers :
administrateur@ordinateur:~$ sudo visudo
À la fin du fichier, j'inscris l'instruction suivante :
toto ALL = /bin/ls /root
Puis, en tant que "toto", j'exécute la série de commandes suivantes :
toto@ordinateur:~$ ls /root
ls: ne peut ouvrir le répertoire /root: Permission non accordée
toto@ordinateur:~$ sudo ls /root
[sudo] password for toto:
mevoila
toto@ordinateur:~$ sudo -s
Sorry, user toto is not allowd to execute '/bin/bash' as root on ordinateur.
On observe donc que "toto" peut exécuter les commandes qui lui sont explicitement autorisées dans le fichier /etc/sudoers, mais pas celles qui ne lui sont pas autorisées.
«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.
Hors ligne
#9 Le 31/05/2010, à 10:23
- Jo_
Re : [Résolu] Question sur sudo -s
Cela a le mérite d'etre clair .
Merci AlexandreP
"Deux choses sont infinies : l'Univers et la bêtise humaine. Mais en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue." A. Einstein
Hors ligne
#10 Le 01/06/2010, à 04:59
- AlexandreP
Re : [Résolu] Question sur sudo -s
Y'a pas de quoi.
J'ajoute que le Sudoers Manual, dans le site officiel de l'utilitaire sudo, donne des explications et surtout des exemples fort intéressants pour créer des règles particulières avec sudo.
«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.
Hors ligne