# Impossible d’écrire dans /var/www/html/

**URL:** <https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171>\
**Category:** Support Debian\
**Created:** [Mars 7, 2021, 11:02 UTC](https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171 "2021-03-07T11:02:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![paulnux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/bb73d2/32.png) [@paulnux](https://www.debian-fr.org/u/paulnux)\
**Post date:** [Mars 7, 2021, 11:02 UTC](https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171/1 "2021-03-07T11:02:44Z")

</div>

Bonjour,

impossible d’écrire dans `/var/www/html/`

j’essai de faire:

```
echo '<?php phpinfo(); ?>' >/var/www/html/phpinfo.php

```

la console me répond :

```
-bash: /var/www/html/phpinfo.php: Permission non accordée

```

j’essai avec `sudo` :

```
sudo echo '<?php phpinfo(); ?>' >/var/www/html/phpinfo.php

```

la console me répond :

```
-bash: /var/www/html/phpinfo.php: Permission non accordée

```

Pourtant root a les droits non ?

```
ls -al /var/www/html
total 20
drwxr-xr-x 2 root root 4096 mars 5 23:26 .
drwxr-xr-x 3 root root 4096 mars 5 12:07 ..
-rw-r--r-- 1 root root 10701 mars 5 12:07 index.html

```

Quel sont les règles d’usage pour écrire dans `/var/www/html/` ?

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mars 7, 2021, 11:25 UTC](https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171/2 "2021-03-07T11:25:10Z")

</div>

Mauvais usage de sudo causé par une méconnaissance du fonctionnement du shell. sudo est un programme comme une autre, il n’affecte pas les redirections du shell. Dans ta commande la redirection est faite par le shell utilisateur, donc avec les droits de l’utilisateur.

```
sudo echo "blabla" > fichier

```

s’interprête de la façon suivante :

1. Le shell courant ouvre «&nbsp;fichier&nbsp;» en écriture.
2. Le shell courant exécute le programme «&nbsp;sudo&nbsp;» avec les arguments «&nbsp;echo&nbsp;» et «&nbsp;blabla&nbsp;» et envoie sa sortie standard dans «&nbsp;fichier&nbsp;».
3. Le programme sudo exécute la commande «&nbsp;echo&nbsp;» avec l’argument «&nbsp;blabla&nbsp;».

Ici, l’étape 1) échoue parce que l’utilisateur courant n’a pas la permission d’écrire dans le fichier de destination ou de le créer.

Les règles pour écrire dans /var/www/html sont les mêmes que dans n’importe quel autre répertoire, via les permissions Unix ou les ACL.

---

<div class="post-metadata">

**Author:** ![paulnux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/bb73d2/32.png) [@paulnux](https://www.debian-fr.org/u/paulnux)\
**Post date:** [Mars 7, 2021, 12:06 UTC](https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171/3 "2021-03-07T12:06:55Z")

</div>

Merci @PascalHambourg , cela va améliorer mon apprentissage,

En faite je voulais dire: Quel sont les règles d’usage de permissions pour /var/www/html/ ?

Mettre mon user propriétaire et donner les permissions au propriétaire de lire et écrire ?

---

<div class="post-metadata">

**Author:** ![anon96191775](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/71c47a/32.png) [@anon96191775](https://www.debian-fr.org/u/anon96191775)\
**Post date:** [Mars 7, 2021, 1:33 UTC](https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171/4 "2021-03-07T13:33:33Z")

</div>

La «&nbsp;bonne pratique&nbsp;» souvent coneillée est de passer par un groupe dédié, qui a les droits d’écriture sur ce répertoire et dont ton utilisateur fait partie.

Pour ma part je n’utilise pas du tout ce répertoire, qui n’est plus approprié dès qu’on veut présenter plus d’un site Web à partir d’un même système. Pour chaque site Web proposé par mon système j’ai créé une arborescence distincte sous `/srv`, chacune avec ses propres règles et permissions.

---

<div class="post-metadata">

**Author:** ![paulnux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/bb73d2/32.png) [@paulnux](https://www.debian-fr.org/u/paulnux)\
**Post date:** [Mars 7, 2021, 3:05 UTC](https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171/5 "2021-03-07T15:05:27Z")

</div>

Merci @anon96191775,  
Pour l’instant je suis en période d’apprentissage, je me contenterais d’un seul site,

Ais-je bon si ? :

Edit: mon user devient propriétaire et le groupe www-data devient groupe propriétaire

```
sudo chown -R USER:www-data /var/www/html

```

Et que le propriétaire peut lire et écrire, le groupe peut lire, le reste ne rien faire

```
sudo chmod -R u=rwX,g=rx,o= /var/www/html
```

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Mars 7, 2021, 4:20 UTC](https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171/6 "2021-03-07T16:20:11Z")

</div>

Presque :

```nohighlight
sudo chown -R $USER:www-data /var/www/html

```

ainsi tu seras propriétaire de tout ce qui est sous /var/www/html et le groupe sera www-data

```nohighlight
sudo chmod -R u=rwX,g=rX,o= /var/www/html

```

X (en majuscule) donne le droit d’entrer dans les dossiers, il n’ya aucun besoin de rendre les fichiers exécutables avec x (en minuscule).

Tu auras les droits en lecture et en écriture et www-data pourra lire les fichiers (ce qui est indispensable.

---

<div class="post-metadata">

**Author:** ![paulnux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/bb73d2/32.png) [@paulnux](https://www.debian-fr.org/u/paulnux)\
**Post date:** [Mars 7, 2021, 4:30 UTC](https://www.debian-fr.org/t/impossible-d-ecrire-dans-var-www-html/84171/7 "2021-03-07T16:30:08Z")

</div>

Merci @anon70622873  
Ok pour $USER  
Mais je peux aussi bien écrire le nom de mon user directement on est bien d’accord ?

Merci pour le X majuscule qui a toute son importance

Une petite question, si je ne me trompe pas, ce que je demandais en nodal s’écrit :750 ?  
Avec le X en majuscule c’est pareil ?
