#1 Le 02/07/2009, à 15:39
- tuxpux
[cron] execution par user non root
bonjour a vous
je suis un peu paumé avec la commande crontab
j'ai pu lire qu'il y avait un crontab pour chaque user
ben perso qd je lance
crontab -e avec mon user de base j'ai un magnifique permission denied !
un sudo crontab -e fonctionne bien
oui mais voila
j'ai crée un script /home/user/backup que j'ai rendu executable
qd je le lance avec mon user cela fonctionne !
il ne me reste plus qu'a l'automatiser !
mais si je l'intégre via la commande sudo crontab -e, il va s'executer en tant que root et là cela ne marche pas
comment faire pour accéder au crontab de mon user
je suis sous ubuntu 8.04
merci d'avance
Hors ligne
#2 Le 02/07/2009, à 15:51
- yohann
Re : [cron] execution par user non root
salut, je pense que pour que ça fonctionne il faut que ton user soit membre du goup cron ou/et du groupe crontab.
pour cela il te faut editer (en root) le fichier /etc/group
et ajouter le nom de tu user a la suite des groupes susmentioné
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#3 Le 02/07/2009, à 16:05
- tuxpux
Re : [cron] execution par user non root
hello
bon en fait j'ai modifié directement le fichier avec nano
/etc/crontab
et j'ai rajouté mon script en spécifiant l'utilisateur
et cela marche
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
53 15 * * * monuser /home/monuser/backup
après pour avoir un rapport détaillé de l'execution de ma tâche .....
je vais creuser !!
Hors ligne
#4 Le 03/07/2009, à 13:45
- BorX
Re : [cron] execution par user non root
Pourquoi pas, mais ça me semble plus propre de passer par les crontab persos.
Etrange, ton permission denied
Tu peux lancer la commande suivante ? Voilà le résultat chez moi :
$ sudo ls -la /var/spool/cron/crontabs/ /usr/bin/crontab
-rwxr-sr-x 1 root crontab 36904 2009-05-13 00:01 /usr/bin/crontab
/var/spool/cron/crontabs/:
total 8
drwx-wx--T 2 root crontab 4096 2008-11-12 16:46 .
drwxr-xr-x 5 root root 4096 2009-04-20 16:05 ..
Hors ligne
#5 Le 08/07/2009, à 12:47
- princesseryane
Re : [cron] execution par user non root
Bonjour,
Je voudrais lancer 2 applications sur le web (en local) au demarrage de mon serveur.
Manuellement je doit taper
- sudo tracd -p 8080 --basic-auth=projet1, /etc/apache2/dav_svn.passwd, monprojet svn /chemin/du/projet1 ===> pour afficher l'environnement 1 à l'adresse http://10.192.150.104:8080
- sudo tracd -p 8000 --basic.... ===> l'environnement 2 à l'adresse http://10.192.150.104:8000
J'ai donc crée un fichier cron.allow sous /etc
J ai fai un chod 755 pour lui donner les droits en execution.
J'y ai ajouter user
J'ai fais ensuite un cat /etc/cron.allow
resultat : user
J'ai ensuite crée un fichier sous que j' ai appelé lancement.sh
avec les droits en execution aussi.
dans ce fichier j ai mis le deux commandes prrécitées comme suit:
#!bin/sh
commande 1
commande2
J'ai continué en faisant un crontab -e
puis j ai ajouter *13**chemin/vers/lancement.sh
J'aten k il soit 13h pour voir si mes environnements sont accesibles ou pas.
Mais je voudrais savoir si j' n'ai pas fais d'erreur. et si jne devais pas plutot utiliser init.d vu ke je veux lancer mes programmes au demarrage. si oui? donnez moi la procedure svp:|
Merci davance
Hors ligne
#6 Le 08/07/2009, à 12:48
- princesseryane
Re : [cron] execution par user non root
j'oubliais, je l ai fais en tant que user et pas root.
Hors ligne
#7 Le 08/07/2009, à 13:36
- BorX
Re : [cron] execution par user non root
cron sert à planifier le lancement de programmes à certaines heures, certains jours, ....
Pour que des programmes se lancent au démarrage, il faut effectivement jouer avec init.d.
Là, j'ai pas trop le temps de faire un cours (renseigne-toi sur les runlevels ou alors man update-rc.d).
Mais pour des lancements simples, ajoute les appels aux programmes que tu souhaites voir lancés au démarrage dans le fichier /etc/rc.local.
Ils seront lancés en root, donc pas besoin des sudo.
Dernière modification par BorX (Le 08/07/2009, à 13:38)
Hors ligne
#8 Le 08/07/2009, à 14:21
- princesseryane
Re : [cron] execution par user non root
merci pr la rapidité de la reponse
je m y mets now!
Hors ligne
#9 Le 08/07/2009, à 14:43
- princesseryane
Re : [cron] execution par user non root
Est -ce normal qu'il y'ait deja du code dans mon /etc/init.d/rc.local?
Hors ligne
#10 Le 08/07/2009, à 14:51
- princesseryane
Re : [cron] execution par user non root
voici le code qui se trouve dans mon rc.local que je voulais éditer
#! /bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
[ -f /etc/default/rcS ] && . /etc/default/rcS
. /lib/lsb/init-functions
do_start() {
if [ -x /etc/rc.local ]; then
log_begin_msg "Running local boot scripts (/etc/rc.local)"
/etc/rc.local
log_end_msg $?
fi
}
case "$1" in
start)
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
Comment faire pour mettre mes commandes???
,ce n est peut etre pas si difficile mais je suis deb..te:|
Hors ligne
#11 Le 08/07/2009, à 15:03
- princesseryane
Re : [cron] execution par user non root
allezzz! pleaz!
et est-ce que mon script peut rester le meme cad :
#! /bin/sh
commande1
comande2
parce que j 'ai l impression que les scripts doivent contenir des start, stop..
Eclairez moi svp!
merci
Dernière modification par princesseryane (Le 08/07/2009, à 16:16)
Hors ligne
#12 Le 08/07/2009, à 16:40
- yohann
Re : [cron] execution par user non root
Est -ce normal qu'il y'ait deja du code dans mon /etc/init.d/rc.local?
oui c'est normal que des services se lance au démarage de ton pc
Comment faire pour mettre mes commandes???
neutral ,ce n est peut etre pas si difficile mais je suis deb..te:|
ajoute le chemin absolu vers ton script à la fin
parce que j 'ai l impression que les scripts doivent contenir des start, stop..
Eclairez moi svp!
merci
en effet c'est plus propre ça sert a pouvoir demarer/arrreter des services sans avoir recour a une methode trop sale.
et de pas avoir a redémarer le pc a chaque fois qu'on veut redémarer un service comme sur un autre OS bien connu
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#13 Le 08/07/2009, à 16:48
- princesseryane
Re : [cron] execution par user non root
si j ai compris ds le rc.local jatoute a la fin du code existant le chemin de mon script. donc:
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
/etc/init.d/lancertrac
et dans lancertrac je mets:
#! /bin/sh
sudo tracd -p 8080 --basic-auth=projet1, /etc/apache2/dav_svn.passwd, monprojet1
sudo tracd -p 8000 --basic-auth=projet2, /etc/apache2/dav_svn.passwd, monprojet2
? est ce bien cela
Hors ligne
#14 Le 08/07/2009, à 16:51
- yohann
Re : [cron] execution par user non root
oui mais sans les sudo car se script devrait déja etre lancé par root et non par ton user
apres ca devrait rouler
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#15 Le 08/07/2009, à 16:52
- princesseryane
Re : [cron] execution par user non root
dis donc!! kel rapidité?
Grand merci
J'applik!
Hors ligne
#16 Le 08/07/2009, à 17:08
- princesseryane
Re : [cron] execution par user non root
est ce que je peu faire la commande suivante pour que le fichier soit le dernier processus exécuté lors du démarrage.
sudo ln -s /etc/init.d/rc.local /etc/rc2/S99local
:( J'exager un peu..mais je profite de l'oreille présente.:/
Hors ligne
#17 Le 08/07/2009, à 17:41
- yohann
Re : [cron] execution par user non root
je ne sais pas dsl
j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
Hors ligne
#18 Le 08/07/2009, à 17:42
- princesseryane
Re : [cron] execution par user non root
Merciiiii!!:D
Hors ligne
#19 Le 08/07/2009, à 18:05
- princesseryane
Re : [cron] execution par user non root
Malheureusement, les environnements ne sont toujours pas visibles.
Lorsqueje fais un netstat -ntl je vois bien ke les deux ports sont occupés.
Mais quand je pointe mon navigateur sur les différentes addresses: RIEN !!
Dernière modification par princesseryane (Le 08/07/2009, à 18:12)
Hors ligne