anúncios

Mostrando postagens com marcador Samba. Mostrar todas as postagens
Mostrando postagens com marcador Samba. Mostrar todas as postagens

quarta-feira, 8 de janeiro de 2020

Ingressando máquina Linux (Ubuntu/Mint) no domínio (AD/Samba 4 DC) com o CID

O objetivo deste post é explicar os procedimentos para ingressar máquina Linux (Ubuntu/Mint) no domínio AD ou Samba 4 como DC.

Controladores de Domínio que executa o Microsoft Windows Server (2008, 2012, 2016 ou 2019) ou GNU/Linux com Samba 4.x como DC permite centralizar a autenticação, autorização e a contabilização de acesso a dispositivos na rede, facilitando a administração e o gerenciamento dos usuários.

Para ingressar máquinas GNU/Linux em Controladores de Domínio, tanto no Microsoft Windows Server ou GNU/Linux Samba 4.x configurados com Active Directory, e necessário a instalação de vários software e a configuração de vários arquivos conf's, para facilitar esse processo um dos softwares existentes para agilizar a configuração e o ingresso no domínio, é o CID (Close In Directory).

CID (Closed In Directory) é uma aplicação em Shell Script que automatiza o processo de configuração do Samba no sistema GNU/Linux para permitir que ele faça parte de um domínio Active Directory. Além disso, o CID combina outras ferramentas do GNU/Linux e executa nelas uma série de configurações que fazem com que o sistema funcione de forma semelhante a um computador Windows, dentro desse contexto, podendo, por exemplo, executar scripts de logon e mapeamento automático de compartilhamentos de rede (arquivos e impressoras) no início de sessão dos usuários.

Outra funcionalidade interessante do CID é que ele insere automaticamente os administradores do domínio em grupos especiais do sistema, garantindo a esses usuários privilégios elevados, a exemplo do que acontece no ambiente Windows. CID dispõe de ferramentas gráficas (GTK+) e de utilitários equivalentes em linha de comando, que podem servir para sistemas sem um ambiente de desktop instalado, ou para automatizar as rotinas da própria ferramenta gráfica.

Procedimentos para ingressar máquina Linux (Ubuntu/Mint) no domínio (AD/Samba 4 DC) com CID

Atualizando o sistema
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade

Removendo software desnecessários
$ sudo apt autoremove

Instalando o CID na distro Ubuntu/Mint
$ sudo add-apt-repository ppa:emoraes25/cid
$ sudo apt update
$ sudo apt install cid cid-gtk

Ingressando a máquina no domínio utilizando o pacote cid-gtk
$ sudo cid-gtk

Closed in Directory
Hostname: SEU_HOSTNAME
Join the Domain

Join the Domain
Domain Info
Domain: SEU_DOMÍNIO
Organizational Unit: OPCIONAL
User: SEU_USUÁRIO_DO_DOMÍNIO
Password: SENHA_DO_SEU_USUÁRIO
Mode: DEFAULT
Informações do Status do Serviço do CID
sudo cid status
sudo service cid status

O arquivo de configuração do CID é /etc/cid/cid.conf

Reinicie o sistema e logue com o usuário do domínio AD do Windows Server (2008, 2012, 2016 ou 2019) ou no Samba 4.x como DC em servidor GNU/Linux (Debian/Ubuntu Server/CentOS).

Referências:

https://sourceforge.net/p/c-i-d/documentation

Feito!

terça-feira, 20 de dezembro de 2016

Instalando, Configurando e Provisionando o Samba4 como Controlador de Domínio Active Directory (AD)

O presente Howto mostra os procedimentos necessários para instalação e configuração do Samba 4 como controlador de domínio Active Directory (AD) realizada nas distros Debian 8 e CentOS 7.

Observação: Recomendado usar a versão 4.4.5 por ser a mais estável no momento em ambiente de produção.

1. Configuração do servidor Samba
Hostname: samba4dc
Tipo de Serviço (Role): Domain Controler
Endereço IP: 192.168.1.4
Domínio: saitam.int
DNS Cliente: 192.168.1.4
Gateway default: 192.168.1.1

1.1 Criar o mapeamento do servidor
# vim /etc/hostname
samba4dc
# vim /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.4 samba4dc.saitam.int samba4dc

# /etc/init.d/hostname.sh restart

