You are on page 1of 99

1

425 Construindo Solues Samba com Implementaes Reais

Contedo do Curso

Samba: Viso geral e Histria Grupos de Trabalho x Domnios Conceitos, Arquitetura e Design Configurao do Samba Samba em Grupos de Trabalho Servidores PDCs, BDCs e Domain Members Configurao de um servidor PDC Manipulao de Usurios e Grupos ACLs PDC com Autenticao Centralizada Winbind

Histria

NetBIOS

Endereamento de estaes por nome Co-Desenvolvido pela IBM e Sytec Interface entre programas e hardware de rede Redirecionamento de I/O adicionado pela Microsoft e criao do SMB (CIFS) Posteriormente foi adicionado o servio de anncio (Browsing) e de autorizao e autenticao central

Histria

NetBIOS, SMB, Samba e Unix


Criado por Andrew Tridgell Compartilhar arquivos sobre NetBIOS para DOS Usado posteriormente para conectar uma mquina Windows com seu servidor

Funcionamento

Implementa 4 servios CIFS


Compartilhamento e Impresso Autenticao e Autorizao Resoluo de Nomes Anncio de Servios (Browsing) Smbd Nmbd

Daemons Distintos

Funcionamento

SMBD

Autorizao e Autenticao Compartilhamentos Acesso aos compartilhamentos Portas: 139 e 445 (TCP)

139: SMB sobre NetBIOS sobre TCP 445: SMB sobre TCP (sem encapsulamento)

Funcionamento

NMBD

Resoluo de Nomes

Broadcast Ponto-a-ponto

Browsing Portas: 137 e 138 (UDP)

137: Browsing, replicao de informaes de diretrio, netlogon, relaes de confiana, canal de comunicao seguro (WinNT Secure Channel) 138: Comunicao de datagramas NetBIOS

Funcionamento

Resoluo de Nomes

Broadcast

Mecanismo Original Envio de solicitaes para a rede Scooby, aonde est voc?

Ponto-a-Ponto

Estaes se registram com um servidor NBNS (NetBIOS Name Service) Registro de Nome Endereo

Funcionamento

Browsing

Eleio de um LMB (Local Master Browser) LMB mantm uma lista de servios oferecidos Alm de LMBs, podem existir DMBs (Domain Master Browsers) DMBs coordenam LMBs em redes e domnios diferentes Configurado manualmente Mantm lista de servios

WINS

10

Funcionamento
NetBIOS

Modos de Funcionamento

b-node (tipo 0x01): Apenas broadcast NetBIOS atravs de UDP p-node (tipo 0x02): Apenas Unicast NetBIOS (Ponto-a-Ponto) direcionado a um WINS m-node (tipo 0x04): Broadcast + Wins h-node (tipo 0x05): Wins + Broadcast

Padro: b-node

11

Funcionamento
NetBIOS

Nomes NetBIOS

16 caracteres, 16 bytes

15 caracteres ASCII 1 caractere como sufixo NetBIOS (MS)

Eleies LMB

Maior OS Level Opo Preferred Master Uptime (tempo online) Nome NetBIOS (ordem alfabtica)

12

Funcionamento

13

Funcionamento
Grupos de Trabalho

Autenticao Descentralizada Estaes contm listas prprias de autenticao e autorizao Configurao simples Difcil manuteno em redes maiores Servidor centralizado de autenticao e autorizao

Domnios

14

Instalao
Compilao dos fontes

Flexibilidade ltimas verses Maior dificuldade de administrao Guia para compilao:

http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/compiling.html

Instalao atravs dos pacotes fornecidos

15

Instalao
Instalar os pacotes do Samba: # apt-get install samba smbclient

O samba dever ser iniciado automaticamente. Verificar se os servios esto rodando: # /etc/init.d/samba status

16

Instalao
Tambm pode-se verificar o funcionamento atravs da existncia dos processos smbd e nmbd # ps -Af|grep -E '(smbd|nmbd)'

17

Instalao
Para parar os daemons: /etc/init.d/samba stop Para iniciar os daemons: /etc/init.d/samba start Para reiniciar os daemons: /etc/init.d/samba restart

18

Instalao
Arquivos principais

