1                             Módulo 3 – SAMBA
                                Carlos Melo

Este é um exemplo de arquivo de configuração do Samba para um controlador de
domínio. Ele não contém as configurações para compartilhamento de impressoras,
lixeira e outras opções que você pode adicionar (juntamente com os
compartilhamentos desejados) depois de testar a configuração básica:

[global]
workgroup = Dominio
netbios name = SENAI
server string = Samba PDC

domain master = yes
domain logons = yes
logon script = netlogon.bat

security = user
encrypt passwords = yes
enable privileges = yes
passdb backend = tdbsam

preferred master = yes
local master = yes
os level = 100
wins support = yes

[netlogon]
comment = Servico de Logon
path = /var/samba/netlogon
read only = yes
browseable = no

[homes]
valid users = %S
create mask = 0700
directory mask = 0700
browseable = no

Acostume-se a sempre rodar o comando "testparm" depois de fazer alterações no
arquivo, pois ele verifica a sintaxe e indica erros de configuração. Ao configurar o
Samba como PDC, ele deve exibir a mensagem: "Server role: ROLE_DOMAIN_PDC",
como em:

$ testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[netlogon]"
Processing section "[homes]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
2                               Módulo 3 – SAMBA
                                  Carlos Melo

As linhas "preferred master = yes", "local master = yes" e "os level = 100" fazem com
que o servidor assuma também a função de master browser da rede. É comum que o
PDC acumule também a função de master browser, mas na verdade uma coisa não
tem relação com a outra. Você pode remover as três linhas e configurar outra máquina
para assumir a função de master browser se preferir.

Depois de configurar o arquivo, verifique se a conta root do sistema foi cadastrada no
Samba e se as senhas estão iguais. Caso necessário, use o comando "smbpasswd -a
root" para cadastrar o a conta de root no Samba. Aproveite para criar a pasta
"/var/samba/netlogon" e configurar corretamente as permissões:

# mkdir -p /var/samba/netlogon
# chmod 775 /var/samba/netlogon

Com o "775" estamos permitindo que, além do root, outros usuários que você
adicionar no grupo possam alterar o conteúdo da pasta. Isso pode ser útil caso existam
outros administradores de rede além de você.

Cadastre agora os usuários, com as senhas que eles utilizarão para fazer logon a partir
das máquinas Windows. Neste caso, não é preciso se preocupar em manter as senhas
em sincronismo entre o servidor e as estações. Na verdade, as contas que criamos aqui
não precisam sequer existir nas estações, pois o login será feito no servidor. Para
adicionar um usuário de teste "carlos", use os comandos:

# adduser carlos
# smbpasswd -a carlos

É importante criar também a pasta "profile.pds" dentro do diretório home do usuário,
onde o cliente Windows armazena as informações da sessão cada vez que o usuário
faz logon no domínio:

# mkdir /home/carlos/profile.pds

Ao rodar este comando como root, não se esqueça de ajustar as permissões da pasta,
de forma que o usuário seja o dono:

# chown -R carlos.carlos /home/carlos/profile.pds

Aproveite e crie a pasta "profile.pds" dentro do diretório /etc/skel, de forma que ela
seja criada automaticamente dentro do home dos usuários que criar daqui em diante:

# mkdir /etc/skel/profile.pds

Além das contas para cada usuário, é preciso cadastrar também uma conta
(bloqueada, e por isso sem senha), para cada máquina. Você deve usar aqui os
mesmos nomes usados na configuração de rede em cada cliente. Se a máquina se
3                             Módulo 3 – SAMBA
                                Carlos Melo

chama "cartago" por exemplo, é preciso criar um login de máquina com o mesmo
nome:

# useradd -d /dev/null -s /bin/false cartago$
# passwd -l cartago$
# smbpasswd -a -m cartago

