Estou configurando uma VM do servidor Ubuntu 11.04 para uso como servidor de banco de dados. Tornaria a vida de todos mais fácil se pudéssemos fazer o login das pessoas usando credenciais do Windows e talvez até fazer a máquina funcionar com a segurança atual baseada em AD que temos em outro lugar.
A primeira parte disso foi realmente fácil de realizar - apt-get install likewise-open
e eu estava praticamente nos negócios. O problema que estou enfrentando é colocar nossos administradores nos grupos de sudoers - não consigo obter nada para levar. Eu tentei:
a) usermod -aG sudoers [username]
b) adicionando os nomes de usuário em vários formatos (DOMÍNIO \ usuário, usuário @ domínio) ao arquivo sudoers.
Nada disso pareceu levar, ainda me disseram "DOMAIN \ user não está no arquivo sudoers. Este incidente será relatado".
Então, como adiciono usuários não locais aos sudoers?
fonte
%Domain^Admins ALL=(ALL) ALL
O problema com as outras sugestões é que
Em vez disso, eu queria algo que
A solução real está usando SSSD e estendendo o esquema do AD. Dessa maneira, o SSSD busca configurações do sudo e credenciais do usuário periodicamente no AD e mantém um cache local delas. As regras do sudo são então armazenadas nos objetos do AD, onde você pode restringir as regras para computadores, usuários e comandos - tudo isso sem nunca tocar em um arquivo do sudoers nas estações de trabalho.
O tutorial exato é longo demais para ser explicado aqui, mas você pode encontrar o guia passo a passo e alguns scripts para ajudar na automação aqui:
TL; DR:
DE ANÚNCIOS
Pegue a versão mais recente do sudo , obtenha o arquivo doc / schema.ActiveDirectory e importe-o (certifique-se de modificar o caminho do domínio de acordo com o seu nome de domínio):
Verifique-o com o ADSI Edit: abra o contexto de nomenclatura do esquema e procure a classe sudoRole .
Agora crie a UO sudoers na raiz do seu domínio, esta UO manterá todas as configurações do sudo para todas as suas estações de trabalho Linux. Sob esta UO, crie um objeto sudoRole. Para criar o objeto sudoRole, você precisa usar o ADSI Edit, mas, uma vez criado, você pode usar Usuários e Computadores do Active Directory para modificá-lo.
Vamos supor que eu tenho um computador chamado foo32linux , um usuário chamado stewie.griffin e eu quero que ele execute todos os comandos com o sudo nesse comp. Nesse caso, eu crio um objeto sudoRole na UO sudoers . Para o sudoRole, você pode usar qualquer nome que desejar - eu continuo com o nome do computador, pois uso regras por computador. Agora defina seus atributos da seguinte maneira:
Para comandos, você também pode usar entradas específicas, como / bin / less ou qualquer outra coisa.
SSSD
Adicione ao seu /etc/sssd/sssd.conf , pelo menos:
O SSSD atualiza seu cache local com as regras atualizadas a cada poucas horas, mas a maneira mais simples de testá-lo é apenas reiniciar o computador. Em seguida, efetue login com o usuário AD e verifique:
Ele deve listar todas as entradas relacionadas que você adicionou a esse usuário e computador. Mole-mole!
fonte
A melhor informação que pude encontrar sobre o assunto está aqui:
http://www.mail-archive.com/[email protected]/msg00572.html
Ele basicamente pede que você modifique seu
/etc/sudoers
arquivo com a configuração correta para permitir que as pessoas no grupo de seu administrador no AD tenham acesso a todos os privilégios.Se você precisar ser seletivo e restringir pelo usuário, também poderá fazê-lo. Mas ele avisa que você deve ter certeza de descobrir qual é o nome do usuário no sistema linux usando o
getend passwd
comando conforme mostrado.fonte
Usando o Centify direct , adicionei usuário de domínio ao arquivo / etc / sudoers.
(Usuário do domínio) ALL = (ALL) ALL
fonte
Eu uso o comando comum
e substitua
DOMAIN\user
porDOMAIN\\\username
.fonte