Quarta, 3 de dezembro de 2008 Textos via RSS Comentários via RSS Textos por e-mail Celular

Configurando administradores de domínio no Samba

Data 11/09/2007, 17:28
Autor Daniel Carmo Olops
Comentários 12 comentários

Comentários   Compartilhar

Este artigo visa explicar o que é e como configurar administradores de domínio no Samba. Um exemplo de uso prático é quando você quer que determinadas pessoas possam instalar programas - isto é, ter privilégios de Administrador - em qualquer máquina do domínio.

Esta é uma nova versão do artigo, baseada no Samba 3.0.25c e na distribuição Debian Etch 4.0. Muitos dos procedimentos aqui podem ser realizados em outras distribuições Linux sem grandes alterações.

Se você é do tipo apressado, você pode pular o tópico “Teorizando”. Mas é quase certo que você terá dificuldades em entender o que está sendo feito sem ler esta parte… =)

Teorizando…

Quem conhece um pouco o Samba sabe que ele pode funcionar como controlador de domínio, isto é, atuar como um repositório de contas de usuário para uma rede de computadores Windows. O que nem todo mundo sabe é que o Samba é baseado na tecnologia do Windows NT Server, logo ele possui muitos recursos advindos dele, e um deles é o suporte completo a grupos. No NT, cada grupo tem um SID (Security Identifier), mas normalmente usamos o RID (Relative Identifier) para identificá-los.

Os principais grupos de usuários de um domínio NT, bem como seus respectivos nomes, RIDs e grupos locais correspondentes, são:

Grupo NT Descrição RID Grupo correspondente
DOMAIN ADMINS Administradores de domínio 512 Administradores
DOMAIN USERS Usuários de domínio 513 Usuários
DOMAIN GUESTS Convidados de domínio 514 (nenhum)

Obs.: o “Domain Guests” não é mapeado para o grupo “Convidados”, como esperado. Ainda não descobri o porquê…

Ao ser configurado como membro de um domínio, o Windows NT/200x/XP insere estes grupos dentro de seus correspondentes locais (vide tabela acima), para que o grupo do domínio tenha os mesmos privilégios do grupo local. Por padrão, nenhum destes grupos NT têm um correspondente no Linux. Isto quer dizer que nenhum destes mapeamentos realizados pelo Windows surtirá efeito até que você diga ao Samba quais são os grupos correspondentes no Linux. Ou seja, você precisa especificar quais grupos do sistema (Linux) representam os grupos NT (Samba). Segundo o HOWTO oficial, este mapeamento precisa ser feito para assegurar o bom funcionamento do domínio. Portanto, iremos efetuar o mapeamento dos 3 grupos, embora o mais útil para este artigo seja o Domain Admins. Existem outros grupos, tais como “Usuários avançados”, “Operadores de cópia”, entre muitos outros, mas estes não são considerados essenciais, e sua configuração não será abordada aqui.

Configuração do Linux

Tudo o que precisamos fazer no Linux é criar os grupos que serão mapeados para os seus respectivos no Samba. Isto é feito com o comando groupadd. No caso, nós iremos criar os grupos ntadmin, ntuser e ntguest. Ou seja:

# groupadd ntadmin
# groupadd ntuser
# groupadd ntguest

Você pode aproveitar grupos existentes, como o “root” no lugar de “ntadmin”, “users” no lugar do “ntuser”, e “nogroup” no lugar de “ntguest”. Mas particularmente, eu não acho bom negócio misturar grupos do sistema com grupos específicos do Samba, especialmente no primeiro caso. Isto fica a seu critério.

Configuração do Samba

Agora falta mapear os grupos criados no Linux aos grupos do Samba. Isto é feito com o comando net. Deve-se especificar o grupo Windows, o grupo NT, o RID, o tipo de grupo (domínio/local/embutido), e um comentário (opcional). Ou seja:


