Comment puis-je donner la permission aux répertoires et aux fichiers de www/html pour la sécurité. Ces fichiers ont une extension .js, .php, .sh. Ils sont exécutés sous www/html par l’utilisateur d’Apache (le mien est www-data). Lorsque je donne l'autorisation à ce fichier et à ces répertoires, les autres qui appartiennent au même réseau peuvent voir le contenu du fichier. C'est une sécurité faible. Je veux renforcer la sécurité. Lorsque je donne 644, certains fichiers ne peuvent pas être exécutés. Cette autorisation devrait renforcer la sécurité et, en même temps, il suffit d'exécuter le fichier. Quelle autorisation faut-il donner aux répertoires et aux fichiers pour cet état?
Les fichiers servis par Apache (c'est-à-dire demandés via HTTP) ne nécessitent pas d'autorisations d'exécution pour pouvoir être exécutés, ils doivent uniquement être lisibles par Apache.
Ce que je fais habituellement est de définir le groupe sur www-data et les autorisations sur 640 pour les fichiers et 1750 pour les répertoires, afin que personne d'autre ne puisse les lire en dehors du serveur Web.
J'utilise généralement les autorisations suivantes sous/var/www/virtualhost:
chown -R www-data:www-data *
chmod -R 640 *
Cela garantit que seul le serveur HTTP peut voir les fichiers. Aucune autorisation d'exécution n'est nécessaire pour les fichiers .js et .php. Les scripts shell (fichiers .sh) en ont probablement besoin si vous voulez les exécuter en tant que scripts CGI (je ne l’ai jamais essayé, donc je ne sais pas comment le configurer.