[ 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