# net groupmap add ntgroup="Domain Admins" unixgroup=ntadmin rid=512 type=d comment="Administradores"
# net groupmap add ntgroup="Domain Users" unixgroup=ntuser rid=513 type=d comment="Usuários"
# net groupmap add ntgroup="Domain Guests" unixgroup=ntguest rid=514 type=d comment="Convidados"

O próximo passo é cadastrar os usuários novos e existentes nestes novos grupos.Para novos usuários, ao cadastrá-lo no Linux (comando useradd), defina seu grupo primário (parâmetro -g) como sendo um destes 3 grupos. Exemplo:
# useradd -g ntadmin daniel

Para usuários já existentes, você deve modificar o grupo primário com o comando usermod, também usando o parâmetro -g. Em seguida, você precisa modificar o grupo do usuário no Samba, com o pdbedit, usando o RID do grupo desejado como parâmetro. Exemplo:

# usermod -g ntadmin daniel
# pdbedit -r -G 512 -u daniel

Isto fará com que o usuário “daniel” passe a fazer parte do grupo “Domain Admins”, RID 512. Confira a saída do comando pdbedit, e no final da linha “Primary Group SID”, veja se o final corresponde ao RID especificado.Para testar as alterações, faça logoff, caso esteja logado, efetue logon e verifique, caso o usuário em questão tenha sido cadastrado em Domain Admins, se você consegue efetuar tarefas administrativas, como instalar programas.Se não der certo, releia este artigo e cheque cada passo; certamente algo não foi feito =) Mas sinta-se à vontade para acessar o fórum e questionar a respeito das instruções passadas aqui.

Referências:

Quem escreveu? Daniel Carmo Olops

Daniel Carmo Olops. Sou graduando em Ciência da Computação, e atualmente trabalho para a Faculdade de Jaguariúna na área de Informática, administrando servidores Linux e também as atividades do setor. Tenho uma relação de quase 10 anos com a informática, e tenho conhecimentos em diversas áreas e softwares, a maioria deles adquirido em fóruns ou através de empirismo (o chamado "se vira").

Textos relacionados

Most Commented Posts

Comentários

Finalmente uma dica de Linux!
Tomara que depois dessa venham muitas outras dicas.

[Responder]

opaaa
muito bom, poderiam fazer guia para iniciantes em linux!

uma curiosidade, qnts novos administradores tem o GdP?

[Responder]

Acho que é aberto ao público, huahuahuhua, já vi 4 postando, no WinAjuda era apenas 1 e administrava super bem, era ótimo, até que gostei da troca, mas…

Abraço.

[Responder]

@ Willian

Obrigado pelo elogio, Willian, haha :D.

Sobre a nossa equipe, até agora são quatro editores fixos.

[]’s!

[Responder]

Hmm, está bem!

hehe

Abraço.

[Responder]

Pow, que legal, é isso aí, espero que essa mudança do Winajuda para Guia do PC só deixe o site cada vez melhor.

[Responder]

Poxa cara .. eu ja botava fé no Winajuda qaundo descobri o site .. Agora mesmo na Evolução Com “Guia do Pc” so tende a melhorar.. Muito boa a Dica Vo testa aqui com o Ubuntu.. Sera que funfa..?? haha Abraçoo ai Pessoal. Espero mais dicas de Linux…

[Responder]

Adorei esse espaço dedicado a dicas Linux! o WinAjuda já fazia um grande trabalho com dicas de Windows. Espero que isso se repita e melhore ainda mais com as dicas de linux. Parabéns!!

[Responder]

opa interrssante agora tem mencao a linux aki tb, é isso ae, isso queeu digo qdo me referi a melhorias tem o algo mais ja c\ a mudança,continue assim

[Responder]

espero que engordem bastante a sasessão linux

[Responder]

Obrigado pela dica, muito didático.

Ainda não tive tempo de testar, mas muito melhor que ficar logando na máquina para fazer as mudanças e depois logar no domínio.

Vlww

[Responder]

Muito boa a dica

Obricado
Valter

[Responder]

Envie um comentário