Configurando o Samba como PDC da rede
Existem vários motivos para configurar o Samba como Controlador Primário de Dominio.
Mas um bom motivo é que é muito massante/trabalhoso/”sacal” ter que configurar as contas dos usuários em todas as estações. Então vamos configurar o Samba para ser o nosso PDC, centralizando as autenticações, assim quando adicionarmos um usuário ao samba, ele poderá se logar em qualquer estação do domínio.
Vamos também mapear diretório “home” de cada usuário para o armazenamento de documentos. Além de todas as outras funcionalidades do Samba.
Você também pode configurar o samba para guardar o perfil de cada usuário, assim todas as configurações do usuário (Desktop, Favoritos, etc..) estarão disponíveis em qualquer maquina que ele se logar, mas isso pode ser prejudicial pois se os usuários tiverem o costume de colocar arquivos grandes na “Área de Trabalho” isso aumentará o trafego na rede. Por esse motivo não usaremos a opção de “perfil remoto”.
Mãos a obra (ao teclado)!
Primeiro precisamos configurar o samba (parto do principio que o samba ja esteja instalado):
#smb.conf por gfavaro #arquivo de configuração do Samba #como PDC da rede. #Aqui definiremos como o samba irá funcionar [global] #Define o grupo de trabalho. Você pode colocar todas as máquinas da rede # num mesmo grupo de trabalho ou agrupa-las, por exemplo, por setor. workgroup = MeuDominio #Define o nome com o nome do Host na rede netbios name = MeuNome #Define o texto que será exibido no "Ambiente de Rede" server string = %h server (Samba %v) #As linhas abaixo caracterizam nosso Samba como PDC da rede. domain master = yes domain logons = yes logon script = netlogon.bat #Desabilita perfil remoto logon path = #Aqui você pode especificar parâmetros para uma melhor performance. #otimizamos para uma rede local e tranferências de arquivos. socket options = IPTOS_LOWDELAY TCP_NODELAY # **Importante** # para configurar o samba como PDC essa linha precisa ser comentada: # invalid users = root #Habilita ao samba "escutar" somente em algumas interfaces. #A opção "interfaces" define as interfaces :-) bind interfaces only = True interfaces = eth0 #Define quais hosts não terão acesso ao samba. #Você pode especifcar um ou mais hosts especificos ou ainda #bloquear todos e liberar somente alguns com a opção abaixo. hosts deny = ALL #Define quais hosts terão acesso ao samba. #Você pode especifcar um ou mais hosts especificos como também #toda uma rede (192.168.0.) hosts allow = 192.168.1. 127.0.0.1 #Define mascara de criação de arquivos e pastas. create mask = 0644 directory mask = 0755 #Define o nível de segurança, pode ser user ou share #share: A segurança é baseada no compartilhamento (estilo Win98) #o usuário tem que digitar a senha de compartilhamento. #user: A segurança é baseada no usuário logado no sistema. security = user #Essa opção deve ficar sempre configurada como "yes" #pois todas as versões de windows após o 95, utiliza #criptografia (mesmo que fraca). encrypt passwords = yes #Sempre que um host se conecta na rede é feita uma eleição #pra decidir qual host será o "Master Browser" (responsável #pela tabela de compartilhamento.) Colocando uma opção alta #o host com samba sempre será ganhar a eleição e isso importante. #Caso contrario você poderá ter problemas ao acessar os #compartilhamentos através de máquinas windows. #Também deixe as opções "Local Master" e "Preferred Master" como "Yes". os level = 100 preferred master = yes local master = yes # Compartilhamentos: # Aqui vai a configuração das pastas compartilhadas. # # O nome do Compartilhamento, como aparecerá no ambiente de redes. [pub] # A pasta local que está sendo compartilhada. path = /home/pub # Define se o compartilhamento estará disponível available = yes # Define se o compartilhamento aparecerá na rede ou ficará oculto browseable = yes # Define que o compartilhamento estará disponivel para leitura e escrita. writable = yes #netlogon é onde ficarão os scripts de logon [netlogon] comment = Servico de Logon path = /var/spool/samba/netlogon guest ok = Yes browseable = No #Vamos também compartilhar a pasta pessoal de cada usuário. [homes] comment = Diretorio Home valid users = %S guest ok = Yes browseable = No
Altere a configuração acima de acordo com a sua rede.
Depois de editar o arquivo de configuração, vamos criar a estrutura necessária.
- Vamos criar a pasta /var/samba/netlogon, onde vão ficar os scripts de logon:
# mkdir -p /var/samba/netlogon # chmod 775 /var/samba/netlogon
- Podemos criar, também, a pasta profile.pds dentro de /etc/skel/.
A pasta profile.pds é onde o Windows armazena as informações de sessão de cada usuário.
Colocando ela abaixo de /etc/skel/ ela será criada para todo usuário que for adicionado ao sistema.
# mkdir -p /etc/skel/profile.pds
- Agora vamos cadastrar todas as máquinas que terão acesso ao dominio. Isso é necessário para que elas tenham uma relação de confiança com o servidor do Dominio. Repare que nomes de máquinas tem que ser cadastrados com “$” no final.
# groupadd maquinas # useradd -g maquinas -d /dev/null -s /bin/false maquina01$ # passwd -l maquina01$ # smbpasswd -a -m maquina01
- Vamos criar um grupo para os usuário que terão acesso administrativo nas estações windows.
# groupadd ntadmin
- Agora precisamos mapear o grupo “Domain Admins” do Samba para o nosso grupo ntadmin
# net groupmap add ntgroup="Domain Admins" unixgroup=ntadmin rid=513 type=d
obs: Use “modify” caso o grupo ja exista, caso contrario o Samba irá criar outro
- Depois de cadastrar todas as máquinas do dominio, vamos cadastrar os usuários que terão acesso a elas.
# useradd -g users -G ntgroup -d /home/usuario01 -m -c "usuario01" usuario01 # passwd usuario01 # smbpasswd -a usuario01
obs: Para cadastrar um usuário como administrador, basta adicioná-lo ao grupo “ntadmin” com a opção “-g”
Tha’s all folks!
Depois de tudo isso feito o samba ja deve estar sendo reconhecido como PDC. Resta agora configurar as estações para logarem no dominio. Bom divertimento
Dúvidas e sugestões, não se acanhem os comentários estão aí pra isso! mas podem entrar em contato comigo pelo email também.
E de brinde você ganha uma Tabela de Grupos e RIDs Do windows:
| Nome do Grupo | RID | Tipo | Essencial |
|---|---|---|---|
| Domain Administrator | 500 | User | No |
| Domain Guest | 501 | User | No |
| Domain KRBTGT | 502 | User | No |
| Domain Admins | 512 | Group | Yes |
| Domain Users | 513 | Group | Yes |
| Domain Guests | 514 | Group | Yes |
| Domain Computers | 515 | Group | No |
| Domain Controllers | 516 | Group | No |
| Domain Certificate Admins | 517 | Group | No |
| Domain Schema Admins | 518 | Group | No |
| Domain Enterprise Admins | 519 | Group | No |
| Domain Policy Admins | 520 | Group | No |
| Builtin Admins | 544 | Alias | No |
| Builtin users | 545 | Alias | No |
| Builtin Guests | 546 | Alias | No |
| Builtin Power Users | 547 | Alias | No |
| Builtin Account Operators | 548 | Alias | No |
| Builtin System Operators | 549 | Alias | No |
| Builtin Print Operators | 550 | Alias | No |
| Builtin Backup Operators | 551 | Alias | No |
| Builtin Replicator | 552 | Alias | No |
| Builtin RAS Servers | 553 | Alias | No |
A frente e avante!!
Diegão
10 Junho, 2007 em 5:56 pm
ow q massa!!
curti o seu SITE..(sei q é blog ..mas prefiro chamar de site….questaum de dignidade..).
ow t++…
wandeco
13 Julho, 2007 em 2:27 am
Gostei muito do seu post !
Queria que me tirasse uma dúvida.
é o seguinte: Tenho que manter um profile para todos usuários !
Essa smb.conf resolveria meu problema ??
Carlos Eduardo
21 Janeiro, 2008 em 2:38 pm
Eeeeee rodelinha ;D
sasauhhsua
Como sempre falo, tu é um “pai” no Linux pra mim velho.
Fico massa esse artigo de configuração do Samba :)
Abraços velho!
Dezão
1 Fevereiro, 2008 em 10:02 pm
cara estou tendo problemas em um passo
————–
* Depois de cadastrar todas as máquinas do dominio, vamos cadastrar os usuários que terão acesso a elas.
# useradd -g users -G ntgroup -d /home/usuario01 -m -c “usuario01″ usuario01
# passwd usuario01
# smbpasswd -a usuario01
obs: Para cadastrar um usuário como administrador, basta adicioná-lo ao grupo “ntadmin” com a opção “-g”
—————
aqui estou tendo:
useradd: groupo ntgroup descoinhecido
(sou novato no linux)
se pudesse me dar uma mão agradeceria
rodrigo
25 Maio, 2009 em 10:33 am