Clique aqui para o download do script de instalação do samba.
Para instalar o Samba basta rodar um sudo apt install. Abaixo, o comando que instala o samba juntamente com alguns adicionais.
sudo apt install samba -y
sudo apt install samba-common -y
sudo apt install samba-testsuite -y
sudo apt install samba-vfs-modules -y
sudo apt install fuse -y
sudo apt install fuse-emulator-gtk -y
sudo apt install fuse-emulator-utils -y
sudo apt install fusefat -y
sudo apt install fuse-zip -y
sudo apt install fuseiso -y
sudo apt install fusesmb -y
sudo apt install gvfs -y
sudo apt install gvfs-common -y
sudo apt install gvfs-fuse -y
Para utilização do samba é necessário cadastrar seu usuário nele.
sudo smbpasswd -a $USER
Será solicitado incluir uma senha. Pode-se atribuir a mesma senha de login no sistema do usuário, embora não seja aconselhável.
Exemplo de arquivo smb.conf:
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
wins support = yes
dns proxy = yes
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
#
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
#
#
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
#
#
##### PASTAS COMPARTILHADAS
#
[usuario2$Servidor]
comment = Pasta home de Usuario em Servidor.
path = /home/usuario2/
browseable = yes
read only = no
guest ok = no
valid users = usuario2
#
[usuario1$Servidor]
comment = Pasta home de Bruna usuario1 em Servidor.
path = /home/usuario1/
browseable = yes
read only = no
guest ok = no
valid users = usuario1, usuario2
#
[play$Servidor]
comment = HD de Multimidia em Servidor.
path = /mnt/A829-4889/
browseable = yes
read only = no
guest ok = yes
#
[HD$Servidor]
comment = HD em Servidor.
path = /mnt/3D5F3E455DFDCFF4/
browseable = yes
read only = no
guest ok = no
valid users = usuario2
#
[host$Servidor]
comment = Host do Apache em Servidor.
path = /var/www/html/
browseable = yes
read only = no
guest ok = yes
#
[nuvem$Servidor]
comment = Pasta do Dropbox em Servidor.
path = /home/usuario2/Dropbox/
browseable = yes
read only = no
guest ok = no
valid users = usuario2
3.2.1 Parametros iniciais
Parâmetros possíveis e aceitos no arquivo /etc/samba/smb.conf.
Variaveis de ambiente que podem ser usadas
%a - sistema operacional do cliente
%I - endereco ip do cliente
%m - nome NetBios do cliente
%M - Nome DNS do cliente
%u - Nome do usuario efetivo
%U - Nome do usuario NetBios primario Linux correpondente ao %u
%g - Grupo* Diretorio home de %u %G` - -Grupo primario de %U
Nome do servico corrente
%d - Numero do processo (PID) do servidor corrente
%h - Nome DNS da maquina em que o samba esta rodando
%L - Nome NetBios do servidor samba
%N - Diretorio home do servidor, do mapeamento automount
%v - Versao do samba
%R - O nivel do protocolo SMB que foi negociado
%T - Data e horario correntes
[global] Determina o nome NetBios do servidor samba netbios name = SAMBA
Determina o dominio ou grupo de trabalho no qual o samba vai se anunciar workgroup = DOMINIO
Define a pontuacao do servidor samba para ser eleito como PDC, minimo de 33 os level = 254
Define se o servidor tentará se tornar o navegador principal do dominio.
main aster = yes Define se o servidor tentará ou não participar das eleições para navegador local do grupo de trabalho e se o servidor samba na eleição de masterbrowser terá vantagens.
Define se o servidor samba é um dominio para que clientes façam logons domain logons = yes
Define se o servidor é o masterbrowser master browse = yes
Determina um comentatio que ira aparecer junto ao ambiente de rede server string = Samba %v on (%h)
Determina o caminho dos perfis das contas no exemplo abaixo, ficara em \nomedoservidor[Profiles]\nome_da_conta logon path = \%L\Profiles\%U
Determina o drive de logon logon drive = J:
Determina o logon home ou seja pasta do usuário principal manualmente logon home = \%L\homes\%U
Determina um script de logon padrão caso deseje logon script = nomedoscript.bat ou nomedoscript.cmd
Define o nivel de seguranca do servidor sao eles [user], [server], e [domain] security = user
Define o tamanho maximo do log do samba. Padrão de 5mb ou 5000kb. max log size = 5000
Define a ordem de pesquisa da resolução de nomes do samba name resolve order = lmhosts host wins bcast
Define o nivel de depuração do samba nos daemons. valores de 0 a 9. debug level = 1
Define como o servidor samba vai se anunciar announce as = [NT Server] [NT Workstation] [Windows 9x]
Define o programa de senhas utilizado pelo samba passwd program = /usr/bin/passwd %u
Define o script de logon da conta no caso abaixo ele ira procurar algum scipts que bate com o mesmo numero da conta criada, portanto Netbios name. logon script = %U.bat
Define o arquivo onde estao instaladas e configuradas as impressoras no servidor muito importante caso deseje compartilhar impressoras no samba printcap name = /etc/printcap load printers = yes
Define se tem suporte wins ou nao. wins support = yes wins proxy = yes dns proxy = yes max wins ttl = 518400 wins server = 192.168.xxx.xxx
Define o numero de caracteres das senhas e do login password level = 10 username level = 10
Define se as restrições do usuário nos módulos PAM terão efeito também no samba. obey pam restrictions = yes
Define as condições das senhas. min password length = 5 password history = 2 user must logon to change password = yes maximum password age = 10 minimum password age = 5 lockout duration = 3 reset count minutes = 2 bad lockout attempt = 2
Define se o servidor vai mostrar horas time server = yes lpq command = lpq -P’%p’ socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 lprm command = lprm -P’%p’ %j lpresume command = lpc release ‘%p’ %j print command = lpr -r -P’%p’ %s printing = lprng queuepause command = lpc stop ‘%p’ unix password sync = Yes queueresume command = lpc start ‘%p’ lppause command = lpc hold ‘%p’ %j log level = 1
Define se usa caracteres em formato windows unix charset = iso8859-1 display charset = cp850
Define se as palavras vão ser em minusculas preserve case = no short preserve case = no default case = lower
Funções:
comentário define um comentario.yes no define se o compartilhamento é ou não somente leiturayes no define se o compartilhamento é ou não modo escritayes no define se o compartilhamento é publicoyes noyes noyes noyes noyes no/arquivos/scriptsyes noyes noyes noyes no Indica se as restrições do usuário nos módulos PAM terão efeitoyes no Define se oculta ou nao as extençoes dos arquivosyes Define se o usuario pode ou nao apagar os arquivos vetados.| recycle:noversions = .doc | .xls | .ppt |
Seção especial do samba, nao pode ser esquecida, é a pasta pessoal do login
[homes] comment = Pastas dos usuarios read only = no writable = yes public = no writeable = Yes valid users = %S create mask = 0664 create mode = 0640 force create mode = 0640 directory mask = 0775 force directory mode = 0777 browsable = yes locking = no write cache size = 500000
Define parametros para os perfis do windows
[Profiles] path = /arquivos/profiles read only = No guest ok = Yes writeable = Yes browseable = No
Define parametros para os scripts de logon da microsoft
[netlogon] browseable = no comment = Compartilhamento de Scripts path = /arquivos/scripts
Secao especial do samba, nao pode ser esquecida
[printers] comment = Impressoras ( Todas ) path = /var/spool/samba
Define parametros para uma possivel atualizacao de anti virus
[base] guest ok = No writable = yes comment = Impressora Laser Postscript path = /var/spool/samba printer name = HP browseable = yes printable = yes printer = lp printing = lprng read only = yes guest ok = yes valid users = usuario1, usuario2, @grupo1, @grupo2 create mode = 0700
Define parametros para o diretoio principal [samba] comment = Diretorio Principal path = /arquivos read only = No force create mode = 0775 force directory mode = 0775 guest ok = yes writeable = Yes
Define um exemplo de compartilhamento [teste] comment = Pasta de teste path = /arquivos/teste write list = @suporte read only = No force create mode = 0775 force directory mode = 0775 valid users = usuario1, usuario2, @grupo1, @grupo2 guest ok = Yes browseable = Yes
Define se oculta ou nao as extençoes dos arquivos hide dot files = Yes
Define quais extencao vao ser ocultadas hide files = /.mp3/.wav/.tif/.pif/.mpg/.mpeg/.jpg/.bmp
Define quais extençoes vao ser vetadas, ou seja nao poderao ser visualizadas veto files = /.mp3/.wav/.tif/.pif/.mpg/.mpeg/.jpg/.bmp
Define se o usuario tem permissão ou nao apagar os arquivos vetados veto fi = yes
Um Exemplo Completo
[exemplo] comment = Comentario path = /arquivos/teste valid users = @grupo1, @grupo2 read only = No create mask = 0777 force create mode = 0775 force security mode = 0775 guest ok = No browseable = No locking = no write cache size = 500000 share modes = no veto files = /*.mp3/*.wav/*.tif/*.pif/*.jpg/*.bmp hide files = /*.mp3/*.wav/*.tif/*.pif/*.jpg/*.bmp vfs objects = recycle recycle:repository = .recycle recycle:keeptree = True recycle:maxsize = 1024000 recycle:versions = True recycle:noversions = .doc|.xls|.ppt|.pdf recycle:touch = False recycle:exclude = *.tmp*.temp *.obj*.~??Smb.conf SAMBA PDC Criado por : Paulo Junior - www.blog.paulojr.info - www.paulojr.info Data : 08/02/2008