Qual é a função da raiz do grupo de usuários? [duplicado]

2

Eu queria evitar usar o login de raiz do SSH para fazer backup do meu servidor remoto. Assim, eu configuro uma conta de usuário não-root no servidor e a coloco sob o grupo-raiz pensando que ela teria o mesmo privilégio que um usuário root. Mas logo percebo que não é possível ler arquivos que não são agrupados como raiz e arquivos sem a permissão de leitura para a raiz do grupo. Minha pergunta agora é: o grupo raiz serve alguma finalidade especial? E qual é a prática comum para fazer backup de um servidor remoto (raiz ou não raiz)?

    
por Question Overflow 05.02.2013 / 13:55

3 respostas

6

O grupo "raiz" não tem um propósito especial, pois tem um propósito geral - cada arquivo tem que ser de propriedade de um usuário e um grupo, e "root" está lá como uma espécie de grupo padrão para arquivos de propriedade do usuário root que não se enquadram em outras categorias, como wheel (semi-old school) ou bin. (Isso não é puramente factual, é uma dose pesada de opinião pessoal apoiada por experiência.) Para backups, como disse jordanm, você provavelmente precisará usar permissões de usuário root.

    
por 05.02.2013 / 14:57
2

Aqui está um artigo que já aborda o grupo 0 parte da sua pergunta .

Prática Comum

Bem, eu não tenho certeza, mas isso é o que eu fiz, e agradeço comentários / melhorias / sugestões.

Recentemente, configurei um backup remoto para um site drupal de clientes, meu servidor de backup centralizado acessava um servidor remoto e o puxava. Eu segui este princípio.

  • Criado um usuário (no controle remoto) que eu queria usar como administrador, esse usuário tinha permissão para fazer login via ssh, mas não usando uma senha, somente por meio de uma chave pública / privada. (o que você precisa manter em segurança e backup em seu local de administração).
  • Login raiz desativado via ssh, no controle remoto.
  • Permitiu que meu usuário administrador se tornasse root por meio do sudo.

Observe que o usuário que usaria isso é eu e não estou no servidor de backup. Então usei isso para configurar o backup abaixo.

Agora, posso admin remote, root não consigo fazer login apenas no meu usuário admin especial e somente através de certificados de chave.

  • Criado um usuário de backup (o usuário que executará os backups) no local remoto e local, não era o mesmo nome de usuário, chamei-a de algo um pouco incomum (no controle remoto), portanto, mesmo que a chave foi obtido, eles precisariam adivinhar o nome do usuário remoto também. O usuário não é privilegiado e não pôde acessar os diretórios (ou despejar o banco de dados sem senha) no controle remoto.

  • Eu permiti que este usuário no controle remoto executasse um comando em / etc / sudoers myobscurebackupuser ALL = NOPASSWD: / usr / bin / rsync

  • No meu servidor de backup central, sob o usuário (que novamente não é privilegiado), eu armazeno a chave pública / privada e o script de backup que desejo executar. Somente esse usuário pode obter acesso a scripts / chaves para leitura (bem além do root).

  • meu backup foi duas etapas
  • Etapa 1 %código% _Nota A primeira metade é executada no remoto (até o gzip), e a segunda metade é executada localmente.

  • Etapa 2: estrutura de diretórios remotos do rsync

A senha e o despejo do banco de dados não são armazenados no remoto, eles são passados pela conexão ssh. O db_dump é canalizado diretamente para o gzip, que o envia de volta ao stdout. Eu canalizo isso através do gunzip e direciono o stdout para o arquivo db dump local.

    
por 05.02.2013 / 15:42
1

Quando eu geralmente tenho que trabalhar como root, eu faço comandos ssh assim:

# ssh [email protected] "hostname ; sudo -S some_backup_script.sh"

Ele permite o registro da atividade do sudo e a capacidade de usar a permissão sudo para restringir strongmente o que o usuário do 'sudo' efetuando login pode fazer. É uma prática excelente ter esses tipos de tarefas automatizadas, com usuários específicos do sistema implementados para essas funções específicas; ou seja, o usuário de backup pode usar tar & gzip, e gravar em um diretório / tmp, mas negou o acesso a cat, vim, etc (essencialmente comandos que permitem imprimir dados sensíveis.)

    
por 05.02.2013 / 22:45