Configuration des autorisations VSFTPD avec le serveur Apache


8

J'ai une machine virtuelle exécutant Ubuntu 10.10. J'utilise Netbeans et télécharge des fichiers sur un ftp sur la machine virtuelle. J'utilise vsftpd.

Le problème que j'ai, c'est que le propriétaire du dossier /var/wwwest l'utilisateur apachepour que le serveur apache puisse lire les fichiers. Jusqu'ici tout va bien.

Mais lorsque j'essaie de télécharger un fichier d'un utilisateur ftp, user1je ne le peux pas. Je sais quel est le problème. Ma question est, comment configurer correctement les autorisations pour l'utilisateur apacheet user1pouvoir écrire / lire tous les fichiers dans le répertoire / var / www?

Réponses:


17

Créez un groupe www-userset faites-en le propriétaire du groupe /var/www. Ensuite, affectez les utilisateurs apacheet user1au groupe et définissez les autorisations sur le /var/wwwrépertoire sur 775. Cela permettra à user1tous les autres utilisateurs du www-usersgroupe de lire et d'écrire /var/www; il sera également plus facile d'autoriser d'autres utilisateurs à écrire /var/www- affectez simplement l'utilisateur au www-usersgroupe.

Modifier: les autorisations correctes sur /var/wwwest 2775, ce qui inclut setgid afin que les fichiers et répertoires à l'intérieur /var/wwwhéritent de la propriété du groupe de /var/www.


Très bonne réponse. Sauf apache est pas en mesure de lire les fichiers après je télécharger quelque chose avec user1j'ai couru les commandes suivantes: chown -R apache:www-users /var/www, usermod -g www-users apache, usermod -g www-users user1, chmod 775 /var/www. Suis-je en train de manquer quelque chose?
Tek

Le umask peut être défini pour refuser les autorisations de lecture des autres; voyez si changer l'umask aide.
bwDraco

Oui. Cela en faisait partie.
Tek

10
Voici les étapes au cas où des googleurs auraient besoin d'un indice. 1) set up vsftpd for umask 0027 (/etc/vsftpd.conf) [local_umask=0027] 2) create www-users group (groupadd www-users) 3) add user to group (usermod -a -G group user) 4) Set apache to run as www-users group (httpd.conf) 5) chgrp www-users /var/www 6) chmod 2775 /var/www
Tek

2
Aussi, essayez d' ajouter la permission setgid dans le répertoire: chmod g+s /var/www. Cela garantira que les fichiers et répertoires créés à l'intérieur du répertoire appartiennent au groupe propriétaire du répertoire.
bwDraco
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.