Note que nos dois primeiros comandos é adicionado um "$" depois do nome, que
indica que estamos criando uma conta de máquina, que não tem diretório home (-d
/dev/null), não possui um shell válido (-s /bin/false) e está travada (passwd -l). Esta
conta é válida apenas no Samba, onde é cadastrada com a opção "-m" (machine). Estas
contas de máquina são chamadas de "trusted accounts" ou "trustee".

Lembre-se de que para usar este comando o arquivo "/etc/shells" deve conter a linha
"/bin/false". Em caso de erro ao adicionar a máquina, use o comando abaixo para
adicionar a linha e tente novamente (este comando só funciona se executado
diretamente usando o root, não funciona se executado usando o sudo):

# echo "/bin/false" >> /etc/shells

Se preferir, você pode adicionar as contas de máquina dentro de um grupo do sistema
("maquinas" ou "machines" por exemplo). Neste caso, crie o grupo usando o comando
"groupadd" e use o comando abaixo para criar as contas de máquina já incluindo-as no
grupo:

# useradd -g maquinas -d /dev/null -s /bin/false cartago$

Por último, é necessário criar o arquivo "/var/samba/netlogon/netlogon.bat", um
script que é lido e executado pelos clientes ao fazer logon. Você pode fazer muitas
coisas através dele, mas um exemplo de arquivo funcional é:

net use h: /HOME
net use x: senaiarquivos /yes

Este script faz com que a pasta home de cada usuário (compartilhada pelo Samba
através da seção "homes") seja automaticamente mapeada como a unidade "H:" no
cliente, o que pode ser bastante útil para backups, por exemplo. Naturalmente, cada
usuário tem acesso apenas a seu próprio home.

A segunda linha é um exemplo de como fazer com que determinados
compartilhamentos do servidor sejam mapeados no cliente. O "net use x:
senaiarquivos /yes" faz com que o compartilhamento "arquivos" (que precisaria ser
configurado no smb.conf) seja mapeado como o drive "X:" nos clientes. Lembre-se que
o "senai" dentro do netlogon.bat deve ser substituído pelo nome do seu servidor
Samba, configurado na opção "netbios name =" do smb.conf.

