# Interface web pour la gestion des sauvegardes d'un serveur web

**URL:** <https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070>\
**Category:** Programmation\
**Created:** [Décembre 19, 2016, 9:46 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070 "2016-12-19T09:46:59Z")\
**Posts on this page:** 19\
**Page:** 2

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 10:59 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/21 "2016-12-21T10:59:30Z")

</div>

je vien de le faire le [script.sh](http://script.sh) marche en manuel mais pas a partir du bouton d’execution  
n’aurai-je pas fais d’erreur dans le script.php ??? qu’est-ce qui bloque ??? lol je vais devenir dingue mais je lacherai pas l’affaire 😃

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 12:01 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/22 "2016-12-21T12:01:43Z")

</div>

Dis, tu peux nous donner les retours des commandes suivantes en tant que `root` :

- `ssh machine2@xxx.xxx.xxx.xxx ls -ld /home/dossier/mesfichiers`
- `sudo -u www-data ssh machine2@xxx.xxx.xxx.xxx ls -ld /home/dossier/mesfichiers`

À adapter aux vraies valeurs, bien sûr !

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 12:13 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/23 "2016-12-21T12:13:02Z")

</div>

oui voilà le résultat dans l’ordre :

- drwxr-xr-x 2 root root 4096 déc. 06 10:05 /home/nino/mimi

pour la 2eme je suis deja en root en faisant "sudo "-u… = sudo : commande introuvable

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 1:32 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/24 "2016-12-21T13:32:59Z")

</div>

> [@citizen](#):
>
> pour la 2eme je suis deja en root en faisant "sudo "-u… = sudo : commande introuvable

Essaie `su - www-data -c 'ssh machine2@xxx.xxx.xxx.xxx ls -ld /home/dossier/mesfichiers'`. Le programme `sudo` n’est peut-être pas installé parce que tu n’as pas créé d’utilisateur ordinaire…

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 1:39 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/25 "2016-12-21T13:39:09Z")

</div>

voila le resultat 😟

could not create directory ‘/var/www/.ssh’.  
hostkey verification failed

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 1:52 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/26 "2016-12-21T13:52:53Z")

</div>

Et voilà le problème, ton script sera exécuté par apache en tant que `www-data`, mais cet utilisateur ne peut pas accéder au dossier à copier.  
Alors, pour ça, tu peux utiliser `sudo`, mais tu ne sembles pas familier de cet outil, ou placer le setuid sur le script.  
Il faut faire `chmod 4750 /var/www/script.sh`, puis `chown root:www-data /var/www/script.sh`, enfin, dans ton script php, tu remplaces `exec ('/bin/sh /var/www/script.sh');` pas `exec ('/var/www/script.sh');`

Pour l’explication, le setuid permet à un programme (ou script) de se lancer en tant que l’utilisateur qui en est le propriétaire. Du coup, si le propriétaire est `root`, il faut faire très attention à la sécurité de ton script.

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 22, 2016, 8:20 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/27 "2016-12-22T08:20:49Z")

</div>

bonjour @Almtesh ,j’ai suivi t conseils etape par etape sauf comme tu as dis pour le setuid et j’ai bien fais des recherches dessus mais j’ai toujours pas su l’utiliser une aide ou un exemple de ta pars ne serais pas de refus 🙂  
merci pour ton explication

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 22, 2016, 8:35 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/28 "2016-12-22T08:35:55Z")

</div>

Je ne comprend pas, tu as fait ce que je t’ai conseillé et ça n’a pas fonctionné ou ça a fonctionné, mais tu ne comprends pas pourquoi (ou tu veux comprendre avant de le faire) ?

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 22, 2016, 8:38 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/29 "2016-12-22T08:38:06Z")

</div>

oui j’ai tout fais sauf pour la partie setuid que j’ai envi de comprendre et de le faire en meme temps  
et non sa n’a pas fonctionné et j’aimerai aussi comprendre lol je veux apprendre 🙂

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 22, 2016, 9:06 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/30 "2016-12-22T09:06:45Z")

</div>

En fait, c’est assez simple, dans les métadonnées de chaque fichier (tout est fichier), tu as une zone de seize bits :

- trois bits pour le type de fichier (fichier, dossier, pérophérique bloc (disque dur, par exemple), périphérique caractère (port série, par exemple), pipe, socket ou lien symbolique)
- trois bits qui définissent les droits du propriétaire du fichier
- trois bits qui définissent les droits du groupe propriétaire du fichier
- trois bits qui définissent les droits des autres utilisateurs
- trois bits qui définissent d’autres caractéristiques sur les droits du fichier.

