Bonjour,
j’essaye de comprendre certaines choses avec les permissions d’un site web sur mon serveur Debian 8.6.
J’ai créé un utilisateur toto pour administrer un site web www.domain.com et j’ai intégré www-data à son groupe.
A noter que toto accède en SFTP au dossier www.domain.com mais n’a le droit d’écriture que dans le dossier public.
root@debian:/srv/http# cat /etc/group
[...]
www-data:x:33:
toto:x:1001:www-data
Avec cette configuration de permissions :
root@debian:/srv/http# find /srv/http | xargs stat -c "%n %a %A %U %G" | column -t
/srv/http 750 drwxr-x--- root www-data
/srv/http/www.domain.com 750 drwxr-x--- www-data toto
/srv/http/www.domain.com/logs 750 drwxr-x--- root toto
/srv/http/www.domain.com/logs/www.domain.com-access.log 640 -rw-r----- root toto
/srv/http/www.domain.com/logs/www.domain.com-error.log 640 -rw-r----- root toto
/srv/http/www.domain.com/public 750 drwxr-x--- toto toto
/srv/http/www.domain.com/public/index.php 640 -rw-r----- toto toto
1/ Pourquoi j’obtiens une erreur d’accès “Forbidden” alors que www-data (groupe toto) a les permissions (r-x) suffisantes pour accéder au dossier public ???
Si je change les permissions au dossier public
chown toto:www-data www.domain.com/public
donnant :
root@debian:/srv/http# find /srv/http | xargs stat -c "%n %a %A %U %G" | column -t
/srv/http 750 drwxr-x--- root www-data
/srv/http/www.domain.com 750 drwxr-x--- www-data toto
/srv/http/www.domain.com/logs 750 drwxr-x--- root toto
/srv/http/www.domain.com/logs/www.domain.com-access.log 640 -rw-r----- root toto
/srv/http/www.domain.com/logs/www.domain.com-error.log 640 -rw-r----- root toto
/srv/http/www.domain.com/public 750 drwxr-x--- toto www-data
/srv/http/www.domain.com/public/index.php 640 -rw-r----- toto toto
ça fonctionne.
Pareil avec :
chown toto:toto www.domain.com/public
chmod 755 www.domain.com/public
donnant :
root@debian:/srv/http# find /srv/http | xargs stat -c "%n %a %A %U %G" | column -t
/srv/http 750 drwxr-x--- root www-data
/srv/http/www.domain.com 750 drwxr-x--- www-data toto
/srv/http/www.domain.com/logs 750 drwxr-x--- root toto
/srv/http/www.domain.com/logs/www.domain.com-access.log 640 -rw-r----- root toto
/srv/http/www.domain.com/logs/www.domain.com-error.log 640 -rw-r----- root toto
/srv/http/www.domain.com/public 755 drwxr-xr-x toto toto
/srv/http/www.domain.com/public/index.php 640 -rw-r----- toto toto
Comme si mon groupe toto ne servait à rien (permissions R-X via others)…
2/ Faut-il intégrer les utilisateurs au groupe www-data ?
3/ Faut-il intégrer l’utilisateur www-data aux groupes des “webmasters” ?
4/ Les 2 ???
5/ L’utilisateur toto ayant les droits RWX dans le dossier public, les fichiers / dossiers créés auront u:toto et g:toto, il faut donc soit donner les droits R-X aux autres utilisateurs (dont www-data) pour y accéder… ???
Je lis beaucoup de choses sur la toile et j’ai du mal à déterminer ce qui est bien ou pas bien (du point du vu sécurité et ergonomie)…
Quelqu’un pourrait éclairer ma lanterne ???
Merci d’avance !