Cet article décrit comment configurer un utilisateur Linux® avec des autorisations de lecture et d'écriture pour la racine de votre document Web, que vous trouvez généralement dans /var/www/ annuaire. Après vous être connecté avec cet utilisateur via le protocole SFTP (Secure File Transfer Protocol), vous pouvez télécharger le contenu de votre site Web directement dans le dossier de votre site, tel que /var/www/votre-site-dossier .
Cet exemple utilise un compte nommé demo . Assurez-vous de remplacer démo dans les exemples avec votre nom préféré.
Ces commandes nécessitent des privilèges de superutilisateur, elles supposent donc que vous les exécutez à partir d'un utilisateur root sudo
compte.
Obtenir le groupe et le répertoire
Vous devez connaître le groupe sous lequel le processus du serveur Web s'exécute, ainsi que l'emplacement de la racine du document de votre serveur Web. Vous pouvez le trouver dans le fichier de configuration du serveur Web (tel que httpd.conf ou apache2.conf pour Apache®). Dans la section suivante, vous pouvez trouver les valeurs par défaut pour le serveur Web Apache exécuté sur certaines distributions Linux :
CentOS®, Fedora® et RHEL®
Sur les systèmes basés sur Red Hat®, Apache s'exécute sous le groupe apache avec une racine de document /var/www/html .
Système d'exploitation Ubuntu® et Debian®
Sur les systèmes basés sur Debian®, Apache s'exécute sous le groupe www-data avec une racine de document /var/www .
Créer ou modifier un utilisateur
Créez un nouvel utilisateur ou modifiez un utilisateur existant pour l'exemple.
Créer un nouvel utilisateur
Créez un nouvel utilisateur dans le même groupe que le serveur Web, avec son répertoire personnel défini sur la racine de votre document.
N'oubliez pas de modifier les valeurs pour qu'elles correspondent à votre nom d'utilisateur et aux paramètres de votre serveur Web.
Sur CentOS, Fedora ou RHEL, la commande pour créer l'utilisateur est similaire à l'exemple suivant :
$ sudo useradd -d /var/www/html -G apache demo
Sur les systèmes d'exploitation Debian ou Ubuntu, utilisez des valeurs différentes :
$ sudo useradd -d /var/www -G www-data demo
Après avoir créé l'utilisateur, définissez également le mot de passe.
$ sudo passwd demo
Vous pouvez passer à la section sur la modification de la racine du document pour qu'elle soit accessible en écriture de groupe, si nécessaire.
Modifier un utilisateur existant
Pour modifier un utilisateur existant, vous devez l'ajouter au groupe utilisé par votre serveur Web.
Sur CentOS, Fedora ou RHEL, la commande est similaire à la commande suivante :
$ sudo usermod -a -G apache demo
Sur le système d'exploitation Ubuntu ou Debian, le résultat peut ressembler à la commande suivante :
$ sudo usermod -a -G www-data demo
Pour modifier le compte afin d'utiliser la racine du document comme répertoire personnel, vous pouvez répéter ce processus.
Exécutez la commande suivante sur la ligne de commande, si vous êtes sur CentOS, Fedora ou RHEL :
$ sudo usermod -d /var/www/html demo
Sur le système d'exploitation Ubuntu ou Debian, utilisez la commande suivante :
% sudo usermod -d /var/www demo
Modifier les autorisations racine du document
Modifiez la racine du document afin que le fichier et le contenu soient dans le même groupe que le serveur Web.
Définir le groupe
Sur CentOS, Fedora ou RHEL, exécutez la commande suivante :
$ sudo chgrp -R apache /var/www/html
Sur le système d'exploitation Ubuntu ou Debian, exécutez la commande suivante :
$ sudo chgrp -R www-data /var/www
Définir les autorisations
Rendez le groupe racine du document accessible en écriture, mais définissez le setgid autorisation sur le répertoire racine du document lui-même. Le setgid garantit que les nouveaux fichiers que vous créez dans la racine du document héritent de l'ID de groupe de leur répertoire parent.
Sur CentOS, Fedora ou RHEL, vous pouvez définir les bonnes autorisations avec les commandes :
$ sudo chmod -R g+w /var/www/html
$ sudo chmod g+s /var/www/html
Le système d'exploitation Ubuntu et les versions Debian des commandes sont :
$ sudo chmod -R g+w /var/www
$ sudo chmod g+s /var/www
Se connecter et tester
Connectez-vous à votre serveur via SFTP avec le compte utilisateur que vous avez créé ou modifié. Essayez de télécharger un fichier pour vous assurer que vous avez correctement défini les autorisations. Si vous obtenez une autorisation refusée erreur, exécutez la commande, ls -la
, à la racine du document, pour vérifier les autorisations du répertoire.