Cette rubrique explique pourquoi l'erreur « must be owned by root and not group or world-writable » se produit lors du démarrage du service SSH sur une instance ECS Linux et comment la résoudre.
Symptômes
Le service SSH ne parvient pas à démarrer sur une instance ECS Linux. Les journaux système contiennent des entrées d'erreur similaires aux suivantes :
May 17 17:31:57 ecs-centos72-test systemd: Failed to start OpenSSH server daemon.
May 17 17:31:57 ecs-centos72-test systemd: Unit sshd.service entered failed state.
May 17 17:31:57 ecs-centos72-test systemd: sshd.service failed.
May 17 17:32:39 ecs-centos72-test systemd: sshd.service holdoff time over, scheduling restart.
May 17 17:32:39 ecs-centos72-test systemd: Starting OpenSSH server daemon...
May 17 17:32:39 ecs-centos72-test sshd: /var/empty/sshd must be owned by root and not group or world-writable.
May 17 17:32:39 ecs-centos72-test systemd: sshd.service: main process exited, code=exited, status=255/n/a
May 17 17:32:39 ecs-centos72-test systemd: Failed to start OpenSSH server daemon.
May 17 17:32:39 ecs-centos72-test systemd: Unit sshd.service entered failed state.
May 17 17:32:39 ecs-centos72-test systemd: sshd.service failed.
Cause
Pour des raisons de sécurité, le service SSH exige que ses répertoires et fichiers associés disposent d'autorisations et de propriétés spécifiques. Cette erreur survient si le répertoire /var/empty/sshd appartient à un autre utilisateur ou groupe.
Solution
Pour résoudre ce problème, corrigez le propriétaire et le groupe du répertoire /var/empty/sshd.
-
Connectez-vous à l'instance ECS en utilisant une connexion distante VNC.
Pour plus d'informations, consultez Présentation des méthodes de connexion.
-
Exécutez la commande suivante pour vérifier les autorisations du répertoire /var/empty/sshd.
ll /var/empty/La sortie suivante indique que le répertoire /var/empty/sshd appartient à l'utilisateur
linuxet au groupelinux. Vous devez modifier le propriétaire et le groupe pourroot.[xxx@xxx xxx]# ll /var/empty/ total 4 drwx--x--x. 2 linux linux 4096 Oct 20 2017 sshd -
Exécutez les commandes suivantes pour restaurer la configuration par défaut.
ImportantLa commande
chmodutilisée dans cet exemple est spécifique à CentOS 7. Les autorisations requises pour le répertoire /var/empty/sshd peuvent varier selon la distribution Linux. Pour identifier les autorisations correctes, vérifiez la configuration d'une autre instance exécutant la même distribution Linux.chown -R root:root /var/empty/sshd chmod -R 711 /var/empty/sshd -
Exécutez la commande suivante pour redémarrer le service SSH.
systemctl restart sshd.service