Configurando administradores de domínio no Samba

Muitas pessoas possuem dúvidas sobre como configurar o PDC Samba de forma que um usuário tenha privilégios administrativos nas estações Windows do domínio. Este artigo explica a "maneira correta" de se fazer isto, fazendo-se mapeamentos entre grupos Windows e *NIX.

[ Hits: 142.056 ]

Por: Daniel Carmo Olops em 25/01/2005


Preliminares



O PDC Samba é baseado na tecnologia do Windows NT Server, logo ele possui todos os grupos de usuários do mesmo. Os principais grupos de usuários de um domínio NT são:
  • DOMAIN USERS: grupo de usuários do domínio. Os privilégios deste grupo são copiados do grupo "Usuários" das estações Windows;
  • DOMAIN GUESTS: grupo de usuários convidados do domínio. Obtém os mesmos privilégios do grupo "Convidados" das estações Windows;
  • DOMAIN ADMINS: grupo de administradores do domínio (é o que mais nos interessa neste momento). Copia os privilégios do grupo "Administradores" das estações Windows.

Quando falo em "obter" ou "copiar" privilégios, é exatamente esta a idéia: tudo o que é permitido ao grupo Usuários numa estação Windows é permitido ao grupo Domain Users, e assim por diante. Trata-se do conceito de HERANÇA (INHERITANCE).

Por padrão, nenhum destes grupos têm um correspondente no Linux. Segundo o HOWTO oficial do Samba, estes grupos precisam ter um correspondente no Linux para assegurar o bom funcionamento do domínio. Os demais grupos do Windows, tais como Operadores de Cópia, Usuários do Depurador, etc, não são essenciais ao domínio NT, portanto não serão abordados aqui.

    Próxima página

Páginas do artigo
   1. Preliminares
   2. Configuração do Linux
   3. Configuração do SaMBa
Outros artigos deste autor

Configuração automática (mesmo) de proxy com WPAD

Administrando seu servidor Samba com o User Manager

Leitura recomendada

Samba PDC com Debian Squeeze

Autenticando usuários Windows no Linux (PDC)

Bloqueando a gravação de arquivos no Samba por extensão

Serviço alternativo de baixo custo: Samba + Windows XP + registros de bloqueio

Ubuntu 12.04 autenticando no Active Directory com Samba/Kerberos/Winbind

  
Comentários
[1] Comentário enviado por fabio em 25/01/2005 - 01:12h

Nem sabia que existia esse recurso no Samba. Na verdade acho que nunca imaginei isso por nunca ter sido usuário ou administrador de uma rede Windows.

Achei muito bacana esse recurso, se eu soubesse disso antes teria usado numa instalação que fiz no mês passado :)

Parabéns pelo artigo Daniel. Ah, e parabéns pelo português empregado também.

[]'s

[2] Comentário enviado por gelemeurer em 25/01/2005 - 15:55h

Legal, vai pros favoritos!

[]s

GM

[3] Comentário enviado por removido em 14/03/2005 - 23:21h

Olá amigo!

Primeiramente parabens pela exelente qualidade do artigo!.

Amigo só uma duvida esses direitos de administrador, seria por exemplo o usuario alterar, deletar e inserir arquivos em qualquer pasta?.

[4] Comentário enviado por Ragnarök em 15/03/2005 - 11:17h

Isso mesmo. Ao dar permissões de administrador para algum usuário no domínio, ele poderá alterar arquivos alheios e configurações de sistema em qualquer máquina da rede 8-) Ou seja, ele adquire as permissões da conta Administrador, só que em qualquer máquina do domínio.

[]s

[5] Comentário enviado por pr02nl em 14/06/2006 - 14:36h

Olá amigo, primeiramente parabens pelo artigo!
Gostaria de saber como eu faço para dar a todos os usuarios do meu dominio o privilegio de usuario avançado do windows!
Quando adiciono um novo usuario no samba automaticamente ele é um usuario comum do windows, mais eu queria que ele fosse um usuario avançado, como faço isso?

[6] Comentário enviado por Ragnarök em 16/06/2006 - 09:31h

Isto é possível, mas dá um pouquinho de trabalho... Dê uma olhada neste link (em Inglês, não conheço tradução dele para o Português):

http://us1.samba.org/samba/docs/man/Samba-HOWTO-Collection/NetCommand.html#autopoweruserscript

[]s

[7] Comentário enviado por pr02nl em 16/06/2006 - 15:14h

Eu fiz a mesma coisa que vc fez no seu tutorial, trocando apenas ntgroup="Domain Admins" por ntgroup="Power Users", parece que funcionou!
Valeu!

[8] Comentário enviado por nissieloin em 10/08/2006 - 09:26h

Muito bom mesmo este artigo, achei interessante e vai ajudar muito no meu dia-a-dia... Já tá no favoritos.

