Samba: Servidor de arquivos Linux com estações Windows
Esse artigo tem por objetivo mostrar como implementar um servidor de arquivos compartilhados seguro usando Linux + Samba. Assim como eu, muitos administradores trabalham em redes mistas (Windows e Linux). Então mãos a obra!
Cenário para implantação
Vamos primeiramente identificar o cenário, ou seja, a topologia de nossa rede.
1. É necessário um servidor Linux, nesse caso usei a distro Debian 5.0.
2. Clientes que acessarão o serviço. Podem ser arquitetura Unix, Linux e Microsoft. Nesse caso específico estamos usando estações Windows, pois a maioria dos funcionários não têm o conhecimento necessário para usar Linux por "N" motivos, desde falta de treinamento ou até mesmo o software no qual trabalham não ter similar para Linux.
Instalação dos pacotes.
# apt-get install samba
Configuração do arquivo /etc/samba/smb.conf.
Renomeie o arquivo /etc/samba/smb.conf:
# cd /etc/samba
# mv smb.conf smb.conf.bkp
Vamos criar um novo arquivo com o mesmo nome:
# touch smb.conf
Feito isso adicionaremos o seguinte conteúdo ao arquivo smb.conf. No prompt de comando use seu editor de preferência, neste caso usei o vim:
# vim smb.conf
Neste caso estamos criando duas pastas compartilhadas:
A pasta software será usada pela equipe de TI para fazer atualizações em estações de trabalho. A pasta programacao também será usada pela equipe de TI, porém apenas o pessoal de programação terá acesso.
Nesse ponto da configuração do sistema nosso servidor Samba permitirá acesso às pastas sem requisição de senha. É altamente recomendável adicionarmos uma senha para esses diretórios.
1. É necessário um servidor Linux, nesse caso usei a distro Debian 5.0.
2. Clientes que acessarão o serviço. Podem ser arquitetura Unix, Linux e Microsoft. Nesse caso específico estamos usando estações Windows, pois a maioria dos funcionários não têm o conhecimento necessário para usar Linux por "N" motivos, desde falta de treinamento ou até mesmo o software no qual trabalham não ter similar para Linux.
Instalação dos pacotes.
# apt-get install samba
Configuração do arquivo /etc/samba/smb.conf.
Renomeie o arquivo /etc/samba/smb.conf:
# cd /etc/samba
# mv smb.conf smb.conf.bkp
Vamos criar um novo arquivo com o mesmo nome:
# touch smb.conf
Feito isso adicionaremos o seguinte conteúdo ao arquivo smb.conf. No prompt de comando use seu editor de preferência, neste caso usei o vim:
# vim smb.conf
[global]
# Substituir xxxxxx pelo nome do domínio desejado caso necessário
workgroup = linux
# Substituir xxxxxx pelo nome do servidor caso necessário
netbios name = debmirror
server string = Samba
domain master = yes
preferred master = yes
local master = yes
domain logons = no
logon path = %systemroot%\%u
#logon script = todos.bat
security = user @root
encrypt passwords = yes
os level = 200
time server = yes
unix charset = iso8859-1
display charset = cp850
##Arquivo de log
log file = /var/log/samba/%m.log
max log size = 5000
debug level = 2
##Encrypta as senhas digitadas na rede, porém não funciona em estações## Windows 95 e Windows 3.11
smb passwd file = /etc/samba/smbpasswd
username map = /etc/samba/smbusers
##Garantir melhor desempenho do servidor
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
##Permite a utilização de impressoras compartilhas em estações Linux
load printers=yes
printing=lprng
printcap name = /etc/printcap
[Software]
path = /home/software
guest ok = yes
browseable = no
public = yes
writable = yes
read only = no
[programacao]
path = /home/programacao
guest ok = no
browseable = yes
public = no
writable = yes
read only = no
# Substituir xxxxxx pelo nome do domínio desejado caso necessário
workgroup = linux
# Substituir xxxxxx pelo nome do servidor caso necessário
netbios name = debmirror
server string = Samba
domain master = yes
preferred master = yes
local master = yes
domain logons = no
logon path = %systemroot%\%u
#logon script = todos.bat
security = user @root
encrypt passwords = yes
os level = 200
time server = yes
unix charset = iso8859-1
display charset = cp850
##Arquivo de log
log file = /var/log/samba/%m.log
max log size = 5000
debug level = 2
##Encrypta as senhas digitadas na rede, porém não funciona em estações## Windows 95 e Windows 3.11
smb passwd file = /etc/samba/smbpasswd
username map = /etc/samba/smbusers
##Garantir melhor desempenho do servidor
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
##Permite a utilização de impressoras compartilhas em estações Linux
load printers=yes
printing=lprng
printcap name = /etc/printcap
[Software]
path = /home/software
guest ok = yes
browseable = no
public = yes
writable = yes
read only = no
[programacao]
path = /home/programacao
guest ok = no
browseable = yes
public = no
writable = yes
read only = no
Neste caso estamos criando duas pastas compartilhadas:
- Software - /home/software
- programacao - /home/programacao
A pasta software será usada pela equipe de TI para fazer atualizações em estações de trabalho. A pasta programacao também será usada pela equipe de TI, porém apenas o pessoal de programação terá acesso.
Nesse ponto da configuração do sistema nosso servidor Samba permitirá acesso às pastas sem requisição de senha. É altamente recomendável adicionarmos uma senha para esses diretórios.