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.
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.
[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.
[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?
[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?
[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.
[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.
[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.
[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.
[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.
[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
[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.
[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.