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:
- Altere as permissões de arquivo / pasta para serem lidas / gravadas globalmente.
- Altere a propriedade do grupo de arquivos / pastas para "www-data".
- 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.