#1 Le 15/11/2009, à 13: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, à 14: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, à 14:12)
Hors ligne
#3 Le 15/11/2009, à 14: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, à 14: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, à 20: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, à 20:53)
Hors ligne
#6 Le 17/11/2009, à 01: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 .
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, à 02: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, à 21:12
- Kasi
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
Bon écoute, je n'ai rien changé depuis la dernière fois mais ça fonctionne maintenant c'est le principal donc merci .
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, à 21: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, à 22: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, à 22: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 18/11/2009, à 23: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 18/11/2009, à 23:29
- wido
Re : Exécuter un script avec les droits root au démarrage
Oui mais
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 18/11/2009, à 23: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 .
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