[ Introdução| Instalação| Configuração| Shares| Utilizadores| Windows]
Neste artigo vamos configurar o servidor Samba.
O processo de instalação criou um ficheiro de configuração. Vamos fazer um backup deste ficheiro e substituí-lo por um feito por nós:
# cd /etc/samba # mv smb.conf smb.conf.org
O novo ficheiro de configuração vai ser:
# /etc/samba/smb.conf
#
# GATOPARDO NET
#
# Histórico de alterações:
#
# 2007.02.18 - Primeira versão;
[global]
# Geral:
workgroup = GATOPARDO
netbios name = DEBIANSRV
server string = GATOPARDO SERVER Samba 3
encrypt passwords = yes
wins support = Yes
# Logs:
log level = 2
log file = /var/log/samba/samba.log.%m
max log size = 50000
debug timestamp = yes
# Printing:
# printing = cups
# printcap name = cups
# printcap cache time = 750
# cups options = raw
# printer admin = @ntadmin,root,administrator
# printcap cache time = 750
# Utilizadores:
username map = /etc/samba/smbusers
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon drive = H:
security = user
passdb backend = tdbsam
logon script = li-%G.cmd
# Scripts de gestão de utilizadores
add user script = /usr/sbin/useradd -m %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/sbin/usermod -G %g %u
add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
idmap uid = 15000-20000
idmap gid = 15000-20000
# Sincronizar as senhas do windows com o linux
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
passwd chat debug = yes
unix password sync = yes
# Dominio:
domain logons = yes
domain master = yes
local master = yes
# Forçar perfis locais:
logon home =
logon path =
# Eleições:
os level = 65
preferred master = yes
# LDAP:
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap suffix = dc=example,dc=com
[homes]
comment = Home Directories
valid users = %S
browseable = no
read only = no
inherit acls = yes
create mask = 0750
browseable = no
#[printers]
# comment = All Printers
# path = /var/tmp
# printable = yes
# create mask = 0600
# browseable = no
# guest ok = yes
[print$]
comment = Printer Driver Download Area
path = /arquivo/shares/drivers
browseable = no
guest ok = yes
read only = yes
write list = @ntadmin, root
[netlogon]
path = /arquivo/shares/netlogon
write list = sysadm
browseable = no
[admin]
comment = Share do grupo Administracao
path = /arquivo/shares/administracao/
writeable = yes
valid users = @admin
read only = no
create mask = 0660
directory mask = 0770
browseable = no
vfs objects = audit recycle
recycle:keeptree = No
recycle:repository = Recycle_Bin
recycle:directory_mode = 0770
recycle:touch = Yes
[secretariado]
comment = Share geral de secretariado
path = /arquivo/shares/secretariado/
writeable = yes
valid users = @secretariado
read only = no
create mask = 0660
directory mask = 0770
browseable = no
vfs objects = audit recycle
recycle:keeptree = No
recycle:repository = Recycle_Bin
recycle:directory_mode = 0770
recycle:touch = Yes
[tmp]
comment = Arquivos temporarios
path = /arquivo/shares/tmp
valid users = @tmp
read only = no
create mask = 0666
directory mask = 0777
browseable = yes
vfs objects = audit recycle
recycle:keeptree = No
recycle:repository = Recycle_Bin
recycle:directory_mode = 0770
recycle:touch = Yes
O ficheiro /etc/samba/smb.conf está dividido por secções, [global], [tmp], etc... e dentro de cada uma das secções temos os valores de configuração, na forma: <variável> = <valor>.
O Samba tem uma óptima documentação, pelo que vamos analisar apenas as variáveis de configuração mais interessantes:
Na secção [global] definem-se os parâmetros globais (grande surpresa!):
As outras secções identificam as directorias partilhadas a partir do servidor.
Vamos tomar como exemplo a share "admin":
[admin]
comment = Share do grupo Administracao
path = /arquivo/shares/administracao/
writeable = yes
valid users = @admin
create mask = 0660
directory mask = 0770
browseable = no
vfs objects = audit recycle
recycle:keeptree = No
recycle:repository = Recycle_Bin
recycle:directory_mode = 0770
recycle:touch = Yes
Temos então:
Os valores são atribuídos de acordo com a seguinte tabela:
| Read Ler |
Write Escrever |
eXecute eXecutar |
Octal |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 2 |
| 0 | 1 | 1 | 3 |
| 1 | 0 | 0 | 4 |
| 1 | 0 | 1 | 5 |
| 1 | 1 | 0 | 6 |
| 1 | 1 | 1 | 7 |
No caso do exemplo utilizámos create mask = 0660, ou seja demos permissões de leitura e escrita para o utilizador que cria um ficheiro e para o grupo. Negamos todo o tipo de acesso a quem não for o utilizador que criou o ficheiro.
Normalmente o Grupo corresponderia ao grupo primário do utilizador do linux, isso no nosso sistema de exemplo seria staff. No entanto, de modo a forçarmos os grupos dentro de cada share, vamos configurar mais adiante a directoria base da share com o sticky bit ligado, o que faz com que todos os ficheiros e/ou directorias criados por baixo desta directoria tenham como grupo o grupo da directoria base.
vfs objects = audit recycle - carregamos os módulos audit e recycle. o primeiro módulo regista todas as acções feitas sobre os ficheiros para o syslog o segundo módulo implementa uma funcionalidade de "Recycle bin" na share em causa.
As opções restantes são utilizadas para configuração do recycle bin.
Este ficheiro é utilizado para mapear os utilizadores de linux com os utilizadores do windows. Por agora necessitamos apenas de papear o utilizador root.
Este ficheiro reside em /etc/samba.
# Unix_name = SMB_name1 SMB_name2 ... # # See section 'username map' in the manual page of smb.conf for more # information. root = administrator admin administrador
<<< Anterior
>>> Seguinte