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
no
yes
no
yes
no
yes
no
yes
no
/arquivos/scripts
yes
no
yes
no
yes
no
yes
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