« LINUX:SSH et RSYNC » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 60 : | Ligne 60 : | ||
==Droit ROOT== | ==Droit ROOT== | ||
Dans le projet, l'utilisateur "sauvegarde" doit pouvoir pouvoir éteindre la machine (programme " | Dans le projet, l'utilisateur "sauvegarde" doit pouvoir pouvoir éteindre la machine (programme "init") or ce droit est réservé à l'utilisateur "root". De plus ceci doit pouvoir se faire sans l'aval du mot de passe. Pour ce faire, il faut ajouter ce droit dans le fichier "'''/etc/sudoers'''": | ||
---- | ---- | ||
sauvegarde ALL= NOPASSWD: /usr/sbin/ | sauvegarde ALL= NOPASSWD: /usr/sbin/init | ||
---- | ---- | ||
Cette opération est effectuée sur la machine distante. Le paramètre "ALL" doit être remplacé par le nom de la machine locale ou son adresse IP si ce fichier est partagé vers différentes machines. | Cette opération est effectuée sur la machine distante. Le paramètre "ALL" doit être remplacé par le nom de la machine locale ou son adresse IP si ce fichier est partagé vers différentes machines. | ||
Ligne 204 : | Ligne 204 : | ||
A chaque ouverture de session qui utilise cette clé publique, cette commande sera exécutée. | A chaque ouverture de session qui utilise cette clé publique, cette commande sera exécutée. | ||
Le projet a besoin d'utiliser la commande "rsync" pour la sauvegarde et la commande "sudo | Le projet a besoin d'utiliser la commande "rsync" pour la sauvegarde et la commande "sudo init 0" pour éteindre la machine serveur. | ||
Voici le contenu du script "/produc/sauvegarde/logssh.bat": | Voici le contenu du script "/produc/sauvegarde/logssh.bat": | ||
Ligne 217 : | Ligne 217 : | ||
# filtrage des commandes autorisées | # filtrage des commandes autorisées | ||
TEST1=`echo $SSH_ORIGINAL_COMMAND | grep "rsync --server" | grep "/produc/sauvegarde/courant/" ` | TEST1=`echo $SSH_ORIGINAL_COMMAND | grep "rsync --server" | grep "/produc/sauvegarde/courant/" ` | ||
TEST2=`echo $SSH_ORIGINAL_COMMAND | grep "sudo | TEST2=`echo $SSH_ORIGINAL_COMMAND | grep "sudo init 0" ` | ||
# éviter les chaînages de commandes | # éviter les chaînages de commandes | ||
TESTA=`echo $SSH_ORIGINAL_COMMAND | grep ";" ` | TESTA=`echo $SSH_ORIGINAL_COMMAND | grep ";" ` |