J'ai besoin d'aide pour définir les autorisations ou la propriété correctes de la racine du document Apache. Voici ce dont j'ai besoin:
- différents sites Web stockés dans
/var/www/html/<site>
- deux utilisateurs doivent mettre à jour / gérer les sites Web via ssh
- la propriété doit être différente de celle de l'utilisateur apache (pour des raisons de sécurité)
Comment puis-je faire ceci? Pour le moment, tous les fichiers sont accessibles en écriture mondiale, ce qui n'est pas bon. Le serveur exécute CentOS 5.5
Merci
Réponses:
Créer un nouveau groupe
Ajoutez vos utilisateurs au groupe
Changer la propriété du répertoire des sites
Modifier les autorisations du répertoire des sites
Maintenant, n'importe qui peut lire les fichiers (y compris l'utilisateur apache) mais seuls root et webadmin peuvent modifier leur contenu.
la source
umask
commande. Plus d'informations ici osr507doc.sco.com/en/OSUserG/_default_perms_new_file.htmlJe préfère monter la partition avec -o acl. Cela vous permet d'utiliser la commande setfacl pour accorder des autorisations à granularité fine sur les fichiers et les dossiers, au lieu de spécifier uniquement les autorisations d'autres groupes d'utilisateurs.
Mettez donc acl sur votre ligne de partition dans / etc / fstab, ou remontez avec mount -o remount, acl / mnt / xy, puis donnez la propriété de votre répertoire web à personne: personne. Chmod à 770, et utilisez setfacl pour donner des autorisations d'écriture uniquement sur les dossiers qui en ont besoin, par exemple. accordez à www-data (ou à l'utilisateur sur lequel votre serveur Web s'exécute) des autorisations d'écriture pour le dossier de téléchargement et accordez des autorisations d'écriture à votre propre utilisateur pour l'ensemble du répertoire.
Désormais, personne ne peut lire vos fichiers, à part votre serveur Web et votre propre utilisateur. Vous pouvez écrire dans chaque fichier du dossier et le serveur Web ne peut écrire que dans le dossier de téléchargement.
la source