Pour des raisons de sécurité, j'aimerais désactiver l'accès root via ssh.
J'ai créé un nouvel utilisateur (user1) avec des droits d'administration.
adduser user1
usermod -aG sudo user1
et attribué le répertoire /www à cet utilisateur.
sudo chown -R $USER:$USER /var/www/
sudo chmod -R 755 /var/www
(La structure de mes dossiers est www/site1.com, www/site2.com, etc.)
Mes sites ont besoin d'écrire certains fichiers (comme les sitemaps, les flux rss, etc.). J'ai donc défini les autorisations du répertoire www comme suit :
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www
Maintenant, cependant, l'utilisateur user1 fonctionne parfaitement via Shell avec la commande sudo, mais ne peut plus ajouter/modifier/supprimer des fichiers et des dossiers dans le répertoire /www et ses sous-répertoires via sftp.
J'ai lu de nombreux guides, comment configurer les permissions d'apache pour augmenter la sécurité, pour partager l'administration avec d'autres utilisateurs, etc. etc. etc.
Mais je ne comprenais toujours pas comment résoudre mon problème.
Actuellement, pour pouvoir manipuler des fichiers sur mon serveur via sftp, je dois utiliser l'utilisateur root, en toute tranquillité pour la sécurité.
Ai-je raté quelque chose à propos de la définition des permissions des utilisateurs ou des dossiers ?