Instalando e Configurando o Samba4 Com Suporte a AdminPack No Debian Squeeze
-
Upload
marquinho-xd -
Category
Documents
-
view
728 -
download
9
Transcript of Instalando e Configurando o Samba4 Com Suporte a AdminPack No Debian Squeeze
Marquinho XD <[email protected]>
CONFIGURACAO SAMBA4Joao Paulo <[email protected]> 24 de fevereiro de 2013 13:37Para: [email protected]
Instalando e Configurando o Samba4 com suporte aAdminPack no Debian SqueezeE ai galera, aqui eu vou abordar a instalação e a configuração do Samba4 com suporte a Administração do domínioutilizando o AdminPack da Microsoft.
Eu achei que ficou muito bom e limpa a instalação e configuração então vamos trabalhar :D
O que eu vou utilizar:
Servidor SambaIP: 192.168.0.131/24Nome: debianDomínio: lab.lan
Cliente XPIP: 192.168.0.4/24Nome: xpDomínio: lab.lan
Agora vamos mandar atualizar os repositórios e vamos mandar fazer um upgrade do sistema
aptitude update && aptitude dist-upgrade -y
Agora vamos mandar instalar as suas dependências
aptitude install libldap-dev libpam-dev git gcc make wget libacl1-dev libblkid-dev gnutls-dev libreadline-dev python-dev libcups2-dev libcupscgi1-dev libcupsdriver1-dev libcupsimage2-dev libcupsmime1-dev libcupsppdc1-dev libcupsys2-dev libaio-dev libkrb5-dev acl-dev acl krb5-user -y
Agora precisamos fazer um ajuste no sistema de arquivo aonde esta a partição /usr, precisamos inserir depois de defaults apalavra chave acl.
vim /etc/fstab
[...]
UUID=35689fda-e60e-4a5c-823b-3076e36a7586 /usr ext3 defaults,acl 0 2
Agora vamos mandar remontar a partição
mount -o remount /usr
Agora vamos conferir se foi carregado o atributo de acl
mount | egrep acl
/dev/sda5 on /usr type ext3 (rw,acl)
Agora vamos acessar o diretório que vai armazenar o samba
cd /usr/src
Agora vamos obter o código fonte do sambagit clone git://git.samba.org/samba.git samba4
Caso prefira utilizar o protocolo http para obter o samba
git clone http://gitweb.samba.org/samba.git samba4
Agora vamos acessar o diretório que contém os fontes
cd samba4
Agora vamos mandar configurar ele
./configure --enable-debug --enable-selftest
Agora vamos mandar compilar ele
make
make
Agora vamos mandar instalar ele
make install
Agora vamos acertar a PATH do usuário root no caso dele estar utilizando o shell Bash
echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/local/samba/sbin:/usr/local/samba/bin" >> /root/.bashrc
Agora precisamos importar a nova PATH
source /root/.bashrc
Agora vamos acertar a PATH do usuário root no caso dele estar utilizando o shell zsh
echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/local/samba/sbin:/usr/local/samba/bin" >> /root/.zshrc
Agora precisamos importar a nova PATH
source /root/.zshrc
Agora vamos ajustar o /etc/resolv.conf
vim /etc/resolv.conf
domain lab.lan
search lab.lan
nameserver 192.168.0.1
Agora vamos ajustar o /etc/hosts
vim /etc/hosts
127.0.0.1 localhost
127.0.1.1 debian.lab.lan debian
192.168.0.131 debian.lab.lan debian
[...]
Agora vamos criar o nosso domínio
samba-tool domain provision
Realm [LAB.LAN]: #ENTER
Domain [LAB]: #ENTER
Server Role (dc, member, standalone) [dc]: #ENTER DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: #ENTER
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.0.1]: #ENTER
Administrator password: #S3Nh4
Retype password: #S3Nh4
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=lab,DC=lan
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=lab,DC=lan
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: debian
NetBIOS Domain: LAB
DNS Domain: lab.lan
DOMAIN SID: S-1-5-21-1179828200-3213206288-4271035701
Explicando:
Aqui em Realm é o nosso domínio Kerberos LAB.LANDomain: É o domínio que o servidor vai usar LABServer Role qual a função do nosso servidor padrão é DC Domain ControllerDNS Backend é como que vai ser utilizando o DNS o padrão é SAMBA INTERNAL que vai utilizar o DNS interno dosambaDNS forwarder IP address o ip do DNS principal da redeAdministrator password é a senha do administrador do domínio
Aqui o nosso domínio já está configurado.
Agora vamos iniciar o samba
/usr/local/samba/sbin/samba
Agora vamos checar a versão do nosso smbclient
smbclient --version
Version 4.1.0pre1-UNKNOWN
Agora vamos listar os compartilhamentos
smbclient -L localhost -U%
Domain=[LAB] OS=[Unix] Server=[Samba 4.1.0pre1-UNKNOWN]
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.1.0pre1-UNKNOWN)
IPC$ IPC IPC Service (Samba 4.1.0pre1-UNKNOWN)
Domain=[LAB] OS=[Unix] Server=[Samba 4.1.0pre1-UNKNOWN]
Server Comment
--------- -------
Workgroup Master
--------- -------
Agora vamos testar a autenticação nos compartilhamentos
smbclient //localhost/netlogon -UAdministrator%'S3Nh4' -c 'ls'
Domain=[LAB] OS=[Unix] Server=[Samba 4.1.0pre1-UNKNOWN]
. D 0 Sun Feb 24 09:49:48 2013
.. D 0 Sun Feb 24 09:49:54 2013
60797 blocks of size 131072. 45509 blocks available
Vamos verificar a configuração do samba
testparm
Load smb config files from /usr/local/samba/etc/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[netlogon]"
Processing section "[sysvol]"
Loaded services file OK.
Server role: ROLE_ACTIVE_DIRECTORY_DC
Press enter to see a dump of your service definitions
[global]
workgroup = LAB
realm = LAB.LAN
server role = active directory domain controller
passdb backend = samba_dsdb
dns forwarder = 192.168.0.1
rpc_server:tcpip = no
rpc_daemon:spoolssd = embedded
rpc_server:spoolss = embedded
rpc_server:winreg = embedded
rpc_server:ntsvcs = embedded
rpc_server:eventlog = embedded
rpc_server:srvsvc = embedded
rpc_server:svcctl = embedded
rpc_server:default = external
idmap config * : backend = tdb
create mask = 0777
directory mask = 0777
map archive = No
map readonly = no
store dos attributes = Yes
vfs objects = dfs_samba4, acl_xattr
[netlogon]
path = /usr/local/samba/var/locks/sysvol/lab.lan/scripts
read only = No
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
Agora vamos acertar o arquivo /etc/security/limits.conf para não ficar mostrando erro no samba
vim /etc/security/limits.conf
#colocar no final do arquivo
root hard nofile 131072
root soft nofile 65536
mioutente hard nofile 32768
mioutente soft nofile 16384
Agora vamos listar os processos do samba
ps aux | egrep samba
root 1231 0.0 8.8 512872 44888 ? Ss 09:55 0:00 /usr/local/samba/sbin/samba
root 1233 0.0 6.3 512872 32084 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1234 0.0 6.4 512872 32964 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1235 0.0 6.6 512872 33732 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1236 0.0 6.3 512872 32056 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1237 0.0 6.5 512872 33440 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1238 0.0 6.4 512872 32652 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1239 0.0 6.7 512872 34188 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1240 0.0 6.5 512872 33472 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1241 0.0 6.6 516332 33776 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1242 0.0 6.3 512872 32172 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1243 0.0 7.9 512872 40388 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1244 0.0 6.5 512872 33132 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1245 0.0 9.0 470044 46176 ? Ss 09:55 0:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root 1247 0.0 6.7 513292 34192 ? S 09:55 0:00 /usr/local/samba/sbin/samba
root 1250 0.0 6.3 470052 32320 ? S 09:55 0:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root 1295 0.0 0.1 7792 880 pts/0 S+ 10:03 0:00 egrep samba
Agora vamos ajustar o /etc/resolv.conf para ser utilizado o ip do nosso servidor samba
vim /etc/resolv.conf
domain lab.lansearch lab.lan
nameserver 192.168.0.131
Agora vamos testar com o nslookup
nslookup lab.lan
Server: 192.168.0.157
Address: 192.168.0.157#53
Name: lab.lan
Address: 192.168.0.157
Agora vamos ajustar o arquivo do kerberos
Vamos fazer um backup dele
cp /etc/krb5.conf /etc/krb5.conf.old
Agora vamos remover o original
rm -rf /etc/krb5.conf
Agora vamos criar um link do arquivo do kerberos utilizado pelo samba
ln -sf /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf
Agora vamos ajustar a sua configuração
vim /etc/krb5.conf
[libdefaults]
default_realm = LAB.LAN
dns_lookup_realm = false
dns_lookup_kdc = true
Agora vamos inicializar um ticket do kerberos para o usuário administrator
kinit [email protected]
Password for [email protected]:
Warning: Your password will expire in 41 days on Sun Apr 7 09:49:53 2013
Agora vamos listar o nosso ticket
klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]
Valid starting Expires Service principal
02/24/13 10:43:23 02/24/13 20:43:23 krbtgt/[email protected]
renew until 02/25/13 10:43:20
Agora vamos testar a nossa autenticação no samba utilizando o token do kerberos
smbclient -k //debian.lab.lan/netlogon -c 'ls'
Domain=[LAB] OS=[Unix] Server=[Samba 4.1.0pre1-UNKNOWN]
. D 0 Sun Feb 24 09:49:48 2013
.. D 0 Sun Feb 24 09:49:54 2013
60797 blocks of size 131072. 45503 blocks available
Para utilizar o token do kerberos precisamos passar o nome do nosso dc no meu caso debian.lab.lan caso passe somentelocalhost vamos ter o seguinte erro.
smbclient -k //localhost/netlogon -c 'ls'
ads_krb5_mk_req: smb_krb5_get_credentials failed for cifs/[email protected] (Server not found in Kerberos database)
cli_session_setup_kerberos: spnego_gen_krb5_negTokenInit failed: Server not found in Kerberos database
session setup failed: NT_STATUS_UNSUCCESSFUL
Este erro é comentado no seguinte link http://lists.samba.org/archive/samba-technical/2011-June/078134.html
Agora vamos configurar o servidor ntp
aptitude install ntp -y
Agora vamos fazer um backup do nosso arquivo de configuração
cp /etc/ntp.conf /etc/ntp.conf.old
Agora vamos deixar ele da seguinte forma
vim /etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server a.ntp.br iburst prefer
server 0.pool.ntp.org iburst prefer
server 1.pool.ntp.org iburst prefer
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp
ntpsigndsocket /usr/local/samba/var/lib/ntp_signd/
restrict default kod nomodify notrap nopeer mssntp
restrict 127.0.0.1
restrict a.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
restrict 0.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery
restrict 1.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery
Agora vamos reiniciar o serviço
/etc/init.d/ntp restart
Agora vamos consultar o serviço ntp
ntpq -p 127.0.0.1
remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) .LOCL. 10 l 26 64 1 0.000 0.000 0.000
+a.ntp.br 200.160.7.186 2 u 15 64 1 11.543 4.363 0.306
0.pool.ntp.org .INIT. 16 u - 64 0 0.000 0.000 0.000
*1.pool.ntp.org 200.160.7.186 2 u 13 64 1 6.470 5.146 0.305
Agora vamos ajustar a permissão do ntp
chgrp ntp /usr/local/samba/var/lib/ntp_signd
Agora vamos criar um compartilhamento básico de impressão
Agora vamos criar o diretório de spool de impressão e vamos ajustar as suas permissões
mkdir /usr/local/samba/var/spool
chmod 1777 /usr/local/samba/var/spool
Agora vamos adicionar na configuração do samba o nosso compartilhamento de impressão
vim /usr/local/samba/etc/smb.conf
# Global parameters
[global]
workgroup = LAB
realm = LAB.LAN
netbios name = DEBIAN
server role = active directory domain controller
dns forwarder = 192.168.0.1
[netlogon]
path = /usr/local/samba/var/locks/sysvol/lab.lan/scripts
read only = No
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[printers]
comment = All Printers
path = /usr/local/samba/var/spool
browseable = Yes
read only = No
printable = Yes
Agora precisamos criar os diretório para armazenar os drivers das impressoras que o cliente windows sempre vai tentarprocurar quando for instalar uma impressora
mkdir -p /usr/local/samba/var/print/{COLOR,IA64,W32ALPHA,W32MIPS,W32PPC,W32X86,WIN40,x64}
Agora vamos criar mais um compartilhamento no samba
vim /usr/local/samba/etc/smb.conf
# Global parameters
[global]
workgroup = LAB
realm = LAB.LAN
netbios name = DEBIAN
server role = active directory domain controller
dns forwarder = 192.168.0.1
[netlogon]
path = /usr/local/samba/var/locks/sysvol/lab.lan/scripts
read only = No
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[printers]
comment = All Printers
path = /usr/local/samba/var/spool
browseable = Yes
read only = No
printable = Yes
[print$]
comment = Point and Print Printer Drivers
path = /usr/local/samba/var/print
read only = No
Agora vamos mandar recarregar o samba
killall -HUP samba
Para adicionar uma impressora
Logue no computador cliente com o usuário Administrador do dominioClick Iniciar → Run digite '\\debian.lab.lan\'Na lista de compartilhamentos, de um duplo click em 'Impressoras e Fax'Click em Arquivo → Propriedades do servidorNa guia Drivers, Click em 'Adicionar…', depois 'Next'
No menu de opções, escolha o driver da sua impressora que deseja instalar, e selecione 'Next'
Agora escolha os driver para a sua arquitetura. Caso não tenha o driver para a sua arquitetura vai ser solicitado inserir umamidia com os driver
Agora feche a tela de driversAgora click com o botão direito em drivers de impressora e selecione propriedadesNa guia avançado, escolha o driver que já foi instalado
Inserindo uma máquina XP no domínio Samba4
Vamos chamar a configuração da interface
Menu iniciar/run digite ncpa.cpl
Vamos deixar o endereço DNS para o ip do servidor samba
Vai ter que ficar como abaixo.
Agora vamos testar o dns
nslookup debian.lab.lan
*** Não é possível encontrar o nome de servidor para o endereço 192.168.0.131: No information
*** Os servidores padrão não estão disponíveis
Servidor: UnKnown
Address: 192.168.0.131
Nome = debian.lab.lan
Address: 192.168.0.131
Agora precisamos deixar o nosso servidor com o horário e timezone igual ao do servidor samba
Vamos chamar a configuração
Menu Iniciar/run aqui digite timedate.cpl
Aqui ajute o seu horario
Na guia fuso horário escolha o da sua localização
Agora vamos fazer o join do domínio
Menu iniciar/run aqui digite sysdm.cpl
Aqui selecione a guia Nome do computador.Agora selecione alterar
Aqui em domínio vamos informar lab.lan
Agora selecione ok
Vamos ter uma tela como abaixo, informe o usuário administrator e a senha que foi definida para ele na criação do domíniosamba.
Se tudo der certo vamos ter a seguinte mensagem
Quando selecionarmos ok vamos ter a seguinte mensagem.
Agora é só selecionar ok e ok novamente e sim para reiniciar a máquina.
Quando iniciar vamos ter a seguinte tela
Agora precisamos informar ctrl + alt + del
Aqui em fazer logon em selecione LAB
O usuário vai ser administrator e a senha dele.
Instalando o Windows Remote Administration Tools no Windows
Links para obtermos o Windows Remote Administration Tools:
http://www.microsoft.com/download/details.aspx?id=28972 (Windows 8)http://www.microsoft.com/downloads/details.aspx?FamilyId=9FF6E897-23CE-4A36-B7FC-D52065DE9960&displaylang=en (Vista)http://www.microsoft.com/downloads/details.aspx?FamilyID=7D2F6AD7-656B-4313-A005-4E344E43997D&displaylang=en (Windows 7)http://www.microsoft.com/en-us/download/details.aspx?id=6315 (Windows XP/Server 2003)
OBS: Na instalação do RSAT no Windows 8/7/Vista depois de instalado temos que ir em programas no painel de controle“Habilitar recursos do Windows” precisamos habilitar as ferramentas administrativas.
Depois de obter o pacote precisamos mandar rodar ele
Instalando
Instalação Concluída
Ferramentas instaladas
Agora vamos chamar o MMC Usuários e computadores do Active Directory em Ferramentas administrativas ou pelo rundsa.msc
Vamos ter algo como abaixo.
Aqui podemos fazer a criação de usuários, grupos, computadores criação de GPOS
Exemplo de Objetos que podemos criar
Exemplo da tela de criação de usuários
Exemplo da tela de GPOs
Podemos também fazer a administração do DNS via MMC nas ferramentas administrativas chame o DNS
Exemplo da tela de configuração de DNS
Podemos também fazer a criação de usuários via comando
samba-tool user add nerso
New Password:
Retype Password:
User 'nerso' created successfully
Agora vamos ver nos usuários do AD
Agora vamos ajustar o perfil móvel
Vamos ajustar o arquivo de configuração do samba
vim /usr/local/samba/etc/smb.conf
# Global parameters
[global]
[global]
workgroup = LAB
realm = LAB.LAN
netbios name = DEBIAN
server role = active directory domain controller
dns forwarder = 192.168.0.1
[netlogon]
path = /usr/local/samba/var/locks/sysvol/lab.lan/scripts
read only = No
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[printers]
comment = All Printers
path = /usr/local/samba/var/spool
browseable = Yes
read only = No
printable = Yes
[print$]
comment = Point and Print Printer Drivers
path = /usr/local/samba/var/print
read only = No
[profiles]
path = /usr/local/samba/var/profiles
read only = no
Vamos criar o diretório para armazenar os profiles
mkdir /usr/local/samba/var/profiles
Agora vamos acertar as permissões
chmod -R 1777 /usr/local/samba/var/profiles
Agora vamos mandar recarregar o samba
killall -HUP samba
Agora vamos ajustar o perfil do usuário douglas.santos
Agora vamos logar com o usuário.
Quando efetuarmos logon no servidor vai ser criado uma pasta com o nome do nosso usuário em/usr/local/samba/var/profiles
ls -l /usr/local/samba/var/profiles
total 8
drwxrws---+ 2 3000019 staff 4096 Fev 24 13:19 douglas.santos/
Note que o nosso arquivo tem o sinal de + ou seja está habilitado acl, vamos listar elas
getfacl -p /usr/local/samba/var/profiles/douglas.santos
# file: /usr/local/samba/var/profiles/douglas.santos
# owner: 3000019
# group: staff
# flags: -s-
# flags: -s-
user::rwx
group::---
group:staff:---
group:3000002:rwx
group:3000019:rwx
mask::rwx
other::---
default:user::rwx
default:user:3000019:rwx
default:group::---
default:group:staff:---
default:group:3000002:rwx
default:group:3000019:rwx
default:mask::rwx
default:other::---
Agora quando efetuarmos logoff os arquivos vão ser salvos dentro do diretório
ls -l /usr/local/samba/var/profiles/douglas.santos
total 624
drwxrws---+ 2 3000019 users 4096 Fev 23 13:44 Ambiente\ de\ impressão/
drwxrws---+ 2 3000019 users 4096 Fev 23 13:44 Ambiente\ de\ rede/
drwxrws---+ 2 3000019 users 4096 Fev 23 16:50 Cookies/
drwxrws---+ 4 3000019 users 4096 Fev 24 13:19 Dados\ de\ aplicativos/
drwxrws---+ 2 3000019 users 4096 Fev 23 13:44 Desktop/
drwxrws---+ 3 3000019 users 4096 Fev 24 13:19 Favoritos/
drwxrws---+ 3 3000019 users 4096 Fev 23 13:44 Menu\ Iniciar/
drwxrws---+ 4 3000019 users 4096 Fev 24 13:19 Meus\ documentos/
drwxrws---+ 2 3000019 users 4096 Fev 23 16:48 Modelos/
-rwxrwx---+ 1 3000019 users 524288 Fev 24 13:22 NTUSER.DAT*
-rwxrwx---+ 1 3000019 users 1024 Fev 24 13:22 NTUSER.DAT.LOG*
-rwxrwx---+ 1 3000019 users 300 Fev 24 13:22 ntuser.ini*
drwxrws---+ 2 3000019 users 4096 Fev 24 13:19 Recent/
drwxrws---+ 2 3000019 users 4096 Fev 24 13:19 SendTo/
João Paulo S Brinate
Diretor/Administrador
www.ispnetwork.com.br
MSN: [email protected]
Skype: suporte.ispnetwork
Tel: 33 3332-4113 (Comercial)
Cel: 33 91410185 (Comercial) Operadora: TIM