Não é possível SSH após adicionar outro usuário ao grupo de usuários alvo do SSH

2

Estou tentando criar uma interface da Web para um servidor de jogos.

Eu tenho um usuário / grupo "gameserver" que tem arquivos e configurações de jogo (não um sudoer). E um usuário / grupo "www-data" que todos vocês conhecem é para aplicação web.

Agora, infelizmente, tenho visto postagens de pessoas perguntando ou sugerindo adicionar www-data ao grupo "sudo", para permitir que ele modifique arquivos em outro lugar. Uma prática muito ruim por motivos de segurança.

Eu quero ativar o www-data para modificar arquivos dentro de arquivos / pastas do usuário "gameserver" sem privilégios de "root".

Existem várias maneiras de fazer isso até onde eu sei:

  1. Altere as permissões de arquivo / pasta para serem lidas / gravadas globalmente.
  2. Altere a propriedade do grupo de arquivos / pastas para "www-data".
  3. Adicione o usuário "www-data" ao grupo "gameserver".

Os dois primeiros exigiriam a alteração de permissões ou propriedade para cada novo arquivo ou pasta recém-criado. Portanto, o último caminho parece o mais plausível. No entanto, após a execução:

usermod -a -G gameserver www-data

para adicionar o usuário "www-data" ao grupo "gameserver", não posso mais usar o SSH para o usuário "gameserver". E receba um erro:

Permission denied (publickey).

Esta postagem parece ter um problema semelhante: SSH quebrado Erro de pipe após adicionar usuário ao grupo

Mas realmente não resolve o problema.

Por que adicionar outro usuário ao meu grupo de usuários me impede de acessar meu usuário via SSH? E como posso resolver esse problema?

Note que "www-data" foi realmente capaz de gravar arquivos pertencentes ao usuário "gameserver".

Para reverter o efeito, eu SSH para "root" e execute:

gpasswd -d www-data gameserver

Para remover o usuário "www-data" do grupo "gameserver"

Editar 01:

Como Ryan Babchishin indicou no primeiro comentário, está trabalhando para ele. Eu tentei em outro servidor e funciona. Este problema é específico para servidores OVH no momento. Eles indicaram que estão usando um kernel personalizado em resposta a um problema anterior, em que não pude usar os comandos SystemV para iniciar, parar ou reiniciar um serviço. Eu arquivei outro ingresso agora. Mas ainda não entendi o que isso tem a ver com as permissões do Linux.

    
por 0x00FE 10.07.2016 / 03:45

1 resposta

1

Quais são as permissões em ~gameserver/.ssh/authorized_keys ? Se eles forem graváveis em grupo, um servidor SSH se recusará a usá-los, porque alguém que não seja o usuário de destino pode adicionar chaves arbitrárias. Eu posso fazer meu computador doméstico se recusar a aceitar meu par de chaves com chmod g+w .ssh/authorized_keys .

Agora, no seu caso, você não alterou os bits de permissão (presumivelmente), mas talvez seu kernel personalizado, ou apenas uma implementação sshd diferente do que o meu computador usa, aceitará chaves graváveis em grupo, desde que não haja outras usuários no grupo? Então, se você fizer tiver permissões estranhas como 664, o sshd aceitaria logins até que você altere os membros do grupo. Um pouco de punhalada no escuro aqui, mas parece meio plausível.

    
por 13.07.2016 / 20:00