« 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 "shutdown") 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'''":
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/shutdown
  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 shutdown" pour éteindre la machine serveur.
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 shutdown -h now" `
   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 ";" `