[Résolu] Cron – souci de droits root.

Vous rencontrez un problème sur l'utilisation d'un logiciel libre (utilisation, installation ou configuration) . C'est ici que vous pourrez trouver de l'aide en posant votre question.
Répondre
Avatar du membre
Sima
modérateur
modérateur
Messages : 91
Enregistré le : sam. 10 nov. 2018 15:07
adhérent root66 : oui
Contact :

[Résolu] Cron – souci de droits root.

Message par Sima » mar. 8 nov. 2022 20:29

Bonjour,

Souci avec les tâches cron, ça fonctionne sur un autre serveur, donc?...

Message d’erreur /bin/sh: 1: root: not found

Code : Tout sélectionner

# cat /var/log/backup-rdiff 
/bin/sh: 1: root: not found
Pourtant j’ai bien une contrab en root

Code : Tout sélectionner

# ls -l /var/spool/cron/crontabs/
total 4
-rw------- 1 root crontab 1267 nov.   6 18:14 root
la crontab

Code : Tout sélectionner

# cat /var/spool/cron/crontabs/root
Résultat :

Code : Tout sélectionner

# m h  dom mon dow   command
PATH=/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/sh
MAILTO=""
# m h  dom mon dow   command
0 02	* * *	root	sh	/etc/cron.daily/scripts/save.sh > /var/log/backup-rdiff 2>&1 # Backup
Ce qu'il y a dans save.sh

Code : Tout sélectionner

# cat /etc/cron.daily/save.sh 

#!/bin/bash
# rdiff-backup --include-globbing-filelist /root/scripts/include-dir.txt --exclude '**' / /media/pi/SSD/save-genea/
rdiff-backup / /media/pi/SSD/save-genea/
La première ligne commenté était celle que j'avais testé préalablement et j'avais le même message d'erreur.

Une idée?
Sima,
Grâce à l’ordinateur, on peut faire plus rapidement des choses qu’on n’aurait pas eu besoin de faire sans ordinateur (MC.L.).
https://sima78.chispa.fr

Avatar du membre
sinoaka
apprenti libriste
apprenti libriste
Messages : 4
Enregistré le : ven. 16 sept. 2022 23:13
adhérent root66 : oui

Re: Cron – souci de droits root.

Message par sinoaka » mar. 8 nov. 2022 20:48

il manquerait pas l’exécution ? je vois que le read write

Avatar du membre
sinoaka
apprenti libriste
apprenti libriste
Messages : 4
Enregistré le : ven. 16 sept. 2022 23:13
adhérent root66 : oui

Re: Cron – souci de droits root.

Message par sinoaka » mar. 8 nov. 2022 20:53

sur certaines distrib le root n'as pas de shell, je préfère utiliser cron avec un compte ayant les droits admin configurer dans le sudoers.

Avatar du membre
Sima
modérateur
modérateur
Messages : 91
Enregistré le : sam. 10 nov. 2018 15:07
adhérent root66 : oui
Contact :

Re: Cron – souci de droits root.

Message par Sima » mar. 8 nov. 2022 20:57

Le fichier est bien exécutable.

Bonne idée, je vais refaire le script en incluant sudo...

Et je reviens dire ce qu'il en est.

Merci.
Sima,
Grâce à l’ordinateur, on peut faire plus rapidement des choses qu’on n’aurait pas eu besoin de faire sans ordinateur (MC.L.).
https://sima78.chispa.fr

Avatar du membre
Sima
modérateur
modérateur
Messages : 91
Enregistré le : sam. 10 nov. 2018 15:07
adhérent root66 : oui
Contact :

Re: Cron – souci de droits root.

Message par Sima » mar. 15 nov. 2022 10:43

Reprenons dans l’ordre.

Root n’a pas de Shell mais l’user a accès à sudo sans confirmer le mot de passe (cas dans certaines distributions) d’où la nécessité d’avoir un mot de passe fort pour cet user.

Le script de sauvegarde :

Code : Tout sélectionner

$ sudo cat /etc/cron.daily/backup-rdiff.sh 

Code : Tout sélectionner

#!/bin/bash
sudo rdiff-backup --include-globbing-filelist /root/scripts/dir-source.txt --exclude '**' / /media/pi/SSD/save-genea/
On sauvegarde les répertoires qui sont dans le fichier "dir-source.txt".
--exclude '**' → '**' signifie qu’on exclut tout le reste.

Ce que contient le fichier "dir-source.txt"

Code : Tout sélectionner

$ sudo cat /root/scripts/dir-source.txt

Code : Tout sélectionner

/home/
/etc/
/root/
/var/
/usr/
C’est donc ces répertoires et sous répertoires qui seront sauvegardés.

La crontab

Code : Tout sélectionner

$ sudo crontab -e

Code : Tout sélectionner

PATH=/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/sh
MAILTO=""
# m h  dom mon dow   command
0 2 * * * /etc/cron.daily/backup-rdiff.sh > /var/log/backup-rdiff 2>&1
Là on constate que je n’ai pas mis le user "root" ni même la commande "sh".

Dans le script " backup-rdiff.sh" plus haut on voit qu’il y a l’interpréteur "#!/bin/bash" (Shebang https://fr.wikipedia.org/wiki/Shebang) et l’utilisation de "sudo".
Donc au plus simple.
Résolu.
Sima,
Grâce à l’ordinateur, on peut faire plus rapidement des choses qu’on n’aurait pas eu besoin de faire sans ordinateur (MC.L.).
https://sima78.chispa.fr

Répondre