J'ai deux serveurs Linux:
serveur de
fichiers Debian 5.0.3 (2.6.26-2-686)
Samba version 3.4.2
apache
Ubuntu 10.04 LTS (2.6.32-23-générique)
Apache 2.2.14
J'ai un certain nombre de partages Samba sur le serveur de fichiers afin de pouvoir accéder aux fichiers à partir des PC Windows. J'exporte également /data/www-data
vers le serveur apache , où je l'ai monté en tant que /var/www
.
La configuration est correcte, sauf lorsque je viens de créer des fichiers sur le montage NFS. Je me retrouve avec des fichiers qui ne peuvent pas être lus par Apache ou qui ne peuvent pas être modifiés par d'autres utilisateurs de mon système.
Avec Samba, je peux préciser force user
, force group
, create mask
et directory mask
, et ce qui garantit que tous les fichiers sont créés avec des autorisations appropriées pour mon serveur web Apache. Je ne trouve pas de moyen de le faire avec NFS. Existe-t-il un moyen de forcer les autorisations et la propriété avec NFS - manque-t-il quelque chose d'évident?
Bien que j'aie passé pas mal de temps avec Linux, et que je me sevre de Windows, je n'ai pas encore tout à fait à maîtriser les autorisations Linux ... Si ce n'est pas la bonne façon de faire les choses, je suis ouvert à suggestions alternatives.
la source
www-data
groupe sur le serveur de fichiers, affecté les utilisateurs nécessaires, puis défini le mêmewww-data
ID de groupe sur les deux serveurs. J'ai également défini les bits de groupe sur le/data/www-data
dossier avecchmod -R g+s /var/www-data
. Cela fonctionne maintenant parfaitement. Merci de votre aide.Vous pouvez également utiliser l'
all_squash
option qui rend anonyme (utilisateur et groupe) tous les fichiers et dossiers exportés, et les attacher à un GID et UID spécifique.Le problème avec cela est que tous les utilisateurs sur le
apache
serveur verront votre point de montage avecnobody nobody
comme utilisateur et groupe, et pourraient écrire dans le montage (mais de toute façon, sur le serveur Samba, les fichiers seront créés comme<your UID>
/<your GID>
).la source