OVH Cloud OVH Cloud

[Ubuntu m'énerve] droits sur /sbin/halt

65 réponses
Avatar
olive
Bonjour,

J'ai un réseau de 6 machines sous Ubuntu 10.04. J'ai écrit un petit
script pour les éteindre toutes en même temps et en une seule opération,
via ssh, authentification par clef de cryptage, et commande halt.

Tout marchait parfaitement jusqu'à hier soir. Or ce matin, je fais les
mises-à-jour proposées, je vide les corbeilles, bref, de la toute petite
maintenance. Et là, le script en question ne marche plus : on me dit
qu'il faut être root pour cette opération.

Je me dis que le permissions sur halt ont été modifiées (déjà ça c'est
inacceptable), j'accorde donc la permission d'executer halt aux
utilisateurs ordinaires, via chmod a+x halt.

Or malgré cela, le système me dit que je dois être root. Et là, je ne
comprends plus, j'ai fait ce qu'il faut, mais ça marche pas. Y a-t-il
une subtilité qui m'échappe ? Ou est-ce
une-amélioration-d'Ubuntu-pour-protéger-l'utilisateur-de-lui-même ?

C'est d'autant plus curieux que n'importe quel utilisateur peut éteindre
la machine par la clickodrome.


--
Olivier -- "On est comme tous les artistes, on croit à notre produit."
-+groupe Début de Soirée+-

10 réponses

1 2 3 4 5
Avatar
Yliur
Le Fri, 20 Aug 2010 01:21:00 +0200
xtof pernod a écrit :

Le 19/08/2010 22:24, Yliur a fait rien qu'à écrire:
>
>> Tiens, à ce propos (?), j'ai vaguement cherché comment poser un(e)
>> icône xterm/terminator/autre qui s'ouvrirait en root. Ben les
>> setuid sur les .py, à part invalider le lancement..
>>
>> Une suggestion ?
>
> Peut-être à appliquer plutôt sur un script qui lancerait Python en
> lui donnant ton .py à exécuter ?

Alors: pour gnome-terminal, en fait c'est /usr/bin/gnome-terminal,
un ELF; si je le mets chmod +s, il se lance tout simplement plus
(erreur DBus)

>
> Est-ce que ton .py est exécuté avec Python par l'interface
> graphique ou parce que tu as ajouté une déclaration en tête de
> fichier ?
>

Pour terminator, /usr/bin/terminator est un lien, qui est:
:/# head /usr/share/terminator/terminator
#!/usr/bin/python
# Terminator - multiple gnome terminals in one window
...


Il me semble avoir essayé les possibilités de copie de
scripts / executable, tous chmodés, ranafaire. On l'a
pas comme ça, le gnome.



Ah oui, donc ce n'est pas un problème de .py :) .


[D'un autre côté, su(1) est mon copain..]



Oui, si tu arrives à lancer le script/exécutable normalement avec root,
"su -" (?, pour les variables d'environnement) et sudo devraient pouvoir
servir.

Ça me dit quelque chose cette histoire de DBus... J'ai eu un problème
semblable en tentant d'exécuter firefox et epiphany avec leur propre
utilisateur. Pour Firefox j'ai fait un
sudo -Hu <utilisateur> <commande>
(avec les inscriptions qui conviennent dans /etc/sudoers.
Le -u pour indiquer avec quel utilisateur lancer la commande
Le -H pour demander d'utiliser dans les variables d'environnement le
$HOME de l'utilisateur, je crois que c'est ça qui empêchait
Epiphany de démarrer.

Avec su - j'avais un souci, mais j'ai oublié lequel. Un problème de
saisie du mot de passe je crois.
Avatar
Nicolas Richard
Le 19/08/10 16:53, xtof pernod a écrit :
Tiens, à ce propos (?), j'ai vaguement cherché comment poser un(e) icône
xterm/terminator/autre qui s'ouvrirait en root. Ben les setuid sur les .py,
à part invalider le lancement..

Une suggestion ?



Mon gnome à moi, pour lancer gnome-terminal en root, il utilise gksu.

N.
Avatar
Nicolas George
Yliur , dans le message , a écrit :
Ah oui, donc ce n'est pas un problème de .py :) .



Pour référence, l'exécution de scripts SUID pose quelques problèmes de
sécurité, et n'est donc pas supportée par Linux.

Pour les histoires de DBus, aucune idée du problème, de toutes façons xterm
rulz.
Avatar
Nicolas George
xtof pernod , dans le message
<4c6e58a2$0$10218$, a écrit :
Pas de script à ce niveau, c'est juste pour avoir la main en root.
Direct. Parce que toujours taper les mêmes 3 car. s+u+CR, ca me gave..



Si tu as si souvent besoin des droits de root, il y a probablement quelque
chose de problématique dans ta manière d'utiliser la machine.
Avatar
xtof pernod
Le 20/08/2010 12:29, c'est pas pour cafter, mais Nicolas George a fait rien qu'à
écrire:
xtof pernod , dans le message
<4c6e58a2$0$10218$, a écrit :
Pas de script à ce niveau, c'est juste pour avoir la main en root.
Direct. Parce que toujours taper les mêmes 3 car. s+u+CR, ca me gave..



Si tu as si souvent besoin des droits de root, il y a probablement quelque
chose de problématique dans ta manière d'utiliser la machine.



Nooon ?! Ah.. C'est fou, ça...

Et toi, Petit Scarabée, tu n'as pas assez d'éléments pour juger,
certainement. Selon ce que je fais, il y a des cas où je ne vois
pas l'intérêt de prefixer 3 cmdes / 4 par 'sudo' ou équivalent.

--
christophe. [Sauf la cmde 'ku', évidement.]
Avatar
Hugues
Ce cher xtof pernod a posté :

Le 20/08/2010 12:29, c'est pas pour cafter, mais Nicolas George a fait
rien qu'à écrire:
xtof pernod , dans le message
<4c6e58a2$0$10218$, a écrit :
Pas de script à ce niveau, c'est juste pour avoir la main en root.
Direct. Parce que toujours taper les mêmes 3 car. s+u+CR, ca me gave..



Si tu as si souvent besoin des droits de root, il y a probablement quelque
chose de problématique dans ta manière d'utiliser la machine.



Nooon ?! Ah.. C'est fou, ça...

Et toi, Petit Scarabée, tu n'as pas assez d'éléments pour juger,



Je suis assez d'accord avec toi :-)
Mais...

certainement. Selon ce que je fais, il y a des cas où je ne vois
pas l'intérêt de prefixer 3 cmdes / 4 par 'sudo' ou équivalent.



Dans ce cas, fais des alias !!!
Surtout si ce sont des commandes utilisables seulement avec sudo
(par exemple, mon apt-get est un alias vers 'sudo apt-get').

Sinon un simple 'sudo -s' (c'est mieux que su, ça te permet de garder
ton ~ perso - quitte à faire un export HOME=~$USER après coup -, et donc
de récupérer toute ta config shell à toi...)..

Ou bien avec la variable "shell_noargs" tu peux même te passer purement
et simplement du "-s" pour avoir un shell root, via sudo.


L'intérêt est de garder ta config perso dans ton ~, et de laisser le
/root absolument *vide*.
Après, oui, faire en sorte que ton ~ ne soit pas pourri de fichiers
appartenant à root est une autre histoire, mais c'est largement jouable.

--
Hugues Hiegel
Avatar
xtof pernod
Le 20/08/2010 09:48, c'est pas pour cafter, mais Nicolas Richard a fait rien
qu'à écrire:
Le 19/08/10 16:53, xtof pernod a écrit :
Tiens, à ce propos (?), j'ai vaguement cherché comment poser un(e) icône
xterm/terminator/autre qui s'ouvrirait en root. Ben les setuid sur les .py,
à part invalider le lancement..

Une suggestion ?



Mon gnome à moi, pour lancer gnome-terminal en root, il utilise gksu.

N.



eh ben voilà.. merci pour l'info.

--
christophe.
Avatar
xtof pernod
Le 20/08/2010 09:48, c'est pas pour cafter, mais Nicolas Richard a fait rien
qu'à écrire:
Le 19/08/10 16:53, xtof pernod a écrit :
Tiens, à ce propos (?), j'ai vaguement cherché comment poser un(e) icône
xterm/terminator/autre qui s'ouvrirait en root. Ben les setuid sur les .py,
à part invalider le lancement..

Une suggestion ?



Mon gnome à moi, pour lancer gnome-terminal en root, il utilise gksu.

N.



eh ben voilà.. merci pour l'info.

--
christophe.
Avatar
Nicolas George
xtof pernod , dans le message
<4c6e7c31$0$10207$, a écrit :
certainement. Selon ce que je fais, il y a des cas où je ne vois
pas l'intérêt de prefixer 3 cmdes / 4 par 'sudo' ou équivalent.



La question n'est pas d'utiliser su plutôt que sudo ou l'inverse, la
question est d'avoir besoin de l'un ou de l'autre en premier lieu.
L'utilisation normale d'une machine Unix ne demande que très rarement
d'élever les privilèges, donc si tu en as besoin si souvent, c'est
probablement que tu fais quelque chose d'anormal.
Avatar
Hugues
Ce cher Nicolas George <nicolas$ a posté :

xtof pernod , dans le message
<4c6e7c31$0$10207$, a écrit :
certainement. Selon ce que je fais, il y a des cas où je ne vois
pas l'intérêt de prefixer 3 cmdes / 4 par 'sudo' ou équivalent.



La question n'est pas d'utiliser su plutôt que sudo ou l'inverse, la
question est d'avoir besoin de l'un ou de l'autre en premier lieu.
L'utilisation normale d'une machine Unix ne demande que très rarement
d'élever les privilèges, donc si tu en as besoin si souvent, c'est
probablement que tu fais quelque chose d'anormal.



Tout à fait, je plussoie abondamment, et ces choses "anormales" peuvent
bien souvent être simplement réglées en rajoutant l'utilisateur dans le
groupe qui va bien, avec les droits qui vont bien sur les fichiers,
dossiers, ou périphériques qui vont bien..

--
Hugues Hiegel
1 2 3 4 5