/etc/samba/smb.conf: Arquivo de configurao principal /var/lib/samba/*.tdb: Bases de armazenamento de dados do Samba

O samba armazena os dados em bases .tdb, o Trivial Database, que aceitam mltiplas escritas simultaneamente

19

Arquivos TDB
Persistentes

account_policy: polticas de de contas group_mapping: mapeamentos entre SID->grupos UNIX ntdrivers: informaes de drivers de impressoras instalados ntforms: informaes de forms de impressoras instalados ntprinters: configuraes de impressoras instaladas passdb: armazena informaes de contas SambaSAMAccount registry: esqueleto somente leitura de registro Windows secrets: armazena SIDs (identificadores), senha do LDAP e dados sensveis e crticos para o funcionamento do Samba. share_info: Armazena ACLs de compartilhamentos winbindd_idmap: base de mapementos de endereo do Winbind

20

Arquivos TDB
Temporrios

brlock: Informaes de byte-range locking de arquivos connections: Cache de informaes de conexes em uso para gerenciamento de nmero de conexes eventlog/*tdb: Cache de logs de sistema gencache: Cache de servidores WINS no-funcionais e dados de domnio login_cache: Cache de informaes de login e tentativas incorretas de senha messages: Armazena temporariamente mensagens sendo processadas pelo smdb netsamlogon_cache: Cache de estruturas de dados de logon perfmon/*.tdb: Informaes do contador de performance printing/*.tdb: Cache das filas de impresso schannel_store: Informaes criptogrficas de credenciais de sesses ativas sessionid: Dados genricos de sesso unexpected: Armazena pacotes recebidos que no so para os daemons do Samba) winbindd_cache: Cache de informaes de identidade recebidas pelo Winbind

21

Arquivos TDB
Gerenciamento

Pacote tdb-tools

tdbbackup Backup das bases .tdb tdbdump

Mostra o contedo de um .tdb tdbtool


Permite a edio de bases, verificao de integridade e realizao de testes

22

Arquivos TDB
Efetuar backup

tdbbackup [nome do arquivo] # tdbbackup /var/lib/samba/passdb.tdb

Verificar base e restaurar se corrompida

tdbbackup -v [nome do arquivo] # tdbbackup /var/lib/samba/passdb.tdb

23

Arquivos TDB
Visualizar contedo de um TDB (dump)

tdbdump [nome do arquivo] # tdbdump /var/lib/samba/passdb.tdb

24

Visualizando Pacotes
Pode-se visualizar o trfego NetBIOS capturando-se o trfego UDP: # tcpdump -nvvi eth0 udp and not port 53

25

Exerccio
Faa uma captura dos pacotes do Samba, reiniciando os servios

26

Configurao
smb.conf

Arquivo de configurao principal Dividido em sees (stanzas) Sees representam compartilhamentos ou meta-servios Pode ser editado manualmente ou atravs de ferramentas como o SWAT Sintaxe anloga aos arquivos .ini do Windows

27

Configurao
smb.conf

[Global]: Definies de todo o servidor Meta servios

[Homes]: Fornece um diretrio pessoal para cada usurio [Printers]: Fornece filas de impresso [IPC$]: Utilizado para Browsing e estabelecimento de conexes TCP/IP Acessados atravs de: \\nome\compartilhamento

[Compartilhamento]

28

Configurao
smb.conf

[global] workgroup = GRUPO netbios name = MAQUINA [compartilhamento] path = /tmp

29

Configurao
smb.conf

Tipos de Servidor

Controlador de Domnio

Primary Domain Controller (PDC) Backup Domain Controller (BDC) Active Directory Server Domain Controller AD Domain Server NT4 Domain Server

Membro de Domnio

Servidor Standalone

30

Configurao
smb.conf

Modos de Segurana

Negociado no estabelecimento da sesso


Servidor informa modos suportados Cliente seleciona o modo User Share Domain ADS (variao de User) (variao de User) (padro)

Implementaes Disponveis

31

smb.conf Modos de Segurana

Configurao

security = user

Cliente envia usurio e senha Servidor verifica credenciais e nome da mquina cliente Cliente monta compartilhamentos sem enviar novamente usurio e senha No feita nova autenticao para acessar recursos

32

smb.conf Modos de Segurana

Configurao

security = share

Cliente se autentica a cada solicitao (montagem de compartilhamento) Cliente envia a senha Usurio no explicitamente informado O servidor verifica a senha recebida contra cada usurio definido no compartilhamento Atualmente deprecated

33

smb.conf Modos de Segurana

Configurao

security = domain

Baseado em segurana a nvel de usurio Fornece autenticao centralizada Servidor possui uma relao de confiana Samba participar de um domnio como:

PDC Primary Domain Controller BDC Backup Domain Controller DMS Domain Member Server

necessrio ingressar no domnio

34

smb.conf Modos de Segurana

Configurao

security = ADS

Baseado em segurana a nvel de usurio Permite que o Samba ingresse em domnios Active Directory rodando em modo nativo. Necessria a utilizao de Kerberos

35

smb.conf Modos de Segurana

Configurao

security = server

Baseado em segurana a nvel de usurio Samba tenta efetuar log in no password server com as credenciais recebidas Altamente recomendado no utilizar este modo

Possibilidade de lockout de senha No h garantia quanto ao password server Causa conexes persistentes

36

Configurao
smb.conf

Outras diretivas:

workgroup: Nome do grupo de trabalho ou domnio netbios name: Nome NetBIOS do servidor security: Altera como os clientes se conectam ao servidor domain master: Configura o smbd para agir como master browser preferred master: Faz com que o nmbd force eleies para master browser domain logons: Configura o Samba para fornecer servios de netlogon, agindo como um controlador de domnio

37

Configurao
smb.conf

O qu torna o Samba um servidor? O qu torna o Samba um controlador de Domnio? O qu torna o Samba membro de um Domnio?

38

Configurao
smb.conf
O Samba age como um servidor independente do modo de funcionamento security = domain ou + domain master = yes + domain logons = yes security = domain ou security = ADS + ingresso no domnio

39

Configurao
Macros (Variveis)

Valores especiais que so preenchidos em tempo de execuo teis para definies de ACLs

Ferramentas

testparm: Verifica a validade sinttica do arquivo smb.conf smbclient: Cliente SMB/CIFS em linha de comando

40

Configurao
Configurao simples

Fazer backup do Samba Criar um novo /etc/samba/smb.conf Testar a configurao com o testparm Reiniciar os daemons smbd e nmbd Verificar se os daemons esto rodando e escutando nas portas esperadas
# ps -Af | grep -E '(smbd|nmbd)' # netstat -ntpul | grep mbd

41

Usando o smbclient
Listar compartilhamentos

$ smbclient -L localhost
Enter diego's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.4] Sharename Type Comment -----------------print$ Disk Printer Drivers tmp Disk temporary path IPC$ IPC IPC Service (Ubunbox server (Samba, Ubuntu)) Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.4] Server --------UBUNBOX Comment ------Ubunbox server (Samba, Ubuntu)

Workgroup Master --------------WORKGROUP

42

Usando o smbclient
Acessando um compartilhamento
$ smbclient '\\ubunbox\tmp'
Enter diego's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.4] smb: \>

Listando o contedo do compartilhamento


smb: \> ls
. .. virtual-diego.dC5EVf arquivo orbit-diego .ICE-unix .X0-lock D D 0 Fri Nov 19 13:30:30 2010 0 Mon Oct 18 21:05:05 2010 D 0 Fri Nov 19 09:07:19 2010 0 Fri Nov 19 13:42:49 2010 D 0 Fri Nov 19 13:35:28 2010 DH 0 Fri Nov 19 09:07:06 2010 HR 11 Fri Nov 19 09:07:00 2010

46103 blocks of size 262144. 24552 blocks available smb: \>

43

Usando o smbclient
Obtendo um arquivo
smb: \> get arquivo
getting file \arquivo of size 6 as arquivo (0,4 KiloBytes/sec) (average 0,3 KiloBytes/sec)

Enviando um arquivo
smb: \> put arquivo2
putting file arquivo2 as \arquivo2 (0,7 kb/s) (average 0,7 kb/s)

44

Samba Standalone
Vantagens

Flexvel Configurao Simples

Desvantagens

Autenticao local

45

Samba Standalone
Viso Geral

Autenticao e Controle de Acesso Local Recursos disponibilizados em modo share ou user No fornecem servio netlogon

46

Samba Standalone
Autenticao Local

2 usurios: samba + sistema Database de usurios local: /var/lib/samba/passdb.tdb

47

Samba Standalone
Laboratrio

Configurao sem autenticao no modo share


Definir security = share Criar um compartilhamento com public = yes

48

Samba Standalone
Laboratrio

Configurao com autenticao em modo user


Definir security = user Criar um compartilhamento no-pblico Adicionar usurios em uma lista valid users Reiniciar o Samba (ou daemon smbd) Criar os usurios usando o smbpasswd

49

Samba Standalone
Laboratrio

Criao de compartilhamento pblico em modo user

Criar um compartilhamento com o parmetro guest ok = yes [anon] path = /tmp browseable = yes guest ok = yes

50

Exerccio
Crie um script simples de backup das configuraes do Samba

Smb.conf smbpasswd .tdbs


Fazer backup e verificar se sucesso Restaurar arquivos corrompidos

51

Exerccio
Configure seu servidor em modo de compartilhamento por pasta Crie um compartilhamento pblico Acesse e envie um arquivo usando o Windows

52

Domnios
Estilo NT4 (PDC+BDC)

Samba Windows NT Windows 2000 (Modo Emulado) Windows 2000 e superiores Samba (Apenas DMS)

Estilo Active Directory


53

Domnios
Domnios NT4

SSO Single Sign On Identificados por SIDs


S-1-5-21-726309263-4128913605-1168186429

Objetos possuem RIDs


RID do usurio Administrador: 500

ACLs baseadas em SID+RID


S-1-5-21-726309263-4128913605-1168186429-500

54

Domnios
Domnios Active Directory

Controladores de domnio no-hierrquicos Introduo do Kerberos Controle refinado de polticas

55

Domnios
Limitaes do Samba

No suporta replicao de SAM com controladores Windows No age como controlador de domnios AD No pode ser gerenciado atravs do MMC Para replicao PDC-BDC entre Samba necessrio utilizar o LDAP como backend

56

Domnios
Tipos de Controlador

PDC: Primary Domain Controller


Banco inicial de controle do domnio Security Account Manager SAM Responde solicitaes netlogon

Quando inexiste BDC Quando o BDC est sobrecarregado

57

Domnios
Tipos de Controlador

BDC: Backup Domain Controller


Responde solicitaes de logon Pode ser promovido PDC


Automaticamente no Windows Manualmente, com o Samba Automaticamente entre Windows Possvel com backend LDAP entre Sambas

Sincronizao do SAM

58

Domnios
Domain Member

Possuem um registro na base do domnio (Trust Account)


Criada pelo administrador Conta machine account Chave definida automaticamente

59

Domnios
Caractersticas de um Controlador

Registra-se e Informa que o Controlador


Broadcast NetBIOS WINS DNS + AD

Fornece servios de netlogon Fornece um compartilhamento especial chamado netlogon

60

Domnios
Configurao do Samba PDC

PDC

[global] workgroup = 4LINUX netbios name = %h server string = Servidor Samba %h security = user client lanman auth = yes passdb backend = tdbsam:/var/lib/samba/passdb.tdb log level = 0 auth:10 domain logons = yes domain master = yes add machine script = /usr/sbin/useradd -g nogroup -c "Estacao %u" -d /tmp -s /bin/false "%u" logon path = \\%N\profiles\%U [netlogon] path = /var/lib/samba/netlogon guest ok = yes browseable = no [profiles] path = /var/lib/samba/profiles read only = no create mask = 0600 directory mask = 0700

61

Domnios
Configurao do Samba PDC

passdb backend: Backend de armazenamento de grupos e contas smbpasswd, tdbsam, ldapsam Compartilhamento Netlogon

Scripts de Logon Polticas de Grupo (NTConfig.POL) Armazenamento de perfis Um diretrio por usurio

Compartilhamento Profiles

Gravao para o dono Leitura Global

62

Domnios
Configurao do Samba PDC

Checklist PDC

smb.conf configurado Usurio root adicionado Diretrios netlogon e profiles* criados *Scripts de logon preparados

*Passos Opcionais

63

Exerccio
Configurar o servidor como PDC

Domnio: SeuNome

Ingressar com a mquina Windows no domnio

64

Domnios
Configurao do Samba PDC

PDC Configurao Completa

[global] workgroup = 4LINUX netbios name = DEBIANXX passdb backend = tdbsam:/var/lib/samba/passdb.tdb os level = 33 preferred master = auto domain master = yes local master = yes add machine script = /usr/sbin/useradd -g nogroup -c "Estacao %u" -d /tmp -s /bin/false "%u" security = user domain logons = yes logon path = \\%N\profiles\%U logon drive = H: logon home = \\homeserver\%U\winprofile logon script = logon.cmd [netlogon] path = /var/lib/samba/netlogon read only = yes [profiles] path = /var/lib/samba/profiles read only = no create mask = 0600 directory mask = 0700

65

Domnios
Configurao do Samba BDC

Exige replicao de backend


PDC: Master LDAP || BDC: Slave LDAP PDC: LDAP Central || BDC: LDAP Central PDC: smbpasswd || BDC: smbpasswd

Exige a obteno do SID


# net rpc getsid

Diretivas:

domain master = no domain logons = yes

66

Domnios
Configurao do Samba BDC

Pontos de Ateno

SID do domnio PDC = BDC Base de usurios Unix PDC = BDC Base de usurios Samba PDC = BDC Sincronizar Netlogon e Profiles

67

Exerccio
Em dupla

Eleger um PDC Configurar o outro Samba como BDC

68

Domnios
Configurao do Samba DMS

Ir tornar o servidor membro de um contexto de segurana


security = domain password server = PDC BDC1 BDC2 ou password server = * net rpc join -U root%senha Reiniciar o samba

69

Usurios, Grupos e ACLs


Controle de Permisses Flexvel

Permisses Unix Definies por Compartilhamento ACLs de Compartilhamentos ACLs Windows atravs de ACLs Posix Controle a nvel de usurio ou grupo

70

Usurios, Grupos e ACLs


Controle de Grupos

Grupos Unix (posixGroup) Mapeamento unix SID

net groupmap

Usurios adicionados ao grupo Unix

71

Usurios, Grupos e ACLs


Definies de Compartilhamento
[myshare] path = /tmp write list = diego valid users = @usuarios [secure] path = /opt hosts allow = 127.0.0.1 hosts deny = all [mynet] path = /home hosts allow = 192.168.4.224/24 hosts deny = all

72

Exerccio
Crie 2 grupos: empire e rebels Crie os usurios nos grupos:

luke, solo: rebels vader, palpatine: empire Hoth: leitura para grupo rebels, escrita para luke Coruscant: leitura para grupo empire, escrita para vader e palpatine Mandalore: leitura para rebels e empire, sem escrita Kamino: acessvel apenas do prprio servidor

Crie os seguintes compartilhamentos:


73

Exerccio

[hoth] path = /tmp write list = luke valid users = @rebels [coruscant] path = /tmp write list = vader, palpatine valid users = @empire [mandalore] path = /tmp read only = yes valid users = @empire, @rebels [kamino] path = /tmp hosts allow = 127.0.0.1

74

Usurios, Grupos e ACLs


UGO User, Group, Other

Permissionamento padro Suportado transparentemente Necessrio ativao de suporte ACL no filesystem e instalao de ferramentas Maior flexibilidade Permissionamento semelhante ao nativo Windows

ACLs POSIX

75

Usurios, Grupos e ACLs


UGO

Criar um compartilhamento publico apontando para /tmp Criar um diretrio com permiso 750
# mkdir /tmp/pub # chown diego:usuarios /tmp/pub # chmod 750 /tmp/pub

Acessar utilizando o dono e gravar um arquivo Acessar utilizando outro usurio do mesmo grupo e tentar gravar Tentar acessar usurio de outro grupo

76

Usurios, Grupos e ACLs


ACLs

Instalar pacote acl


# apt-get install acl

Ativar suporte a ACLs no FS


# mount -o remount,acl /

Definindo uma ACL:


# setfacl -m [user|group]:nome:perms alvo # setfacl -m user:diego:rwx /home/diego

Lendo ACLs:
# getfacl alvo

77

Usurios, Grupos e ACLs


Adicionando um mapeamento
# groupadd orcs # net groupmap add ntgroup="Orcs" unixgroup=orcs

Listando Mapeamentos
# net groupmap list

Removendo Mapeamentos
# net groupmap delete ntgroup=Orcs

78

Crie um diretrio /tmp/lotr

Exerccio

Crie um compartilhamento lotr apontando um diretrio /tmp/lotr Crie trs grupos: orcs, elves e hobbits Crie e adicione os seguintes usurios nos grupos:

Shagrat, Grishnakh: grupo orcs Legolas, Galadriel: grupo elves Frodo, Samwise: grupo hobbits Shire: Completo para hobbits, Leitura para elves Rivendell: Completo para elves, completo para hobbits Mordor: Completo para orcs, nenhum acesso para os outros

Crie os seguintes subdiretrios com as permisses:


Teste os acessos

79

Exerccio
# groupadd hobbits # groupadd elves # groupadd orcs # # # # mkdir mkdir mkdir mkdir /tmp/lotr /tmp/lotr/shire /tmp/lotr/rivendell /tmp/lotr/mordor

# chgrp hobbits /tmp/lotr/shire # chgrp elves /tmp/lotr/rivendell # chgrp orcs /tmp/lotr/mordor # # # # setfacl -m group:hobbits:rwx -m group:elves:rx /tmp/lotr/shire setfacl -m group:hobbits:rwx -m group:elves:rwx /tmp/lotr/rivendell chmod 770 /tmp/lotr/mordor chmod o-rwx /tmp/lotr/shire /tmp/lotr/rivendell

80

Exerccio
Crie agora um usurio Sauron no Samba Acesse o compartilhamento usando o root e faa, usando a interface do Windows, o usurio Sauron ter acesso completo a todos os diretrios criados

81

Gerenciamento
Pdbedit

Gerencia o passdb

Contas de sistema Polticas de domnio

Visualiza contas
# pdbedit -Lv luke

Exporta e Importa databases entre backends Gerencia diferentes backends

82

Gerenciamento
Polticas do domnio
pdbedit -P [poltica] -C [valor]

Polticas disponveis
maximum password age minimum password age min password length password history reset count minutes bad lockout attempt disconnect time lockout duration user must logon to change password refuse machine password change

83

Gerenciamento
Gerenciamento de usurios

Adicionar contas
# pdbedit -a conta

Deletar contas
# pdbedit -x conta

Alterar contas
# pdbedit -r --fullname="Luke Skywalker luke

Forar troca de senha


# pdbedit --pwd-must-change-time=0 luke ou # net sam set pwmustchangenow chapman yes

Desabilitar conta
# pdbedit -r -c [D] luke

Resetar flags da conta para o padro


# pdbedit -r -c [] luke

84

Gerenciamento
Flags de Contas

D H I L M N S T U W X

Conta Desabilitada Um diretrio home necessrio Relao de confiana inter-domnio Conta bloqueada automaticamente Conta de logon MNS (Microsoft network service) Senha no obrigatria Conta de confiana de servidor Duplicata temporria de conta Conta de usurio normal Conta de confiana de estao de trabalho Senha no expira

85

Exerccio
Configure as polticas no domnio

Senhas possuem no mnimo 6 caracteres Contas sero bloqueadas aps 5 tentativas Faa com que tenha que trocar a senha no logon Faa logoff e tente uma senha errada at que a conta seja bloqueada Desbloqueie a conta

Crie um usurio Chapman

86

Backend LDAP
Base centralizada de autenticao Flexibilidade como backend Integrao com PAM e NSS (usurios de sistema)

87

Backend LDAP
Instalao OpenLDAP
# apt-get install slapd ldap-utils smbldap-tools

Configurar o sufixo da base para dc=4linux,dc=com,dc=br Habilitar o schema do Samba Configurar ndices de atributos do Samba Configurar ACL de acesso a senha do Samba Recriar a base

88

Backend LDAP
Configurando o smb.conf
add user script = /usr/sbin/smbldap-useradd -m %u delete user script = /usr/sbin/smbldap-userdel %u add group script = /usr/sbin/smbldap-groupadd -p %g delete group script = /usr/sbin/smbldap-groupdel %g add user to group script = /usr/sbin/smbldap-groupmod -m %u %g delete user from group script = /usr/sbin/smbldap-groupmod -x %u %g set primary group script = /usr/sbin/smbldap-usermod -g %g %u add machine script = /usr/sbin/smbldap-useradd -w %u passdb backend = ldapsam:ldap://localhost ldap suffix = dc=4linux,dc=com,dc=br ldap machine suffix = ou=Usuarios ldap user suffix = ou=Usuarios ldap group suffix = ou=Grupos ldap admin dn = cn=admin,dc=4linux,dc=com,dc=br

89

Backend LDAP
Configurar o smbldap-tools Armazenar a senha do administrador do LDAP no Samba
# smbpasswd -w [senha]

Popular a base com os usurios do sistema

90

Backend LDAP
Configurao NSS e PAM

NSS

apt-get install libnss-ldap /etc/nsswitch.conf /etc/libnss-ldap.conf getent passwd install libpam-ldap /etc/pam.d/common-account /etc/pam.d/common-auth /etc/pam.d/common-password /etc/pam.d/common-session /etc/pam_ldap.conf

PAM

91

Backend LDAP
Atributos de objetos Samba

SambaLMPassword: LanMan password (16-byte hash) SambaNTPassword: The NT password (16-byte hash) SambaPwdLastSet: Hora Unix da ltima modificao de senha sambaAcctFlagsString: Flags da conta SambaLogonTime: No utilizado atualmente SambaLogoffTime: No utilizado atualmente SambaKickoffTime: Define quando a conta expirar. SambaPwdCanChange: Quando o usurio poder alterar a senha (hora unix) sambaPwdMustChangeSpecifies: Quando o usurio ser forado a alterar a senha (hora unix)

92

Backend LDAP

SambaHomeDrive: Letra do sambaHomePath do usurio SambaLogonScript: Logon script SambaProfilePath: Caminho para o perfil remoto SambaHomePath: Caminho de rede para o home do usurio SambaUserWorkstations: Estaes no qual o usurio pode efetuar log in. SambaSID: SID (identificao) do usurio. SambaPrimaryGroupSID: SID do grupo primrio do usurio. SambaDomainName: Nome do domnio que o usurio faz parte

93

Winbind
Usurios e Grupos de domnios Windows

Mapeamento de SID UID e GID

Autenticao via PAM Estao Unix agir efetivamente como parte do domnio

94

Winbind
Instalar o Winbind Configurar o domnio no Samba Adicionar diretivas de mapeamento do Winbind Reiniciar Winbind e Samba Ingressar no domnio

Validar o funcionamento com o wbinfo

Configurar o PAM para utilizar Winbind

95

Ingressando em um AD
Configurar o Samba

Security = ADS Realm = DOMINIO client use spnego = yes

Configurar o Winbind Instalar o Kerberos


# apt-get install krb5-config krb5-user

Configurar o Kerberos

/etc/krb5.conf

96

Ingressando em um AD
Smb.conf

[global] security = ADS realm = 4LINUX.LOCAL workgroup = 4LINUX password server = winstrutor.4LINUX.local idmap uid = 10000-20000 idmap gid = 10000-20000 loglevel = 2

97

Ingressando em um AD
Krb5.conf

[libdefaults] default_realm = MYCOMPANY.LOCAL kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true [realms] 4LINUX.LOCAL = { kdc = winstrutor.4linux.local admin_server = winstrutor.4linux.local } [domain_realm] .4linux.local = 4LINUX.LOCAL 4linux.local = 4LINUX.LOCAL [login] krb4_convert = true krb4_get_tickets = true

98

Ingressando em um AD
Aps fazer as configuraes, reiniciar os servios:
# /etc/init.d/samba restart # /etc/init.d/winbind restart

Ingressar no domnio
# net ads join -U administrator

Testar a configurao
# # # # # kinit luke@4LINUX.LOCAL wbinfo -u wbinfo -g getent passwd getent group

99

Obrigado

Diego Alencar Alves de Lima diego.lima@4linux.com.br www.4linux.com.br www.hackerteen.com twitter.com/4LinuxBR Tel: +55-11-2125-4747

You might also like