[9] Comentário enviado por coffani em 22/09/2006 - 09:15h

Kra eu estava procurando por isso ja faz mais de uma semana, meu chefe ta querendo isso...

Valeu pelo tutorial, parabéns ficou muito bom, simples e bem explicado.. Parabéns mesmo.

[10] Comentário enviado por Yrrak em 16/08/2007 - 10:04h

?comentario= Bom dia,
Estou com um problema aqui, achei que seu artigo me ajudaria mas não deu certo mas ainda teimo que meu probema tem relação a sua solução.

Tenho 2 usuários cadastrados no meu domínio (root e kurumin) o root está definido como administrador (admin users = root) e o kurumin faz parte do grupo de usuários administradores (domain admin group = @god). Mas quando logo num cliente com um desses 2 usuários eu não consigo instalar programas. Alguém sabe como resolvo este problema?

Obrigado

[11] Comentário enviado por israel_miranda em 30/11/2007 - 15:56h

Bem, a partir da versão 3.023 do samba, os grupos de domínio não são mais automaticamente criados. O que provavelmente está acontecendo é que a sua versão de samba é 3.023 ou superior, e esses grupos não existem. Crie o grupo "Domain Admins" no samba primeiro, para depois associa-lo a um grupo do linux, e adicione a esse grupo do linux os usuários que você deseja usar para administrar domínios.

http://us1.samba.org/samba/docs/man/Samba-HOWTO-Collection/NetCommand.html#id363412

[12] Comentário enviado por Ragnarök em 18/03/2008 - 19:47h

Atualizando o artigo:

Como o israel_miranda disse, a partir da versão 3.0.23, os grupos não são criados automaticamente, portanto o comando net deve ser usado com esta sintaxe:

- Administradores:
net groupmap add ntgroup="Domain Admins" unixgroup=god rid=512
- Usuários:
net groupmap add ntgroup="Domain Users" unixgroup=ntuser rid=513
- Convidados:
net groupmap add ntgroup="Domain Guests" unixgroup=ntguest rid=514

Obs.: o que vai no parâmetro unixgroup varia de acordo com a sua configuração, ou você pode criar o seu padrão. Hoje em dia, eu uso "ntadmin" para administradores, "ntuser" para usuários e "ntguest" para convidados. Claro que estes grupos precisam existir antes, e para que o privilégio adequado funcione, o usuário precisa ter um destes grupos como o seu primário.

[]s

[13] Comentário enviado por israel_miranda em 19/03/2008 - 11:02h

Ragnarök, o usuário não precisa ter um destes grupos como primário.
Ao menos na rede que eu administro, o usuário administrador do domínio tem outro grupo primário que não está mapeado no samba, e executo todas as operações de administração com esse usuário normalmente.

[14] Comentário enviado por Ragnarök em 19/03/2008 - 14:19h

Israel, creio que a questão aqui é mais de boas práticas mesmo =) O que você falou deve funcionar mesmo (não testei), mas o ideal é que:
- Todos os grupos dos quais os usuários fazem parte estejam mapeados para o Samba, e não apenas os 3 principais;
- O grupo primário do usuário seja um dos 3: Domain Admins, Domain Users ou Domain Guests.

[]s

[15] Comentário enviado por israel_miranda em 19/03/2008 - 18:18h

A questão seria mais de necessidade.
Eu prefiro separar o grupo de domínio do samba do grupo do unix, por que o usuário adminstrador do domínio, é o mesmo usuário que uso para administrar o servidor, e prefiro ter o grupo com o mesmo nome do usuário, para que caso algum dia, eu delegue o direito de administrar domínios a um usuário do samba, ele não ganhe direito de "administrar"/modificar os arquivos do usuário administrador da máquina linux. Isso é muito relativo e depende da organização e hierarquia de usuários da rede.
Mas se você quer que todos os adminstradores de domínio também administrem a máquina do samba, se a máquina for exclusiva para isso pode ser uma boa. Não faço isso porque no meu caso essa mesma máquina tem outros serviços que eu restrinjo o direito de administração, por isso separo os grupos.

[]'s

[16] Comentário enviado por israel_miranda em 19/03/2008 - 18:20h

Esqueci de comentar, é mais porque o sudo está ligado para esse usuário, eu particularmente não uso sudo, mas meu chefe usa e pediu que eu instalasse, e eu configurei o sudo para o grupo administradores do qual o usuário dele faz parte também.

[17] Comentário enviado por Ragnarök em 20/03/2008 - 09:07h

Na verdade, com o esquema que sugeri, o administrador Windows não pode acessar os arquivos dos outros ou administrar o servidor. Isto só é possível se de alguma forma ele tiver permissão aos arquivos alheios, se eu usar a diretiva "admin users" ou se ele tiver UID=0. Mas como você disse, organização é muito relativo.

[]s

