J'ai configuré une instance de serveur Apache (sur Ubuntu 12.04) et hébergé deux sites web PHP. Les sites Web sont gérés par différentes équipes et ne souhaitent pas que le code soit visible par l'autre équipe.Sécurisation du code source de chaque site s'exécutant sur le serveur Apache
Le code des sites Web est présent dans les répertoires/etc/sites/team1 et/etc/sites/team2. Les deux équipes ont un accès FTP au serveur (en utilisant vsftpd). Le serveur Web fonctionne avec les informations d'identification de l'utilisateur www-data appartenant au groupe www-data. Cela signifie que tous les fichiers présents dans le répertoire des sites doivent avoir l'autorisation de lecture pour l'utilisateur www-data ou le groupe www-data. Lorsque les utilisateurs téléchargent le fichier via le client FTP, le propriétaire et le groupe du fichier sont définis sur l'utilisateur et le groupe d'utilisateurs FTP.
Comment puis-je définir le groupe par défaut de chaque téléchargé via le serveur FTP sur www-data? L'une des façons consiste à définir le groupe par défaut de l'utilisateur FTP sur www-data, mais dans ce cas, les utilisateurs FTP des deux sites auront un groupe www-data et chaque fichier a au moins une autorisation de lecture pour ce groupe. le code de l'autre.
Quelle serait la bonne façon de protéger le code source afin que les deux soient accessibles au serveur apache mais pas à l'autre équipe?
Si les deux ont des groupes séparés, disons group1 et group2, alors le serveur apache (fonctionnant avec www-data: www-data) ne pourra pas accéder à l'un d'entre eux. –
Avoir des groupes séparés pour chaque site, disons group1 et group2. Ajouter l'utilisateur www-data aux deux groupes group1 et group2. Maintenant, les utilisateurs de group1 et group2 peuvent voir le contenu de site1 et site2, mais pas les uns des autres. Puisque www-data appartient aux deux groupes, il peut lire les fichiers. –