web-dev-qa-db-fra.com

Autorisations pour/var/www/html

J'ai un serveur CentOS virtuel avec GoDaddy et je ne parviens pas à configurer les autorisations pour /var/www/html.

Les utilisateurs ne sont pas autorisés à se connecter en tant que root, ni même à s’ajouter au groupe root. Voici donc le coin dans lequel je me suis peint:

  • J'ai changé son propriétaire en utilisant la commande suivante (j'ai utilisé l'utilisateur: groupe qui était dans httpd.conf):

    chown -R Apache:apache /var/www/html
    
  • J'ai ajouté mon propre utilisateur au groupe Apache:

    usermod -a -G Apache myuser
    
  • J'ai changé les permissions:

    chmod 777 /var/www/html -R
    

C’est le seul moyen de donner à mon compte SFTP la possibilité de créer, modifier, et supprimer des fichiers dans /var/www/html. 777! (Le compte SFTP utilise les mêmes informations d'identification que le compte ssh, ce qui signifie que, à toutes fins utiles, elles sont identiques, n'est-ce pas?)

Je suis évidemment nouveau sur l'administrateur du serveur Linux, mais cela semble ridiculement peu sécurisé. Y a-t-il une meilleure façon de faire tout cela?

Remarque Le site Web que je prévois de créer ici permettra les chargements de fichiers, les tâches cron, etc., donc je suppose que cela compliquera également les autorisations nécessaires. Est-ce exact?

Mise à jour L'utilisation de 775 ne semble pas fonctionner. Je peux télécharger/écraser des fichiers, mais lorsque je tente simplement de les supprimer, FileZilla me donne cette erreur:

rm /var/www/html/index.php: autorisation refusée

Je ne sais pas pourquoi, mais revenir à 777 "corrige" cela.

34
dicaeopolis

Vous avez simplement besoin de 775 pour /var/www/html tant que vous vous connectez en tant que myuser. Le 7 octal au milieu (qui correspond à "groupe" acl) garantit que le groupe est autorisé à lire/écrire/exécuter. Tant que vous appartenez au groupe propriétaire des fichiers, "myuser" devrait pouvoir y écrire. Vous devrez peut-être accorder des autorisations de groupe pour tous les fichiers de la racine du document, cependant:

chmod -R g+w /var/www/html
27
Jon Lin

Je viens d’être dans une position similaire en ce qui concerne la définition des autorisations 777 sur le répertoire d’hébergement de sites Web Apache. Après un peu de bricolage, il semble que le changement de propriété du groupe dans le dossier "Apache" permettait l'accès au dossier en fonction du groupe d'utilisateurs.

1) assurez-vous que la propriété du groupe du dossier est définie sur le groupe utilisé/généré par Apache. (vérifiez/etc/groups, le mien était www-data sur Ubuntu)

2) définissez les autorisations de dossier sur 774 pour empêcher "tout le monde" d’avoir accès aux modifications, mais en autorisant les autorisations de propriétaire et de groupe requises.

3) ajoutez votre compte d'utilisateur au groupe qui a l'autorisation sur le dossier (le mien était www-data).

0
koryo