Este tópico explica por que o erro "must be owned by root and not group or world-writable" ocorre ao iniciar o serviço SSH em uma instância ECS Linux e como resolvê-lo.
Sintomas
O serviço SSH falha ao iniciar em uma instância ECS Linux. Os logs do sistema contêm entradas de erro semelhantes às seguintes:
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.
Causa
Por motivos de segurança, o serviço SSH exige permissões e propriedade específicas para seus diretórios e arquivos relacionados. Esse erro ocorre se o diretório /var/empty/sshd pertencer a um usuário ou grupo diferente.
Solução
Para resolver esse problema, corrija o proprietário e o grupo do diretório /var/empty/sshd.
-
Conecte-se à instância ECS por meio de uma conexão remota VNC.
Para mais informações, consulte Visão geral dos métodos de conexão.
-
Execute o comando a seguir para verificar as permissões do diretório /var/empty/sshd.
ll /var/empty/A saída abaixo indica que o diretório /var/empty/sshd pertence ao usuário
linuxe ao grupolinux. Altere o proprietário e o grupo pararoot.[xxx@xxx xxx]# ll /var/empty/ total 4 drwx--x--x. 2 linux linux 4096 Oct 20 2017 sshd -
Execute os comandos a seguir para restaurar a configuração padrão.
ImportanteO comando
chmodneste exemplo é específico para CentOS 7. As permissões necessárias para o diretório /var/empty/sshd podem variar conforme a distribuição Linux. Para identificar as permissões corretas, verifique a configuração de outra instância com a mesma distribuição Linux.chown -R root:root /var/empty/sshd chmod -R 711 /var/empty/sshd -
Reinicie o serviço SSH com o comando a seguir.
systemctl restart sshd.service