Pour les droits du fichier, on a :

- lecture : permet la lecture du fichier (tout type sauf dossier) et le listage des fichiers dans le dossier
- écriture : permet l’écriture du fichier (tous type sauf dossier) et l’ajout de fichier dans le dossier
- exécution : permet l’exécution (pour les fichiers) ou la traversée (pour les dossiers), je ne sais pas à quoi sert ce droit sur les autres types de fichiers.

Le droit d’exécution et de traversée est valable même en l’absence de droit de lecture. C’est-à-dire que tu peux exécuter un fichier que tu ne peux pas lire et que tu peux traverser un dossier dont tu ne peux pas lister le contenu (mais bonne chance pour trouver le sous-dossier si tu n’en as pas le nom).

Pour les autres droits du fichier, tu as :

- Le setUID qui permet, à l’exécution d’un fichier, d’attribuer le processus à l’utilisateur propriétaire du fichier : exemple du programme `su`, dont l’exécutable appartient à `root` et a le setUID, si un utilisateur le lance, il sera lancé en tant que `root` dans tous les cas.
- Le setGID, pareil, mais pour le groupe
- Le sticky bit qui permet, sur un dossier, de restreindre la supression des fichiers à leur propriétaire respectif

Pour les autres cas, je ne m’en sers jamais, je n’ai donc pas le détail.  
L’utilisateur `root` ignore toutes ces permissions (sauf pour le setUID et le setGID, je ne sais pas comment ça se passe).

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 22, 2016, 9:13 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/31 "2016-12-22T09:13:36Z")

</div>

tres tres tres interessant et je n’avais vraiment aucune idee a ce propos je suis bien eclairé en tout cas merci 🙂  
cependant je suis comme un poseur de probleme et j’ai supprimé script.php sans faire attention et puis je l’ai reecris parfaitement comme le premier mais la page ne fonctionne pas “erreur 500”  
😢 😤 la poisse 😕

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 22, 2016, 9:28 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/32 "2016-12-22T09:28:31Z")

</div>

Il faut que tu fasses des sauvegardes pour te prémunir contre ce genre de maladresse, lol !

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 22, 2016, 9:34 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/33 "2016-12-22T09:34:19Z")

</div>

euhhh oui tu as raison…pas evident de travailler seul quand on dois presenter un mémoire dans 3 mois  
lol c ce que je vien de faire (sauvegarder tout les fichiers sur usb a l’instant )

---

<div class="post-metadata">

**Author:** ![grigric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grigric/32/3935_2.png) [@grigric](https://www.debian-fr.org/u/grigric)\
**Post date:** [Décembre 26, 2016, 8:10 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/34 "2016-12-26T08:10:07Z")

</div>

il existe aussi backuppc qui est très efficace, il optimise la place avec des liens physique et a une interface graphique très efficace.

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 26, 2016, 11:33 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/35 "2016-12-26T11:33:01Z")

</div>

Est-ce que cette interface graphique est par le web ? Sinon, c’est hors-sujet.

---

<div class="post-metadata">

**Author:** ![grigric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grigric/32/3935_2.png) [@grigric](https://www.debian-fr.org/u/grigric)\
**Post date:** [Décembre 26, 2016, 3:12 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/36 "2016-12-26T15:12:02Z")

</div>

tout à fait, en cgi  
c’est fou que personne connaisse cet outil, il est vraiment très pro, il réduit de beaucoup l’espace nécessaire pour les backup, il peut faire des backup distant sur du linux, du windows, du mac sans installer de client…

il peut sauvegarder de petites machine comme un parc informatique complet, des serveurs de 10 Mo jusque 10To sans problème

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 27, 2016, 7:58 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/37 "2016-12-27T07:58:22Z")

</div>

oui l’interface graphique est par le web 👌

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 27, 2016, 8:38 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/38 "2016-12-27T08:38:02Z")

</div>

salut grigric tu peu m’eclairer plus stp sur le cgi  
est-ce que je dois avoir une database pck je n’en utilise pas

---

<div class="post-metadata">

**Author:** ![grigric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grigric/32/3935_2.png) [@grigric](https://www.debian-fr.org/u/grigric)\
**Post date:** [Décembre 27, 2016, 6:34 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/39 "2016-12-27T18:34:19Z")

</div>

non t’inquiètees, tout est géré dans des fichiers. Quand tu installes l’outil, il te faut choisir un serveur web (moi j’ai des préférences pour apache2) , il te donne le mot de passe par défaut et tout fonctionne immediatement.

[Page précédente](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070.md?page=1)
