Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Droits repertoires

11 réponses
Avatar
Arol
Bonjour à tous,

Je crée un compte "test" avec adduser.
Je me retrouve avec un répertoire "test" dans /home
Ce répertoire a comme proprio "test" et comme groupe "test", les droits sont
755.
Dans "/home/test/" je crée un répertoire "public_html" pour qu'il puisse
publier sur le net.

Tout marche nickel.

Je veux sécuriser cela en rendant le répertoire "/home/test/" uniquement
accessible en lecture/écriture/exécution par les users "test" et "www-data".
Je change donc les droits en 700 et dans le /etc/group la ligne
"www-data:x:33:" devient "www-data:x:33:test".
Mais la, apache n'arrive plus à publier.

Comment faire pour qu'apache ait les mêmes accès que le user "test" ?

10 réponses

1 2
Avatar
Arol
"Mihamina (R12y) Rakotomandimby" a écrit dans le message de news:
Le système rwx/oga a ses limites.
Il y a maintenant:
http://wiki.kaspersandberg.com/doku.php?id=howtos:acl


Moui, je vais pas me lancer la dedans.

Ceci dit, pour ton cas précis, je _pense_ que permettre la traversée des
répertoires réglerait les soucis.


Il y a pas une façon simple pour dire que le user "test" et "www-data" ont
les même droits sur un répertoire donné ?

Avatar
Mihamina (R12y) Rakotomandimby
Arol - <4641bb20$0$18510$ :

Comment faire pour qu'apache ait les mêmes accès que le user "test" ?


Le système rwx/oga a ses limites.
Il y a maintenant:
http://wiki.kaspersandberg.com/doku.php?id=howtos:acl

Ceci dit, pour ton cas précis, je _pense_ que permettre la traversée des
répertoires réglerait les soucis.

Avatar
Matthieu Moy
"Arol" writes:

Il y a pas une façon simple pour dire que le user "test" et "www-data" ont
les même droits sur un répertoire donné ?


Je dirais : ajouter ton utilisateur « test » au groupe « www-data »
(il faut être root), puis, « chgrp -R www-data ~/public_html/ ».

Éventuellement, un « chmod -R g+s ~/public_html/ » permettra de mettre
par défaut ce qu'il y a dans public_html/ dans le même groupe que le
répertoire parent.

Mais dans tous les cas, ~/public_html/ ne sera lisible par un
utilisateur que si ~/ a au moins le bit x (eXécute).

--
Matthieu

Avatar
Arol
"Matthieu Moy" a écrit dans le message de news:
Je dirais : ajouter ton utilisateur « test » au groupe « www-data »
(il faut être root), puis, « chgrp -R www-data ~/public_html/ ».


J'ai fait ça.
Mais problème, quand le user "test" upload avec scp un fichier dans
"public_html", le fichier a comme proprio "test" et comme groupe "test", ce
qui est normal. Mais du coup, apache ne peut pas accéder à ce fichier, ce
qui est normal aussi.

Avatar
Matthieu Moy
"Arol" writes:

"Matthieu Moy" a écrit dans le message de news:
Je dirais : ajouter ton utilisateur « test » au groupe « www-data »
(il faut être root), puis, « chgrp -R www-data ~/public_html/ ».


J'ai fait ça.
Mais problème, quand le user "test" upload avec scp un fichier dans
"public_html", le fichier a comme proprio "test" et comme groupe "test", ce
qui est normal. Mais du coup, apache ne peut pas accéder à ce fichier, ce
qui est normal aussi.


As-tu fait le « chmod g+s » que je t'ai suggéré ?

--
Matthieu


Avatar
Arol
"Matthieu Moy" a écrit dans le message de news:
As-tu fait le « chmod g+s » que je t'ai suggéré ?


J'étais entrain de tester.
Donc voila la solution, dites si c'est bon ou pas, je suis ouvert à toutes
les critiques.
/home/test/ a pour proprio "test" et pour groupe "www-data".
/home/test/ a pour mode 770 (accès total pour "test" et "www-data")
/home/test/public_html/ a pour mode chmod g+s

J'ai fait un test avec scp, quand je copie un fichier dans "/home/test/" le
proprio et le groupe sont biens "test" et quand je copie un fichier dans
"/home/test/public_html/" le proprio est "test" et le groupe est "www-data".
apache arrive bien à accéder au fichier nouvellement uploadé.

Avatar
Nicolas George
"Arol" wrote in message <4641bb20$0$18510$:
Je veux sécuriser cela en rendant le répertoire "/home/test/" uniquement
accessible en lecture/écriture/exécution par les users "test" et "www-data".


Tu es en train de diminuer la sécurité, là, puisque tu fais gagner des
droits à l'utilisateur www-data, qui est justement l'utilisateur qui court
un risque de compromission.

Avatar
Matthieu Moy
Nicolas George <nicolas$ writes:

"Arol" wrote in message <4641bb20$0$18510$:
Je veux sécuriser cela en rendant le répertoire "/home/test/" uniquement
accessible en lecture/écriture/exécution par les users "test" et "www-data".
^^^^^^^^ ^^^^^^^^



Tu es en train de diminuer la sécurité, là, puisque tu fais gagner des
droits à l'utilisateur www-data, qui est justement l'utilisateur qui court
un risque de compromission.


Oui, je n'avais pas fait gaffe, mais l'utilisateur www-data n'a
surtout pas besoin de droits en écriture ! (enfin, sauf pour un site
qui propose de l'upload de fichier, mais dans ces cas là, on les met
dans un répertoire bien identifié autant que possible)

--
Matthieu


Avatar
Arol
"Matthieu Moy" a écrit dans le message de news:
Oui, je n'avais pas fait gaffe, mais l'utilisateur www-data n'a
surtout pas besoin de droits en écriture ! (enfin, sauf pour un site
qui propose de l'upload de fichier, mais dans ces cas là, on les met
dans un répertoire bien identifié autant que possible)


Oui mais justement, apache via php va créer des répertoires, des fichiers,
etc... donc faut lui filer des droits comme n'importe quel user.

Avatar
Arol
"Matthieu Moy" a écrit dans le message de news:
Je veux sécuriser cela en rendant le répertoire "/home/test/"
uniquement



accessible en lecture/écriture/exécution par les users "test" et
"www-data".



^^^^^^^^
^^^^^^^^


Tu es en train de diminuer la sécurité, là, puisque tu fais gagner des
droits à l'utilisateur www-data, qui est justement l'utilisateur qui
court


un risque de compromission.


Oui, je n'avais pas fait gaffe, mais l'utilisateur www-data n'a
surtout pas besoin de droits en écriture ! (enfin, sauf pour un site
qui propose de l'upload de fichier, mais dans ces cas là, on les met
dans un répertoire bien identifié autant que possible)



Tenez, question subsidiaire.
Comment faire en sorte qu'un user d'un compte ne puisse pas "sortir" de son
compte, c'est à dire aller visiter ailleurs que son /home ?
Avec un serveur ftp, c'est faisable, mais dans une console ?
Y-a-t-il une solution moins lourde que chroot ?



1 2