[18] Comentário enviado por israel_miranda em 20/03/2008 - 10:24h

Sim, mas acho que você não entendeu o meu caso.
No meu caso, o mesmo servidor que tem o samba, os usuários tem acesso ssh ao servidor para fazer algumas operaçoes. No meu caso, uso o grupo administrador para delegar direitos administrativos ao servidor, pois algumas configurações estão atreladas a esse grupo, por isso eu tenho outro grupo para administrar somente o domínio do samba.

Ragnarök, você usa alguma ferramenta para administrar o samba?
como o swat, o tal do gadmin-samba, ou alguma outra? Administro na mão mesmo, e as vezes sinto falta de uma ferramenta decente, mas todas essas que eu já usei não me satisfez muito, a melhorzinha que achei foi gadmin-samba.
[]'s

[19] Comentário enviado por Ragnarök em 20/03/2008 - 16:32h

Neste caso, você mapearia este outro grupo só de administração do domínio para Domain Admins, e o outro você criaria um mapeamento comum mesmo (sem especificar RID, e usando um nome de sua preferência), ou até deixaria de mapeá-lo.

Sobre a ferramenta, eu costumo administrar no braço mesmo. Quando muito, eu uso alguns scripts que eu montei aqui que automatizam a inclusão, alteração e exclusão. Mas uma ferramenta legal é o User Manager - inclusive, eu escrevi um artigo sobre ela:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=5444&pagina=1

[]s

[20] Comentário enviado por mcabral em 27/03/2008 - 15:38h

Meus Parabéns pelo artigo MUITO BOM !!!

Tenho o samba 3.0.23 rodando no OpenSuse 10.1 e funcionou beleza, só tem um pequeno problema (acho que deve ser fichinha, porém não consegui resolver), segue:

- Ao executar o USRMGR na máquina Windows, aparece os usuários do meu samba e abaixo deveria aparecer os grupos do meu samba, porém aparecem apenas os Domains Admins, Guests e Users que mapiei com o comando net groupmap passado no artigo. Minha dúvida é: Como faço para aparecer os outros grupos existentes no meu samba ? E outra: Quando crio um novo usuario ao clicar em OK para finalizar a criação ele emite uma mensagem de erro que diz "the following error occurred creating the user .." "não foi possível localizar o nome de grupo" ... Esse erro acredito estar relacionado ao não aparecimento dos grupos existentes no meu samba. Como devo proceder ?

Muito Obrigado e mais uma vez PARABÉNS PELO ARTTIGO !

[21] Comentário enviado por Ragnarök em 27/03/2008 - 17:42h

Valeu, mcabral =)

Como você disse, é bem provável que estes erros estão ocorrendo pelo fato dos demais grupos não estarem mapeados. Você pode mapeá-los com o net também, bastando apenas não especificar o RID, como hoje é feito com os "Domain *" da vida.

Aliás, eu tenho um artigo aqui que fala sobre o User Manager, não sei se você viu. O link é:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=5444&pagina=3

[]s

[22] Comentário enviado por mcabral em 28/03/2008 - 11:28h

Olá amigão ...

Lí o artigo sim e na verdade essa dúvida era pra ser lançada lá... Bem, pelo que entendi, me corrija se estiver errado, devo fazer o seguinte:

Já mapiei os grupos "Domains Admins " com o grupo "gerente" que possuo; o "Domains Users" com o grupo "om" que são todos os meus usuários com privilégios comuns de todos e o "Domains Guest" não usei. Gostaria de que me ajudasse no seguinte exemplo: tenho três grupos chamados: adm, inf e sec que são com direitos específicos nos seus respectivos grupos; Como devo mapeà-los ? Por favor me de um único exemplo. Eu posso mapear novamente um grupo que tenho no samba ao "Domains Users" ? como exemplo o meu grupo "adm" mapeà-lo ao "Domains Users" ? Essa é a dúvida.

RS ... Bem tomara que tenha entendido ... RS e agradeço mais uma vez pela atenção.

[23] Comentário enviado por Ragnarök em 28/03/2008 - 15:09h

Na verdade, é só fazer algo como:

net groupmap add ntgroup="Administracao" unixgroup=adm

Um grupo chamado "Administracao" surgirá no Windows, que está vinculado ao "adm" do Linux.

[]s

[24] Comentário enviado por mcabral em 28/03/2008 - 15:47h

Valeu Ragnarôk !!!

Ta funcionando que é uma beleza ... Mais uma vez Parabéns pelo Bom Trabalho.

Obrigado

[25] Comentário enviado por rosnei em 10/07/2008 - 21:28h

Muito bom o artigo e acabei achando mais sites que falam sobre o assunto deixo o link pra quem precisar

http://tetrixbr.blogspot.com/2007/09/mapeamento-de-grupos-unix-para-grupos.html


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts