425 - Samba

download 425 - Samba

of 99

Transcript of 425 - Samba

1

425 Construindo Solues Samba com Implementaes Reais

2

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

3

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

4

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

5

Funcionamento

Implementa 4 servios CIFS

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

Daemons Distintos

6

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)

7

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

8

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

9

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

FuncionamentoNetBIOS

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

FuncionamentoNetBIOS

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

FuncionamentoGrupos 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

InstalaoCompilao 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

InstalaoInstalar 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

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

17

InstalaoPara 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

InstalaoArquivos 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 TDBPersistentes

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 TDBTemporrios

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 TDBGerenciamento

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 TDBEfetuar 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 TDBVisualizar contedo de um TDB (dump)

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

24

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

25

ExerccioFaa uma captura dos pacotes do Samba, reiniciando os servios

26

Configuraosmb.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

Configuraosmb.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

Configuraosmb.conf

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

29

Configuraosmb.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

Configuraosmb.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

Configuraosmb.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

Configuraosmb.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

Configuraosmb.confO 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

ConfiguraoMacros (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

ConfiguraoConfigurao 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 smbclientListar compartilhamentos

$ smbclient -L localhostEnter 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 smbclientAcessando um compartilhamento$ smbclient '\\ubunbox\tmp'Enter diego's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.4] smb: \>

Listando o contedo do compartilhamentosmb: \> 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 smbclientObtendo um arquivosmb: \> get arquivogetting file \arquivo of size 6 as arquivo (0,4 KiloBytes/sec) (average 0,3 KiloBytes/sec)

Enviando um arquivosmb: \> put arquivo2putting file arquivo2 as \arquivo2 (0,7 kb/s) (average 0,7 kb/s)

44

Samba StandaloneVantagens

Flexvel Configurao Simples

Desvantagens

Autenticao local

45

Samba StandaloneViso Geral

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

46

Samba StandaloneAutenticao Local

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

47

Samba StandaloneLaboratrio

Configurao sem autenticao no modo share

Definir security = share Criar um compartilhamento com public = yes

48

Samba StandaloneLaboratrio

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 StandaloneLaboratrio

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

ExerccioCrie um script simples de backup das configuraes do Samba

Smb.conf smbpasswd .tdbs

Fazer backup e verificar se sucesso Restaurar arquivos corrompidos

51

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

52

DomniosEstilo NT4 (PDC+BDC)

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

Estilo Active Directory

53

DomniosDomnios NT4

SSO Single Sign On Identificados por SIDsS-1-5-21-726309263-4128913605-1168186429

Objetos possuem RIDsRID do usurio Administrador: 500

ACLs baseadas em SID+RIDS-1-5-21-726309263-4128913605-1168186429-500

54

DomniosDomnios Active Directory

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

55

DomniosLimitaes 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

DomniosTipos 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

DomniosTipos 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

DomniosDomain Member

Possuem um registro na base do domnio (Trust Account)

Criada pelo administrador Conta machine account Chave definida automaticamente

59

DomniosCaractersticas 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

DomniosConfigurao 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

DomniosConfigurao 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

DomniosConfigurao do Samba PDC

Checklist PDC

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

*Passos Opcionais

63

ExerccioConfigurar o servidor como PDC

Domnio: SeuNome

Ingressar com a mquina Windows no domnio

64

DomniosConfigurao 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

DomniosConfigurao 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

DomniosConfigurao 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

ExerccioEm dupla

Eleger um PDC Configurar o outro Samba como BDC

68

DomniosConfigurao 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 ACLsControle 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 ACLsControle de Grupos

Grupos Unix (posixGroup) Mapeamento unix SID

net groupmap

Usurios adicionados ao grupo Unix

71

Usurios, Grupos e ACLsDefinies 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

ExerccioCrie 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 ACLsUGO 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 ACLsUGO

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 ACLsACLs

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 ACLsAdicionando 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

ExerccioCrie 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

GerenciamentoPdbedit

Gerencia o passdb

Contas de sistema Polticas de domnio

Visualiza contas# pdbedit -Lv luke

Exporta e Importa databases entre backends Gerencia diferentes backends

82

GerenciamentoPolticas do domniopdbedit -P [poltica] -C [valor]

Polticas disponveismaximum 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

GerenciamentoGerenciamento 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

GerenciamentoFlags 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

ExerccioConfigure 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 LDAPBase centralizada de autenticao Flexibilidade como backend Integrao com PAM e NSS (usurios de sistema)

87

Backend LDAPInstalao 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 LDAPConfigurando o smb.confadd 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 LDAPConfigurar 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 LDAPConfigurao 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 LDAPAtributos 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

WinbindUsurios e Grupos de domnios Windows

Mapeamento de SID UID e GID

Autenticao via PAM Estao Unix agir efetivamente como parte do domnio

94

WinbindInstalar 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 ADConfigurar 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 ADSmb.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 ADKrb5.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 ADAps 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 [email protected] wbinfo -u wbinfo -g getent passwd getent group

99

Obrigado

Diego Alencar Alves de Lima [email protected] www.4linux.com.br www.hackerteen.com twitter.com/4LinuxBR Tel: +55-11-2125-4747