2. Instalação dos pacotes pré-requisitos para o Samba4
No Debian:
# apt-get install acl attr autoconf bison gcc g++ debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev libcap-dev libcups2-dev libgnutls28-dev libjson-perl libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl libpopt-dev libreadline-dev perl perl-modules pkg-config python-all-dev python-dev python-dnspython python-crypto xsltproc zlib1g-dev libgpgme11-dev python-gpgme python-m2crypto winbind libpam-winbind libnss-winbind
Durante o setup do Kerberos, preencha conforme solicitado
Reino por omissão do Kerberos versão 5: SEUDOMINIO.INT
No meu caso, coloquei SAITAM.INT
Servidores Kerberos para seu realm: 127.0.0.1
Servidor administrativo para seu realm Kerberos: 127.0.0.1

No CentOS:
# yum install perl gcc attr libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server libaio-devel setroubleshoot-plugins policycoreutils-python libsemanage-python perl-ExtUtils-MakeMaker perl-Parse-Yapp perl-Test-Base popt-devel libxml2-devel libattr-devel keyutils-libs-devel cups-devel bind-utils libxslt docbook-style-xsl openldap-devel autoconf python-crypto pam-devel

3. Download e instalação do Samba4
# mkdir /opt/samba4 && cd /opt/samba4
# wget -c "https://download.samba.org/pub/samba/stable/samba-4.4.5.tar.gz"
# tar -xzvf samba-4.4.5.tar.gz
# cd samba-4.4.5

Checa as dependências
# ./configure
'configure' finished successfully (7m45.311s)

