4 votes

Configuration des droits d'écriture pour /var/www sur un serveur web local d'un ordinateur de bureau Ubuntu

Je me bats comme un diable depuis 3 jours maintenant, je n'arrive pas à trouver ce que j'ai fait de mal...

EDIT 3 : Je pense que ma question est plus spécifique que je ne le pensais, j'ai donc créé un nouveau fil ici : https://askubuntu.com/questions/631303/make-owner-of-newly-create-files-and-folders-www-data-instead-of-superuser-admin

Voici ma configuration :

  • Un ordinateur sur lequel sont installés Ubuntu Desktop et LAMP. Notez que je n'ai pas d'IP statique et que son SEUL but est de pouvoir produire des sites web collaboratifs localement avec mon équipe car les connexions aux Philippines sont assez lentes. Donc (si je ne me trompe pas) cela ne me dérange pas de tout mettre à 777 si cela peut résoudre le problème, mais j'aimerais apprendre la bonne façon de le faire pour référence future.

  • J'ai créé 5 "utilisateurs", tous dans le groupe www-data (et un nouveau groupe www-pub car j'essayais de trouver de nouvelles voies.... J'ai vérifié les deux), qui se connectent au dossier /www/var en utilisant Samba Share.

J'ai tout essayé jusqu'à présent, sans succès :

  • chmod et chown avec la commande find en utilisant -R pour récursif.
  • Changer le umask en 0002

MAIS tous mes nouveaux répertoires et fichiers ne sont toujours pas accessibles en écriture, à moins que je n'exécute à nouveau les lignes de commande chmod/chown que j'ai trouvées sur divers fils de discussion.

Je suis un pur débutant sur ubuntu et le serveur/lignes de commande et tout, mais j'apprends assez vite.

Questions :

  • Puis-je utiliser une simple règle chmod 777 (et quelle est la manière exacte de le faire) puisque c'est pour la production mais sans accès au monde ?

  • Quelle est la procédure à suivre, étape par étape, pour y parvenir ?

  • Peut-il s'agir simplement d'autre chose ? La configuration d'Apache ? Doit-il être référencé en permanence ?

Je suis perdue !

Merci d'avance

EDIT : J'ai pensé que cela pourrait aider :

ls -l /var/www
    total 4
    drwxrwsr-x 8 www-data www-data 4096 Jun  2 17:56 html
    -rw-rw-r-- 1 www-data www-data    0 May 27 01:40 Untitled Document~

ls -l /var
    total 52
    drwxr-xr-x  2 root     root     4096 Jun  2 10:29 backups
    drwxr-xr-x 21 root     root     4096 May 28 12:49 cache
    drwxrwsrwt  2 root     whoopsie 4096 May 28 11:56 crash
    drwxr-xr-x 71 root     root     4096 May 27 11:23 lib
    drwxrwsr-x  2 root     staff    4096 Apr 18 05:34 local
    lrwxrwxrwx  1 root     root        9 May 11 23:05 lock -> /run/lock
    drwxrwxr-x 16 root     syslog   4096 Jun  2 17:53 log
    drwxrwsr-x  2 root     mail     4096 Apr 22 20:13 mail
    drwxrwsrwt  2 root     whoopsie 4096 Apr 22 20:19 metrics
    drwxr-xr-x  2 root     root     4096 Apr 22 20:13 opt
    lrwxrwxrwx  1 root     root        4 May 11 23:05 run -> /run
    drwxr-xr-x  9 root     root     4096 May 26 18:46 spool
    drwxrwxrwt 12 root     root     4096 Jun  2 17:59 tmp
    drwx------  2 root     bin      4096 Jun  2 10:21 webmin
    drwxrwsr-x  4 www-data www-data 4096 May 29 15:37 www 

EDIT 2 :

J'ai vu quelque chose de particulier en exécutant ls -l sur le dossier où se trouvent mes sites web, qui est /var/www/html, cela pourrait donner plus d'indications ? Les nouveaux sites créés aujourd'hui ne sont pas détenus par www-data mais par l'administrateur principal du serveur ("boris").

ls -l /var/www/html
drwxrwsr-x 2 boris    www-data  4096 May 29 15:38 Agama
drwxrwsr-x 6 www-data www-data  4096 May 27 18:21 calima
drwxrwsr-x 6 www-data www-data  4096 May 27 23:19 calima2
drwxrwsr-x 6 boris    www-data  4096 Jun  2 17:21 cheche
drwxrwsr-x 9 boris    www-data  4096 Jun  2 18:17 Cheche1
-rw-rw-r-- 1 www-data www-data 11321 May 26 18:19 index.html
-rw-rw-r-- 1 www-data www-data    20 May 27 01:41 index.php
drwxr-sr-x 2 boris    www-data  4096 Jun  2 17:56 Test

-1voto

Tilman Points 1

J'utiliserais un lien symbolique vers un autre répertoire :

ln -s <target> <link>

EDIT : Pour être plus précis : Vous pourriez faire quelque chose comme ça :

ln -s /var/www /path/to/link

Cela protège le système car votre répertoire racine est toujours en lecture seule (en tant qu'utilisateur). Avoir un répertoire symlink quelque part dans votre homepath est le moyen le plus sûr pour bricoler votre projet. Je ne l'utiliserais pas pour un système de production.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X