A tarefa de administração de 'root' pode ser dividida entre vários usuários “mais poderosos”?

1

Ao contrário de root (que é capaz de fazer tudo), é possível ter vários administradores designados para gerenciar apenas parte de um sistema?

Por exemplo, um sistema pode ter 3 administradores:

  • Application Administrator - Ele pode instalar ou remover programas, mas não pode alterar as configurações de rede nem adicionar ou excluir um usuário
  • Network Administrator - Ele pode configurar as configurações de rede, mas ele não pode instalar um programa ou adicionar / excluir usuários.
  • User Administrator - Ele pode adicionar ou excluir usuários, mas não pode instalar um programa ou definir configurações de rede.

Os 3 administradores só devem ser capazes de administrar a tarefa à qual estão atribuídos, portanto, dar a eles toda a conta root não é desejável, pois isso permitirá que eles interfiram nos trabalhos uns dos outros.

Qual é a maneira correta de abordar essa divisão?

    
por orange orange 19.03.2015 / 18:29

4 respostas

2

Você precisa ter alguém com acesso à conta root para fornecer privilégios adicionais. Além disso, você pode usar sudo para limitar áreas de controle de efeito para outros administradores sem fornecer a eles raiz. Mas no geral, o que você está descrevendo parece ser mais uma questão de política / treinamento do que uma questão técnica. Contrate a equipe certa, e eles não ficarão no caminho um do outro, eles ajudarão uns aos outros quando necessário.

    
por 19.03.2015 / 18:32
1

O sudo tem maneiras de dar aos usuários acesso a alguns, mas não todos, comandos através do sudo.

Você pode usar o comando visudo para editar com segurança o arquivo / etc / sudoers, com alguma verificação de sintaxe antes que o arquivo seja realmente salvo.

Dentro do arquivo, você pode adicionar uma linha como %código% para dar acesso Mike ao aptitude e apt-get através do sudo, mas não quaisquer outros comandos.

Observe que isso não é muito seguro. Os programas geralmente assumem que, se estiverem sendo executados como root, quem executá-los tem acesso root completo, para que eles não tenham proteção especial contra explorações. Enquanto o comando está em execução, o usuário está logado como root, e algumas vezes há truques para executar comandos arbitrários enquanto ainda está sendo root. Você não deve fazer isso para usuários que não confia, mas para o seu caso de uso, parece bem.

Detalhes retirados daqui: link

    
por 19.03.2015 / 19:15
1

O simples fato é que, se uma pessoa puder instalar programas arbitrariamente, provavelmente poderá instalar um programa que será executado sob privilégios de root, para que possa instalar programas que lhes concedam outros tipos de acesso. Ou seja, qualquer pessoa que possa instalar ou modificar algo que seja executado como root, é ou pode facilmente tornar-se root.

Se você quiser separar a sua autenticação, você realmente deve estar olhando para alguma forma de serviço de diretório centralizado que é gerenciado apenas por seus administradores de autenticação. Portanto, não permita que ninguém crie usuários locais e crie um sistema que exclua / sinalize qualquer usuário local criado. Em seguida, basta vincular todos os sistemas ao seu diretório central.

Atualmente, a maioria dessas tarefas provavelmente deve ser tratada indiretamente com um sistema de gerenciamento de configurações sempre que possível. Você poderia, então, implementar algum tipo de verificação no seu sistema de gerenciamento de configuração que permita apenas que certos grupos gerenciem certas coisas. Talvez você possa simplesmente ter algum ser humano que aprova alterações nos arquivos de gerenciamento de configuração antes que eles sejam aplicados aos sistemas de produção. Essa pessoa então checaria que cada mudança está sendo feita por uma pessoa autorizada.

    
por 19.03.2015 / 21:04
0

O Sudo seria a ferramenta de escolha e você poderia dividir os acessos por grupo.

Crie os três grupos que você deseja, pois os administradores adicionam os usuários que você deseja em cada grupo.

Defina seus aliases de comando em / etc / sudoers

Cmnd_Alias APPADM = /usr/bin/yum
Cmnd_Alias USEADM = /usr/sbin/useradd
Cmnd_Alias NETADM = /usr/bin/service network *

E o grupo acessa

%appadm ALL=(root) APPADM
%useadm ALL=(root) USEADM
%netadm ALL=(root) NETADM

Algo assim deve funcionar.

    
por 19.03.2015 / 22:10