Se ocorrer OK no passo anterior, execute o make para compilação
# make
No meu caso em Debian 8.5 ocorreu o seguinte erro abaixo no final da compilação.
Build failed: -> task failed (err #139): {task: manpages/smb.conf.5 smb.conf.5.xml,parameters.all.xml -> smb.conf.5}
Depois de uma pesquisa, descobri que era o bug do pacote docbook-xsl na versão 1.78.1+dfsg-1, a solução foi remover esse pacote via APT, fazer o download deste pacote na versão corrente e instalar via dpkg.
Segue os procedimentos:
# aptitude remove docbook-xsl
# cd /opt/samba4
# wget -c "http://ftp.br.debian.org/debian/pool/main/d/docbook-xsl/docbook-xsl_1.79.1+dfsg-2_all.deb"
# dpkg -i docbook-xsl_1.79.1+dfsg-2_all.deb

Executar novamente o # make
NOTA: Esse pacote docbook-xsl está na versão TESTING do Debian até a data de publicação deste post.
Após o término de compilação
Waf: Leaving directory `/opt/samba4/samba-4.4.5/bin'
'build' finished successfully (1h2m12.706s)

A instalação propriamente
# make install
Após o término de instalação
Waf: Leaving directory `/opt/samba4/samba-4.4.5/bin'
'install' finished successfully (28m41.800s)

3.1 Adicionar os comandos do Samba no PATH do sistema
# export PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:$PATH

4. Download e instalação do Bind 9.9.9-P4
Foi necessário instalar o Bind de forma compilada para adicionar parâmetros para o Samba 4 necessários para usar o BIND9_DLZ
Dependências necessárias:
# apt-get install libglobus-gssapi-gsi-dev libgssapi-krb5-2 libkrb5-dev
# mkdir /opt/bind9 && cd /opt/bind9
# wget -c "http://ftp.isc.org/isc/bind9/9.9.9-P4/bind-9.9.9-P4.tar.gz"
# tar -xzvf bind-9.9.9-P4.tar.gz
# cd bind-9.9.9-P4
#./configure --prefix=/usr/local/bind9 --with-gssapi=/usr/include/gssapi --with-dlopen=yes
# make
# make install

4.1 Adicionar usuário e grupo para o Bind
# groupadd -g 35 named
# useradd -u 35 -g named -d /var/named -M -s /sbin/nologin named


4.2 Adicionar os comandos do Bind no PATH do sistema
#export PATH=/usr/local/bind9/bin/:/usr/local/bind9/sbin/:$PATH

5. Configuração do servidor DNS
Como o Bind foi compilado e instalado em /usr/local/bind9 os arquivos de configuração fica em /usr/local/bind9/etc que serve para as distros Debian e CentOS nesse caso.

5.1 Configuração dos arquivos essenciais do Bind
Download do servidor DNS Root
# wget -q -O /var/named/named.root https://www.internic.net/zones/named.root
# chown root:named /var/named/named.root
# chmod 640 /var/named/named.root


5.2 Configuração do arquivo named.conf
# vim /usr/local/bind9/etc/named.conf
# Global Configuration Options
options {

  auth-nxdomain yes;
  directory "/var/named";
  notify no;
  empty-zones-enable no;

  # IP addresses and network ranges allowed to query the DNS server:
  allow-query {
  127.0.0.1;   192.168.1.0/24;
  };

  # IP addresses and network ranges allowed to run recursive queries:
  # (Zones not served by this DNS server)
  allow-recursion {
  127.0.0.1;   192.168.1.0/24;
  };

  # Forward queries that can not be answered from own zones
  # to these DNS servers:
  forwarders {
  8.8.8.8;
  8.8.4.4;
  };

  # Disable zone transfers
  allow-transfer {
  none;
  };
 };

# Root Servers
# (Required for recursive DNS queries)
zone "." {
  type hint;
  file "named.root";
};

# Forward zone: localhost
zone "localhost" {
  type master;
  file "master/localhost.zone";
};

# Reverse zone: 127.0.0.
zone "0.0.127.in-addr.arpa" {
  type master;
  file "master/0.0.127.zone";
};

# Zona direta domínio rede local saitam.int
zone "saitam.in" {
  type master;
  file "master/db.saitam";
};
# Zona reversa 192.
zone "1.168.192.in-addr.arpa" {
  type master;
  file "master/db.192";
};

5.3 Configuração das zonas direta e reversa
Zona direta localhost
# vim /var/named/master/localhost.zone
$TTL 604800

@ IN SOA localhost. root.localhost. (
  2016121801 ; serial
  604800 ; refresh
  86400 ; retry
  2419200 ; expiry
  604800 ; minimum
  )
;
  NS localhost.

localhost. IN A 127.0.0.1
# chown named:named /var/named/master/localhost.zone
# chmod 640 /var/named/master/localhost.zone

Zona reversa localhost
# vim /var/named/master/0.0.127.zone
$TTL 604800

@ IN SOA localhost. root.localhost. (
  2016121801 ; Serial
  604800 ; Refresh
  86400 ; Retry
  2419200 ; Expire
  604800 ; Minimum TTL
  )
;
  IN NS localhost.

1 IN PTR localhost.
# chown named:named /var/named/master/0.0.127.zone
# chmod 640 /var/named/master/0.0.127.zone

Zona direta para domínio saitam.int
# vim /var/named/master/db.saitam
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA saitam.int. root.saitam.int. (
  2016121801 ; Serial
  604800 ; Refresh
  86400 ; Retry
  2419200 ; Expire
  604800 ) ; Negative Cache TTL
  IN A 192.168.1.4
;
@ IN NS saitam.int.

  IN MX 5 saitam.int.

www IN CNAME saitam.int.
mail IN A 192.168.1.4
router IN A 192.168.1.1
gateway CNAME router
gw CNAME router
# chown named:named /var/named/master/db.saitam
# chmod 640 /var/named/master/db.saitam

Zona reversa do domínio saitam.int
# vim /var/named/master/db.192
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA saitam.int. root.saitam.int. (
  2016120701 ; Serial
  604800 ; Refresh
  86400 ; Retry
  2419200 ; Expire
  604800 ) ; Negative Cache TTL
;
@ IN NS saitam.int.
4 IN PTR saitam.int.
1 IN PTR router.saitam.int.
# chown named:named /var/named/master/db.192
# chmod 640 /var/named/master/db.192


5.4 Configuração do BIND_DLZ
Incluir o /usr/local/samba/private/named.conf no /usr/local/bind9/etc/named.conf na linha 1 # vim /usr/local/bind9/etc/named.conf
include "/usr/local/samba/private/named.conf";
5.5 Adicionar a atualização DNS do Kerberos em options
# vim /usr/local/bind9/etc/named.conf
Quando provisionar o samba vai criar essa chave e precisa ser adicionada aqui o path completo
tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab"; 
5.6 Habilitar o DLZ_BIND
Edite o arquivo /usr/local/samba/private/named.conf e descomente a linha conforme a versão do Bind instalada, nesse caso o Bind 9.9
# vim /usr/local/samba/private/named.conf
 # For BIND 9.9.x
  database "dlopen /usr/local/samba/lib/bind9/dlz_bind9_9.so";
5.7 Adicionar o domínio no arquivo /etc/resolv.conf
# vim /etc/resolv.conf
domain saitam.int
search saitam.int
nameserver 192.168.1.4
5.8 Iniciar o serviço do Bind
Estando com os comandos do Bind no PATH do sistema, conforme feito anteriormente pode executar de qualquer lugar no terminal, caso não tenha feito ainda, reveja o procedimento no item 4.2 ou terá que executar os comandos Bind dentro do diretório /usr/local/bind9/bin e /usr/local/bind9/sbin
# named -u named
Para parar o serviço do Bind é killall named
OBS: Fica a seu critério criar um script Shell com opção start|stop no diretório de inicialização no boot.

6. Instalar e Configurar o NTP
No Debian: # apt-get install ntp
No CentOS: # yum install ntp
# vim /etc/ntp.conf
# Relogio Local
server 127.127.1.0
fudge 127.127.1.0 stratum 10

6.1 Testar o NTP
# ntpq -p
remote refid st t when poll reach delay offset jitter

 ns507230.ip-192 137.146.28.85 2 u - 64 1 192.071 2.852 1.057
 vel.itat.io 162.23.41.10 2 u 2 64 1 257.998 0.743 1.999
 alpha.rueckgr.a 131.188.3.222 2 u 4 64 1 247.913 6.323 0.004
 c.st1.ntp.br .ONBR. 1 u 1 64 1 40.179 0.290 0.863
*LOCAL(0) .LOCL. 10 l 5 64 1 0.000 0.000 0.004
6.2 Reiniciar o serviço NTP
Debian: # /etc/init.d/ntp restart
CentOS: # systemctl restart ntp
[ ok ] Restarting ntp (via systemctl): ntp.service.
7. Proversionar o Samba4
Server role: dc
NIS extensão habilidada
DNS interno back end: BIND9_DLZ
Kerberos realm e AD DNS zona: samba4dc.saitam.int
NetBIOS domínio name: samba4dc
Administrador de domínio:

7.1 Prover o Samba AD no modo interativo
Estando com os comandos do Samba no PATH do sistema, conforme feito anteriormente pode executar de qualquer lugar no terminal, caso não tenha feito ainda, reveja o procedimento no item 3.1 ou terá que executar os comandos do Samba dentro do diretório /usr/local/samba/bin e /usr/local/samba/sbin
# samba-tool domain provision --use-rfc2307 --interactive
Realm [SAITAM.INT]
Domain [SAITAM]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ
Administrador password:
Retype password:
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: samba4dc
NetBIOS Domain: SAITAM
DNS Domain: saitam.int
DOMAIN SID: S-1-5-21-3436644580-1722986177-1604106671

8. Configuração do Kerberos
Primeiramente renomear o arquivo original do krb5.conf para backup
# mv /etc/krb5.conf /etc/krb5.conf.orig
Copiar o krb5.conf do Samba4 para /etc
# cp /usr/local/samba/private/krb5.conf /etc
Criar um link símbolico
# ln -sf /usr/local/samba/private/krb5.conf /etc/krb5.conf
Incluir as linhas caso não exista, adapte para domínio e endereço IP de sua rede.
# vim /usr/local/samba/private/krb5.conf
[realms]
SAITAM.INT = {
kdc = 192.168.1.4
admin_server = 192.168.1.4
}
9. Serviço Samba 4
No Debian:
# systemctl restart smbd
# systemctl restart nmbd
# systemctl restart winbind

No CentOS:
Reiniciar o daemon do SystemD
# systemctl daemon-reload
# systemctl enable samba-ad-dc
# systemctl start samba-ad-dc

10. Testes de comunicação
DNS
Verificar se o arquivo de zona direta e reversa contém erros # named-checkzone saitam.int /var/named/master/db.saitam
zone saitam.int/IN: loaded serial 2016121801
OK 
# named-checkzone 1.168.192.in-addr /var/named/master/db.saitam/db.192
zone 1.168.192.in-addr/IN: loaded serial 2016121801
OK
# host -t A saitam.int
saitam.int has address 192.168.1.4

# host -t SRV _ldap._tcp.saitam.int.
_ldap._tcp.saitam.int has SRV record 0 100 389 samba4dc.saitam.int.

# host -t SRV _kerberos._udp.saitam.int.
_kerberos._udp.saitam.int has SRV record 0 100 88 samba4dc.saitam.int.
10.1 Teste do mecanismos de autenticação Kerberos
# kinit administrator@SAITAM.INT
Password for administrator@SAITAM.INT:
Warning: Your password will expire in 41 days on Qua 01 Fev 2017 16:05:34 BRST
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@SAITAM.INT

Valid starting       Expires              Service principal
20-12-2016 16:47:15  20-12-2016 02:47:15  krbtgt/SAITAM.INT@SAITAM.INT
        renew until 20-12-2016 16:46:57
10.2 Autenticação com controlador de domínio Samba 4
# smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password:
Domain=[SAITAM] OS=[Windows 6.1] Server=[Samba 4.4.5]
  .                                   D        0  Sat Dec 17 18:08:21 2016
  ..                                  D        0  Sat Dec 17 18:08:48 2016

                9961324 blocks of size 1024. 5006248 blocks available
11. Administração de usuários e grupos do Samba 4 AD pelo terminal

Os comandos do Samba foram adicionados no PATH do sistema, caso não tenha adicionado ainda, reveja o procedimento no item 3.1 ou terá que executar os comandos do Samba dentro do diretório /usr/local/samba/bin e /usr/local/samba/sbin

11.1 Criar usuário no Samba 4 DC AD
# samba-tool user add usuario
New Password:
Retype Password:
User 'usuario' created successfully
11.2 Criar Grupo RH, Financeiro, TI dos setores da empresa
# samba-tool group add RH
Added group RH
# samba-tool group add Financeiro
Added group Financeiro 
# samba-tool group add TI
Added group TI 
11.3 Adicionar o usuário criado no grupo TI
# samba-tool group addmembers TI usuario
Added members to group TI 
11.4 Listar usuários
# samba-tool user list

11.5 Listar grupos
# samba-tool group list

12. Criar o arquivo smb.conf para compartilhamento de arquivos
# vim /usr/local/samba/etc/smb.conf
Arquivo smb.conf
Reinicie o serviço do Samba para efeito do smb.conf

13. Ingressar máquinas Windows no domínio Samba4 como AD
Agora é necessário ingressar as máquinas Windows no domínio, segue os procedimentos abaixo:
Maneira 1:
Clica com botão direito o atalho Meu Computador depois em Propriedades
Na aba Nome do computador, clica no botão ID de rede
Irá abrir o Assistente para identificação da rede, clique em Avançar, marque a opção Este computador faz parte de uma rede corporativa e o utiliza para conectar-me a outros computadores no trabalho, clique em Avançar, marque a primeira opção, antes de prosseguir tenha em mente o usuário,senha e nome de domínio que será pedido, clique em Avançar, e digite os dados respectivamente.
Maneira 2:
Clica com botão direito o atalho Meu Computador depois em Propriedades
Na aba Nome do computador, clica no botão Alterar, digite o nome de domínio, e OK.
No final do processo irá aparecer Bem-vindo ao domínio e avisará que deverá reiniciar o computador.

13.1 Cliente Windows 7 no domínio Samba 4 como AD


14. Instalação do RSAT no Windows 7 para gerenciar o Samba4 como se fosse o AD

Uma forma de gerenciar as novas GPOs de Windows 7 é com a ferramenta RSAT Segue abaixo o link para download e o processo de instalação/ativação caso você ainda não o conheça.

14.1. Faça o download do RSAT para Windows 7 SP1 através do link Tools RSAT for Windows 7 , respeitando o idioma e arquitetura da sua versão de Windows.
14.2.Instale esse pacote no seu PC.
14.3. Clique no botão Iniciar do Windows 7, digite Ativar Recursos e selecione “Ativar ou desativar recursos do Windows” .
14.4.Marque as opções desejadas em “Ferramentas de Administração de Servidor Remoto”, como na figura abaixo (você pode aproveitar e habilitar outros recursos como o Cliente Telnet) e clique em OK:
Após a instalação do RSAT por padrão o atalho para Ferramentas Administrativas já deve aparecer no seu Menu Iniciar do Windows.

Referências
[1] https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
[2] https://wiki.samba.org/index.php/Time_Synchronisation
[3] https://wiki.samba.org/index.php/Setting_up_a_BIND_DNS_Server
[4] https://wiki.samba.org/index.php/BIND9_DLZ_DNS_Back_End
[5] https://wiki.samba.org/index.php/Adding_users_with_samba_tool

Feito!

domingo, 27 de novembro de 2011

Configurando servidor Samba PDC no Linux

Hoje irei explicar como configurar Samba PDC(controlador de domínio) em uma rede com máquinas Windows XP.
Instalação
Debian: #apt-get install samba
CentOS: #yum install samba samba-client
Slackware: No CD1 encontra o pacote samba-3.5.2-i486-1.txz e digite:
#installpkg samba-3.5.2-i486-1.txz

Após instalado o pacote samba, execute os comandos abaixo na distro CentOS
#service smb start
#service nmb start
#chkconfig smb on
#chkconfig nmb on

Configuração do Samba
As configurações do Samba PDC são realizadas no arquivo /etc/samba/smb.conf
Estando no diretório /etc/samba fazemos o backup do smb.conf default
#mv smb.conf smb.conf.bkp
criamos o diretório de compartilhamento do samba
#mkdir /home/samba
smb.conf

#### SAMBA COM PDC
#======================= Global Settings =======================
[global]
workgroup = DOMINIO
netbios name = GRUPO
server string = Linux
os level = 33
log file = /var/log/samba/log.%m
log level = 1
max log size = 1000
debug level = 2
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd

#####Servidor de Data e Hora
time server = yes

#Parametros que aumentam o desempenho
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65536
getwd cache = yes

#Samba falando português
unix charset = iso8859-1
display charset = cp850
preserve case = no
short preserve case = no
default case = lower

#Servidor Wins
wins support = yes
wins proxy = no
dns proxy = no
max wins ttl = 518400
min wins ttl = 21600

#Configuração do domínio
domain master = yes
prefered master = yes
local master = yes
encrypt passwords = yes
admin users = root
add machine script = useradd -g pdc -c "Maquina do PDC" -s /bin/false -d /dev/null %u
domain logons = yes
logon script = netlogon.bat
logon drive = U:

##Sincronização das senhas dos usuários
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *:* %n\n *:* %n\n *successfully*

## Debugging/Accounting ####
# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m %u

# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
syslog only = yes

#Auditando os acessos
log level = 1
log file = /var/log/samba/samba-full_audit.log
max log size = 100000
vfs objects = full_audit
full_audit:sucess=open opendir write read unlink rename mkdir rmdir chmod chown
full_audit:prefix = %u|%I|%S
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice

#Lixeira
vfs objects = recycle
recycle:maxsize = 1000
recycle:repository = .recycle
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:noversions = .doc|.xls|.ppt
recycle:exclude = *.obj *.tmp *.o *~$* *.mp3 *.wma *.tmp *.temp
recycle:exclude_dir = /tmp/cache

[homes]
comment = Pasta %U
browseable = no
writable = yes

[netlogon]
comment = Network Logon Service
path = /etc/samba/netlogon
writable = no
browseable = no

[profiles]
comment = Users profiles
path = /home/profiles
read only = no

guest ok = no
browseable = no
create mask = 0600
directory mask = 0700

[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no

[Publico]
comment = Compartilhamento
path = /home/samba
browseable = yes
valid users = @grupos
writeable = yes
write list = @users
force create mode = 0770
force directory mode = 0770
recycle:repository = .recycle
vfs objects = recycle full_audit


Arquivo netlogon que faz o mapeamento das unidades de redes do usuário
netlogon.bat

@echo off
cls
echo logon para servidor samba Linux
rem Sincronizando a data e hora com servidor
net time \\saitam /set /yes
rem
rem Mapeamento das portas de impressoras do servidor
rem
if %OS%==Windows_NT goto WinNT
rem Mapeando Unidades de rede do usuário
:Win9x
echo Win9x
rem
net use F: \\saitam\Publico
#net use G: \\saitam\comum
net use U: /HOME /yes

goto end
rem
:WinNT
echo WinNT
net use F: \\saitam\Publico
#net use G: \\saitam\comum
echo Configurando teclado ABNT2
REG ADD "HKCU\Keyboard Layout\Preload" /V 1 /T REG_SZ /F /D 00010416
REG ADD "HKCU\Keyboard Layout\Substitutes" /V 00010416 /T REG_SZ /F /D 00010416
:end

Cadastrando usuários no Samba
Execute o comando abaixo para cadastrar usuários e poder acessar o diretório compartilhado.
#smbpasswd -a teste
Nota:
É necessário adicionar o hostname das máquinas Windows XP para que funcione o domínio nas mesmas. Se você não sabe como ver isso no Windows XP, siga os passos a seguir:
Clica com botão direito o atalho Meu Computador depois em Propriedades
Na aba Nome do computador
Iniciar -> Configurações -> Painel de Controle -> Sistema
Agora nas abas em cima, clique em Nome do Computador.
Em Frente ao Nome completo do Computador é o hostname.
No meu caso, coloquei como maquina1.
#useradd -d /dev/null -s /bin/false maquina1$
#smbpasswd -a -m maquina1

Configurando o Windows XP para acessar o domínio
Vou apresentar duas maneiras de ingressar o Windows XP no domínio
Maneira 1:
Clica com botão direito o atalho Meu Computador depois em Propriedades
Na aba Nome do computador, clica no botão ID de rede
Irá abrir o Assistente para identificação da rede, clique em Avançar, marque a opção Este computador faz parte de uma rede corporativa e o utiliza para conectar-me a outros computadores no trabalho, clique em Avançar, marque a primeira opção, antes de prosseguir tenha em mente o usuário,senha e nome de domínio que será pedido, clique em Avançar, e digite os dados respectivamente.
Maneira 2:
Clica com botão direito o atalho Meu Computador depois em Propriedades
Na aba Nome do computador, clica no botão Alterar, digite o nome de domínio, e OK.

No final do processo irá aparecer Bem-vindo ao domínio e avisará que deverá reiniciar o computador.

Auditoria de acessos
Adicione no syslog.conf local5.notice /var/log/samba/samba-full_audit.log

Iniciando o servidor samba
Por fim, inicie o servidor samba.
Debian: #/etc/init.d/samba start
CentOS: #service smb start
Slackware: #/etc/rc.d/rc.samba start

Agora na estação cliente(Windows) esta configurado no domínio Samba PDC.
Feito!

sexta-feira, 21 de outubro de 2011

Configurando servidor Samba no Linux

Neste post, irei explicar como compartilhar arquivos e impressoras na rede Windows e Linux.
Instalação
Debian: apt-get install samba
CentOS: yum install samba samba-client
Slackware: No CD1 encontra o pacote samba-3.5.2-i486-1.txz e digite:
installpkg samba-3.5.2-i486-1.txz

Após instalado o pacote samba, execute os comandos abaixo na distro CentOS
#service smb start
#service nmb start
#chkconfig smb on
#chkconfig nmb on

No Slackware execute:
#chmod +x /etc/rc.d/rc.samba
#/etc/rc.d/rc.samba start

Configuração do Samba
Para compartilhar arquivos e impressoras na rede, é realizado as configurações no arquivo /etc/samba/smb.conf

smb.conf

[global]
netbios name = SERVIDOR
workgroup = GRUPO
server string = Samba %v
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

[printers]
comment = All Printers
path = /var/spoll/samba
browseable = no
printable = yes
guest ok = yes
create mask = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
guest ok = yes

[homes]
vfs object = audit
comment = Home Directories
browseable = no
read only = no
vfs object = recycle
recycle:maxsize = 0
recycle:repository = .recycle
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:noversion = .doc|.xls|.ppt
recycle:exclude = *.obj *.tmp *.temp *.o ~$*
recycle:exclude_dir = /tmp/cache

[mnt]
comment = Share Files
path = /mnt
read only = no
guest ok = yes
create mask = 0664
directory mask = 0775

#Auditando os acessos
log level = 1
log file = /var/log/samba-full_audit.log
max log size = 1000
vfs objects = full_audit
full_audit:success = open opendir write unlink rename mkdir rmdir chmod chown
full_audit:prefix = %u|%I|%S
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice

#Lixeira
vfs object = recycle
recycle:maxsize = 0
recycle:repository = .recycle
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:noversions = .doc|.xls|.ppt
recycle:exclude = *.obj *.tmp *.temp *.o ~$*
recycle:exclude_dir = /tmp/cache


Cadastrando usuários no Samba
Execute o comando abaixo para cadastrar usuários e poder acessar o diretório compartilhado.
#smbpasswd -a saitam
Nota: Neste arquivo smb.conf foi compartilhado os diretórios /home e /mnt, no entando adapte as suas necessidades.

Auditoria de acessos
Adicione no syslog.conf local5.notice /var/log/samba-full_audit.log

Iniciando o servidor samba
Por fim, reinicie o servidor samba.
Debian: #/etc/init.d/samba start
CentOS: #service smb start
Slackware: #/etc/rc.d/rc.samba start

Agora na estação cliente(Windows) poderá acessar o servidor Samba (Linux).
Feito!