Propriétaire/groupe/autorisations correctes pour les fichiers/dossiers du site Apache 2 sous Mac OS X?
Il est difficile de trouver des réponses spécifiques à Mac à cette question sur le web, donc j'espère que quelqu'un peut mettre celui-ci au repos pour moi? Mes autorisations sont foiré sur mes sites et je ne suis pas sûr de savoir comment les réparer sans simplement claquer un 777 récursif sur tout ce qui est manifestement incorrect.
Merci!
7 réponses
C'est le moyen le plus restrictif et le plus sûr que j'ai trouvé, comme expliqué ici pour le répertoire hypothétique ~/my/web/root/
pour votre contenu web:
- pour chaque répertoire parent menant à votre racine web (par exemple
~/my
,~/my/web
,~/my/web/root
):-
chmod go-rwx DIR
(personne autre que le propriétaire peut accéder au contenu) -
chmod go+x DIR
(pour permettre aux "utilisateurs", y compris _www, d '"entrer" le répertoire)
-
-
sudo chgrp -R _www ~/my/web/root
(tout le contenu web est maintenant groupe _www) -
chmod -R go-rwx ~/my/web/root
(personne d'autre que le propriétaire peut accéder contenu web) -
chmod -R g+rx ~/my/web/root
(tout le contenu web est maintenant lisible / exécutable / saisissable par _www)
Toutes les autres solutions laissent les fichiers ouverts à d'autres utilisateurs locaux (qui font partie du groupe" staff "et qui sont évidemment dans le groupe"o" /autres). Ces utilisateurs peuvent ensuite naviguer librement et accéder aux configurations DB, au code source ou à d'autres détails sensibles dans vos fichiers et scripts de configuration web si ceux-ci font partie de votre contenu. Si ce n'est pas un problème pour vous, alors allez avec l'un des plus simple des solutions.
Si vous n'aimez vraiment pas le Terminal, voici la façon dont l'interface graphique de faire dkamins vous dit:
1) Allez dans votre répertoire principal de l'utilisateur (ludo serait la mienne) et de la Fichier menu, sélectionnez Get Info cmdj' dans l'inspecteur :
2) alt/option cliquant sur le [+] signe ajoutez le _www groupe et de l'ensemble de la permission de lecture seule :
- ainsi pensez (bonne pratique) à ne pas stocker d'informations personnelles à la racine de votre dossier personnel (& disque dur) !
- vous pouvez ignorer cette étape si le groupe** everyone * * a l'autorisation * * en lecture seule, mais depuis AirDrop le dossier**/Public / Drop Box * * est surtout inutile...
3) affichez l'inspecteurGet Info de votre dossier user Sites et reproduisez l'étape 2 puis dans le sous-menu gear action choisissez Apply to enclosed Items... :
Voilà 3 étapes et L'interface graphique seule façon...
Je sais que c'est un ancien post, mais pour quiconque passe à Mountain Lion (10.8) et rencontre des problèmes similaires, en ajoutant FollowSymLinks
à votre {username}.le fichier conf (dans/etc / apache2 / users/) a fait l'affaire pour moi. Donc, le fichier ressemble à ceci:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Fil de 2 mois, mais mieux vaut tard que jamais! Sur 10.6, mon dossier documents du serveur web est défini sur:
owner:root
group:_www
permission:755
_www est l'utilisateur qui exécute apache sous Mac OS X. j'ai ensuite ajouté une ACL pour autoriser les autorisations complètes au groupe Administrateurs. De cette façon, je peux toujours apporter des modifications à mon utilisateur administrateur sans avoir à m'authentifier en tant que root. Aussi, quand je veux permettre au serveur d'écrire dans un dossier, je peux simplement chmod à 775, laissant tout le monde autre que root:_www avec seulement autorisations de lecture / exécution (à l'exclusion des ACL que j'ai appliquées)
Sur mon système 10.6:
vhosts folder:
owner:root
group:wheel
permissions:755
vhost.conf files:
owner:root
group:wheel
permissions:644
L'utilisateur propriétaire pour moi, c'est l'utilisateur admin et le groupe est _www et travaille avec des autorisations pour 775 pour les dir et les fichiers 664
Ouvrez d'abord le terminal, puis allez dans le répertoire du serveur web
cd /Library/WebServer/Documents
Puis tapez ceci et ce que vous ferez est que vous donnerez read
et write
la permission
sudo chmod -R o+w /Library/WebServer/Documents
Cela va sûrement fonctionner!