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

permissions ~/ et ~/Sites

2 réponses
Avatar
marc_lo9876
Salut,
J'ai plusieurs comptes sur mon Mac pour famille et potes etc
et j'ai vu que les permissions etaient 755 sur les $HOME.
Alors un petit tour de sudo chmod -R 700 /Users/blah et
c'etait bon.

Seulement, j'ai une erreur 503 quand je tente d'acceder
a mon site dans ~/Sites. Je m'y attendais quand meme, alors
la question: comment interdire aux utilisateurs de voir les
autres $HOME, tout en ayant les bonnes permissions sur
~/Sites, afin que apache puisse lire dedans?

chmod -R 777 $HOME/Sites ne marche pas, car il me
semble que le bit "x" soit necessaire sur le $HOME,
pour qu'un processus y accede...

Merci.

2 réponses

Avatar
laurent.pertois
wrote:

J'ai plusieurs comptes sur mon Mac pour famille et potes etc
et j'ai vu que les permissions etaient 755 sur les $HOME.
Alors un petit tour de sudo chmod -R 700 /Users/blah et
c'etait bon.



Euh, $HOME est effectivement en 755 mais à l'intérieur, en tous cas les
dossiers par défaut, tu est en 700 sauf $HOME/Public et $HOME/Sites.

Effectivement pour ce dernier, il faut que l'utilisateur et/ou le groupe
www puisse passer sinon point d'affichage de la page.

Essaie, mais je n'ai pas testé, un chmod +X $HOME et ensuite un chmod -R
+X $HOME/Sites.

Cela dit, chmod -R 700 $HOME est quand même violent, tu as plein de
fichiers qui sont devenus exécutables alors qu'ils n'ont pas besoin de
l'être.

Après, il reste les ACLs...

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Avatar
Nicolas-Michel_REMOVE
wrote:

Alors un petit tour de sudo chmod -R 700 /Users/blah et
c'etait bon.



Comme le dit Laurent, le -R c'était un peu excessif :
si tu n'as pas accès à /Users/blah, tu n'as pas accès non-plus à ce que
ça contient. Donc un chmod 700 /Users/blah aurait suffit et tu n'aurais
pas mis à tous tes fichiers les droits "execute"

Seulement, j'ai une erreur 503 quand je tente d'acceder
a mon site dans ~/Sites. Je m'y attendais quand meme, alors
la question: comment interdire aux utilisateurs de voir les
autres $HOME, tout en ayant les bonnes permissions sur
~/Sites, afin que apache puisse lire dedans?



Diverses possibilités ...

- La solution "pro" : ne pas mettre ton site web dans /Users.
C'est à dire que tu modifies apache à ta convenance pour mettre le
DocumentRoot dans un endroit spécifique et sauvegardé.
(/var/www, /data/sites, ... bref ailleur. Et logiquement pas dans
/Library comme c'est le cas par défaut)
Puis tu commentes le module httpd-userdir.conf dans httpd.conf
Puis tu fais des vhost et tout le toutim, en bon admin apache.

- La solution ACL : en plus d'avoir /Users/blah en "700", tu fais un
$> chmod +a "www allow read,search" /Users/blah

- En utilisant le groupe :
Tu met /Users/blah en 750 avec un groupe qui contient www.

J'ai pas testé, mais je suppose que des permissions de lecture ne sont
pas obligatoires pour www. Les droits d'exécution me semblent
suffisants. Donc si tu utilises les groupes ça ferait un truc genre :
drwx--x--x+ blah blah /Users/blah

$> id www
uidp(_www) gidp(_www) groupsp(_www) groupP1(blah)


- En utilisant la méthode Apple :
Tu autorises /Users/blah en 755 comme c'est par défaut, mais tu
vérouille tout ce qui est dedant sauf le dossiers Sites


Ou encore je ne sais quoi, créer un utilisateur spécifique au partage
web, ou autre.


--
Nicolas Michel