Microsoft word linux-03-03-prefis moveis

  • 1.
    1 Módulo 3 – SAMBA Carlos Melo Este é um exemplo de arquivo de configuração do Samba para um controlador de domínio. Ele não contém as configurações para compartilhamento de impressoras, lixeira e outras opções que você pode adicionar (juntamente com os compartilhamentos desejados) depois de testar a configuração básica: [global] workgroup = Dominio netbios name = SENAI server string = Samba PDC domain master = yes domain logons = yes logon script = netlogon.bat security = user encrypt passwords = yes enable privileges = yes passdb backend = tdbsam preferred master = yes local master = yes os level = 100 wins support = yes [netlogon] comment = Servico de Logon path = /var/samba/netlogon read only = yes browseable = no [homes] valid users = %S create mask = 0700 directory mask = 0700 browseable = no Acostume-se a sempre rodar o comando "testparm" depois de fazer alterações no arquivo, pois ele verifica a sintaxe e indica erros de configuração. Ao configurar o Samba como PDC, ele deve exibir a mensagem: "Server role: ROLE_DOMAIN_PDC", como em: $ testparm Load smb config files from /etc/samba/smb.conf Processing section "[netlogon]" Processing section "[homes]" Loaded services file OK. Server role: ROLE_DOMAIN_PDC
  • 2.
    2 Módulo 3 – SAMBA Carlos Melo As linhas "preferred master = yes", "local master = yes" e "os level = 100" fazem com que o servidor assuma também a função de master browser da rede. É comum que o PDC acumule também a função de master browser, mas na verdade uma coisa não tem relação com a outra. Você pode remover as três linhas e configurar outra máquina para assumir a função de master browser se preferir. Depois de configurar o arquivo, verifique se a conta root do sistema foi cadastrada no Samba e se as senhas estão iguais. Caso necessário, use o comando "smbpasswd -a root" para cadastrar o a conta de root no Samba. Aproveite para criar a pasta "/var/samba/netlogon" e configurar corretamente as permissões: # mkdir -p /var/samba/netlogon # chmod 775 /var/samba/netlogon Com o "775" estamos permitindo que, além do root, outros usuários que você adicionar no grupo possam alterar o conteúdo da pasta. Isso pode ser útil caso existam outros administradores de rede além de você. Cadastre agora os usuários, com as senhas que eles utilizarão para fazer logon a partir das máquinas Windows. Neste caso, não é preciso se preocupar em manter as senhas em sincronismo entre o servidor e as estações. Na verdade, as contas que criamos aqui não precisam sequer existir nas estações, pois o login será feito no servidor. Para adicionar um usuário de teste "carlos", use os comandos: # adduser carlos # smbpasswd -a carlos É importante criar também a pasta "profile.pds" dentro do diretório home do usuário, onde o cliente Windows armazena as informações da sessão cada vez que o usuário faz logon no domínio: # mkdir /home/carlos/profile.pds Ao rodar este comando como root, não se esqueça de ajustar as permissões da pasta, de forma que o usuário seja o dono: # chown -R carlos.carlos /home/carlos/profile.pds Aproveite e crie a pasta "profile.pds" dentro do diretório /etc/skel, de forma que ela seja criada automaticamente dentro do home dos usuários que criar daqui em diante: # mkdir /etc/skel/profile.pds Além das contas para cada usuário, é preciso cadastrar também uma conta (bloqueada, e por isso sem senha), para cada máquina. Você deve usar aqui os mesmos nomes usados na configuração de rede em cada cliente. Se a máquina se
  • 3.
    3 Módulo 3 – SAMBA Carlos Melo chama "cartago" por exemplo, é preciso criar um login de máquina com o mesmo nome: # useradd -d /dev/null -s /bin/false cartago$ # passwd -l cartago$ # smbpasswd -a -m cartago Note que nos dois primeiros comandos é adicionado um "$" depois do nome, que indica que estamos criando uma conta de máquina, que não tem diretório home (-d /dev/null), não possui um shell válido (-s /bin/false) e está travada (passwd -l). Esta conta é válida apenas no Samba, onde é cadastrada com a opção "-m" (machine). Estas contas de máquina são chamadas de "trusted accounts" ou "trustee". Lembre-se de que para usar este comando o arquivo "/etc/shells" deve conter a linha "/bin/false". Em caso de erro ao adicionar a máquina, use o comando abaixo para adicionar a linha e tente novamente (este comando só funciona se executado diretamente usando o root, não funciona se executado usando o sudo): # echo "/bin/false" >> /etc/shells Se preferir, você pode adicionar as contas de máquina dentro de um grupo do sistema ("maquinas" ou "machines" por exemplo). Neste caso, crie o grupo usando o comando "groupadd" e use o comando abaixo para criar as contas de máquina já incluindo-as no grupo: # useradd -g maquinas -d /dev/null -s /bin/false cartago$ Por último, é necessário criar o arquivo "/var/samba/netlogon/netlogon.bat", um script que é lido e executado pelos clientes ao fazer logon. Você pode fazer muitas coisas através dele, mas um exemplo de arquivo funcional é: net use h: /HOME net use x: senaiarquivos /yes Este script faz com que a pasta home de cada usuário (compartilhada pelo Samba através da seção "homes") seja automaticamente mapeada como a unidade "H:" no cliente, o que pode ser bastante útil para backups, por exemplo. Naturalmente, cada usuário tem acesso apenas a seu próprio home. A segunda linha é um exemplo de como fazer com que determinados compartilhamentos do servidor sejam mapeados no cliente. O "net use x: senaiarquivos /yes" faz com que o compartilhamento "arquivos" (que precisaria ser configurado no smb.conf) seja mapeado como o drive "X:" nos clientes. Lembre-se que o "senai" dentro do netlogon.bat deve ser substituído pelo nome do seu servidor Samba, configurado na opção "netbios name =" do smb.conf.