Pourquoi SFTP refuse l’accès
SFTP s’exécute sous le compte utilisé pour la connexion et ne possède pas d’équivalent à sudo. La plupart des fichiers dans /etc appartiennent à root : un compte ordinaire peut donc en lire certains, mais ne peut écrire dans aucun. Ce comportement est normal et ne doit pas être corrigé en assouplissant les permissions.
Ce qu’il faut éviter
N’exécutez pas chmod 777 sur un fichier de configuration, ne transférez pas la propriété des fichiers de /etc à votre compte et n’activez pas la connexion de root par mot de passe pour une seule modification. Certains services refusent les fichiers dont les permissions sont trop larges, et chacun de ces changements réduit la sécurité du serveur bien après la fin de la modification.
Utiliser sudoedit dans un terminal
sudoedit copie le fichier dans un emplacement temporaire, l’ouvre dans votre éditeur sous votre propre compte et ne le réécrit à son emplacement initial qu’après l’enregistrement. L’éditeur lui-même ne s’exécute pas en tant que root.
sudoedit /etc/nginx/nginx.confEnvoyer une copie, puis l’installer
Si vous préférez un éditeur local, envoyez le fichier dans votre répertoire personnel et installez-le avec sudo. Sauvegardez d’abord l’original dans un emplacement qu’aucune directive d’inclusion de configuration ne lit. La commande install définit le propriétaire et le mode de permissions ; sur les systèmes avec SELinux, restorecon rétablit le contexte approprié. Vérifiez le propriétaire et le mode de l’original avant de reprendre ces valeurs, car tous les fichiers n’utilisent pas root et 644.
stat -c '%U %G %a' /etc/nginx/nginx.conf
sudo cp -a /etc/nginx/nginx.conf /root/nginx.conf.bak
sudo install -o root -g root -m 644 ~/nginx.conf.new /etc/nginx/nginx.conf
sudo restorecon -v /etc/nginx/nginx.confValider avant d’appliquer
Un fichier comportant une erreur de syntaxe peut arrêter un service lors de son prochain redémarrage. Exécutez la vérification du service concerné avant de le recharger. Lorsque vous modifiez les paramètres SSH, gardez votre session actuelle ouverte et testez une nouvelle connexion depuis une deuxième fenêtre.
sudo nginx -t
sudo sshd -t
sudo visudo -cf /etc/sudoers.d/exampleModifier avec sudo dans CH-J Server Manager
File Manager propose d’ouvrir un fichier avec sudo lorsque le compte SSH ne peut pas le lire et prévient que l’enregistrement nécessitera sudo. Lors de l’enregistrement, les données sont envoyées dans le répertoire temporaire privé du compte puis, après vérification, sudo les met en place en conservant le propriétaire, les permissions, l’ACL et le contexte SELinux. Une sauvegarde facultative conserve une copie de l’original avant son remplacement. Le mot de passe est transmis uniquement à sudo sur le serveur et n’est stocké ni sur disque ni dans les journaux. Si la politique sudo impose un terminal (requiretty), l’application ne contourne pas cette exigence. L’application ne valide pas le contenu du fichier : exécutez donc vous-même la vérification du service.