Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/11/2009, à 14:44

Kasi

Exécuter un script avec les droits root au démarrage

Bonjour,

Sous jaunty j'arrivais à exécuter des script au démarrage nécessitant des droits root mais ne les ayant pas conservés... je n'arrive plus à les exécuter sous karmic (peut-être un changement de karmic).

Par exemple, je souhaite changer la fréquence du processeur au démarrage du pc, voici le petit "script" :

#!/bin/sh

sudo cpufreq-set -g ondemand

Cependant, j'ai toujours un problème de permission ou une demande du mot de passe sudo. J'ai essayé de mettre root comme propriétaire mais ça ne change rien...

Quelqu'un a-t-il un solution ?

Merci


Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/

Hors ligne

#2 Le 15/11/2009, à 15:07

wido

Re : Exécuter un script avec les droits root au démarrage

Bonjour,
pourquoi ne pas créer ton script en daemon?

#!/bin/bash
case "$1" in
start)
cpufreq-set -g ondemand
echo "* Activation de la commande cpufreq-set en ondemand"
;;
stop)
#Je ne mets rien ou tu ajoutes la commande qui permet de killer la commande cpufreq-set
echo "* Arret de la commande cpufreq-set"
;;
restart)
#tu ajoutes la commande qui kille ou qui met par défaut la commande cpufreq-set
# et ensuite tu ajoutes ceci:
cpufreq-set -g ondemand
echo "* Redemarrage de la commande cpufreq-set"
;;
;;
*)
echo "Usage : mon script {start|stop|restart}"
esac
exit

tu le rends exécutable tu le mets dans /etc/init.d/
et ensuite:

sudo update-rc.d nomdemonscript defaults

voir sur:http://doc.ubuntu-fr.org/tutoriel/comme … en_service

Dernière modification par wido (Le 15/11/2009, à 15:12)

Hors ligne

#3 Le 15/11/2009, à 15:15

doukremt

Re : Exécuter un script avec les droits root au démarrage

Ou plus simple :

sudo visudo

puis sur le modèle

# Cmnd alias specification
Cmnd_Alias      MACHIN=/usr/local/bin/monscript.sh

avec à la fin

%admin ALL=(ALL) NOPASSWD: MACHIN

Ca te donne les droits d'admin uniquement pour exécuter ce script, mais peut-être utilisais-tu déjà ça?

Hors ligne

#4 Le 16/11/2009, à 15:28

Kasi

Re : Exécuter un script avec les droits root au démarrage

Ça tombe bien d'avoir 2 solutions car je vais utiliser les 2 pour des cas différents.

Pour le moment je teste la deuxième mais sans grand succès, voici mon visudo :

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification
changecpufrequencetoondemande   TOTO=/blabla/cpufrequence.sh

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD: TOTO

mais ça me demande toujours le mot de passe sudo... peut-être ai-je mal placé "%admin ALL=(ALL) NOPASSWD: TOTO" ?


Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/

Hors ligne

#5 Le 16/11/2009, à 21:43

doukremt

Re : Exécuter un script avec les droits root au démarrage

Re

Tu respectes pas la syntaxe ici :

# Cmnd alias specification
changecpufrequencetoondemande   TOTO=/blabla/cpufrequence.sh

Il faut :

# Cmnd alias specification
Cmnd_Alias    TOTO=/blabla/cpufrequence.sh

Dernière modification par doukremt (Le 16/11/2009, à 21:53)

Hors ligne

#6 Le 17/11/2009, à 02:24

Kasi

Re : Exécuter un script avec les droits root au démarrage

Ah ok je pensais que "Cmnd_Alia" était générique smile.

Maintenant j'ai :

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias      TOTO=/blabla/cpufrequence.sh

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD: TOTO

mais ça ne fonctionne toujours pas, j'ai toujours la demande du mot de passe sudo (je chemin du fichier est bon).


Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/

Hors ligne

#7 Le 17/11/2009, à 03:06

doukremt

Re : Exécuter un script avec les droits root au démarrage

Tu tapes bien, pour appeler le script :

sudo tonscript

?

Avec seulement ça :

tonscript

ça marchera pas

Vérifies aussi que tu es bien dans le groupe admin

Hors ligne

#8 Le 18/11/2009, à 22:12

Kasi

Re : Exécuter un script avec les droits root au démarrage

doukremt a écrit :

Tu tapes bien, pour appeler le script :

sudo tonscript

?

Avec seulement ça :

tonscript

ça marchera pas

Vérifies aussi que tu es bien dans le groupe admin

Bon écoute, je n'ai rien changé depuis la dernière fois mais ça fonctionne maintenant c'est le principal donc merci smile.

Maintenant je vais m'attaquer à la solution /etc/init.d pour un autre script. J'ai donc fait tout ce qu'a dit wido mais je voudrais savoir comment on spécifie l'action au démarrage ? (par exemple spécifier start ou stop)


Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/

Hors ligne

#9 Le 18/11/2009, à 22:51

wido

Re : Exécuter un script avec les droits root au démarrage

Si tu as crée ton script exécutable et que tout va bien en testant en root pour voir ce que ça donne

/etc/init.d/tonscript start
/etc/init.d/tonscript stop

etc..
le faite de faire un

sudo update-rc.d tonscript defaults

il sera automatiquement lancé au démarrage de l'ordinateur il n'y a plus rien à faire et de ne plus ce soucié des options start,stop,restart.

c'est ce que j'ai fait pour configurer le parefeu (iptables).

Hors ligne

#10 Le 18/11/2009, à 23:02

Kasi

Re : Exécuter un script avec les droits root au démarrage

Oui mais justement si je veux que par défaut quand l'ordinateur démarre il soit sur "stop", je fais comment ?

il faut que je refasse un autre script qui fait /etc/init.d/tonscript stop au démarrage lol ?


Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/

Hors ligne

#11 Le 18/11/2009, à 23:20

wido

Re : Exécuter un script avec les droits root au démarrage

Pourquoi tu n'inverses pas tes commandes au lieu de bidouiller plus profondément dans les paramètres au risque de faire planter la majorité des démons?
ce sera plus simple.

Hors ligne

#12 Le 19/11/2009, à 00:09

Kasi

Re : Exécuter un script avec les droits root au démarrage

Oui en effet c'est la solution de simplicité mais le script a pour but de désactiver une led, alors si pour la désactiver il faut dire activer, c'est un peu tiré par les cheveux lol.


Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/

Hors ligne

#13 Le 19/11/2009, à 00:29

wido

Re : Exécuter un script avec les droits root au démarrage

Oui mais big_smile
tu démarres un script pour arrêter des LED, tu ajoutes des echo " " comme commentaire en disant que tu désactives et le tour est joué, il n'y aura pas de confusion.

Hors ligne

#14 Le 19/11/2009, à 00:49

Kasi

Re : Exécuter un script avec les droits root au démarrage

Bon j'ai inversé et ça fonctionne, merci.

Si tu as quand même des infos pour mettre stop par défaut, je suis preneur smile.


Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/

Hors ligne