web-dev-qa-db-fra.com

Pas d’autorisation sur / var / www / folder même si root

J'essaie actuellement de modifier le contenu de /var/www/mywebsite via sftp avec mon utilisateur "exampleadmin" qui dispose des autorisations root et fait partie du groupe "root".

Lorsque j'essaie d'ajouter un fichier ou un répertoire via SFTP, le message d'erreur suivant s'affiche: permission denied. Pour l'instant, je ne comprends pas bien pourquoi, car mon utilisateur devrait avoir un accès root.

J'ai répertorié le contenu du dossier de /var/www avec la commande ls -la et j'ai obtenu les résultats suivants:

drwxr-xr-x  4 root root 4096 May  6 10:00 .  
drwxr-xr-x 14 root root 4096 May  6 07:59 ..  
drwxr-xr-x  3 root root 4096 May  6 09:49 html  
drwxr-xr-x  2 root root 4096 May  6 10:00 mywebpage  

Maintenant, j'ai plusieurs questions sur les autorisations auxquelles je n'ai pas encore trouvé de réponse:

  • Si je change de propriétaire ou de groupe de dossiers/fichiers, le propriétaire/groupe "racine" sera-t-il supprimé, ce qui signifie qu'ils n'auront plus d'accès?

  • Est-il possible d'autoriser des autorisations spécifiques à plusieurs groupes et/ou utilisateurs, comme dans Windows, ou puis-je attribuer un seul propriétaire et un seul groupe?

  • Et si je veux avoir la configuration suivante:

    • utilisateur 1 avec accès complet
    • utilisateur 2 avec lecture/exécution
    • utilisateur 3 avec refuser
    • autre en lecture seule

Si tel est le cas, il est recommandé de définir des autorisations de fichiers Apache sur un serveur.

2
Julian Bechtold

Apache et les programmes de serveur similaires ne sont généralement pas exécutés par l'utilisateur root car cela pourrait entraîner une fuite de sécurité s'ils contenaient un bogue.

Il est recommandé pour les pages Web (qui ne sont pas modifiées par Apache) appartient à root et a les autorisations de lecture pour tout le monde mais ne permet pas au serveur de modifie le contenu.

Apache est généralement exécuté sous l'utilisateur www-data. Pour autoriser l'accès en écriture à votre /var/www, vous devez modifier la propriété des données pertinentes. Vous devez limiter l'accès aux dossiers que vous devez réellement modifier à l'aide du serveur.

Sudo chown -R www-data:www-data /var/www/<relevant subfolder>

A vos questions particulières:

Si je change de propriétaire ou de groupe de dossiers/fichiers, le propriétaire/groupe "racine" sera-t-il supprimé, ce qui signifie qu'ils n'auront plus d'accès?

Tant que vous conservez les autorisations de lecture pour tout le monde, tout le monde peut les lire. La propriété par root est généralement la plus restrictive.

Est-il possible d'autoriser des autorisations spécifiques à plusieurs groupes et/ou utilisateurs, comme dans Windows, ou puis-je attribuer un seul propriétaire et un seul groupe?

Si vous avez besoin d'autorisations spécifiques pour plusieurs utilisateurs, vous devez créer un groupe pour eux sous Linux.

Et si je veux avoir la configuration suivante:…

Ceci est une configuration très spécifique et vous devriez poser une autre question s’il ne s’agit pas d’un problème théorique. Vous voudrez peut-être obtenir des informations sur ACL d’abord.

2
Melebius