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 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???
neutral ,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

princesseryane a écrit :

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 sad

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

sad:( 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 sad !!

Dernière modification par princesseryane (Le 08/07/2009, à 18:12)

Hors ligne