login
Wed 20 of Oct, 2021 (06:03 UTC)

[root@madeira.eng.br ~]#

Linux - It is now safe to turn on your computer

atualizar cache imprimir

Compartilhando arquivos e diretórios com o Samba em Redes Windows

Criada por: Frederico Madeira, última modificação em: Sat 12 of Jan, 2008 (04:44 UTC)

Introdução


O Samba é uma coleção de programas que implementam o SMB (Server Message Block) (commonly abbreviated as SMB) para sistemas operacionais derivados do unix. Eventualmente, esse protocolo é também chamado de CIFS (Common Internet File System).
O Samba também implementa o protocolo NetBIOS através do nmbd.
O Samba está disponível através do seu website em www.samba.org

Aplicações:


- Servidor de arquivos;
- Servidor PDC(primary domain controller) de rede windows;
- Servidor de Impressão
- Spool de Impressão

Primeiros Passos

Para que você consiga acessar um servidor samba, primeiramente você deve possuir uma conta de usuário no servidor, seja ela um usuário real, ou um guest.

Para criar um usuário para uso no samba, procedemos da seguinte maneira:


# Identificando o gid para o grupo users.
[root@info /]# cat /etc/group | grep users
users:x:100:

# Criação do usuário teste_smb, pertencente ao grupo users e sem permissão de login no servidor (-s /bin/false)
[root@info /]# /usr/sbin/adduser -g 100 -c "Usuário para acesso ao samba" -s /bin/false teste_smb

# Travando a senha do shell linux do usuário, para que ele não possa usá-la no acesso ao shell do servidor.
[root@info /]# passwd -l teste_smb
Locking password for user teste_smb.
passwd: Success

# Adicionando o usuário teste_smb ao samba. Neste passo, definimos a senha que o usuário irá usar para acessar o servidor.
[root@info /]# smbpasswd -a teste_smb
New SMB password:
Retype new SMB password:
Added user teste_smb.


Já preparamos o usuário no sistema operacional linux e o usuário do samba. Com isso o samba poderá relacionar as permissões de usuários e grupos do linux com o seu arquivo de usuários (smbpasswd)

Checando o usuário shell que foi criado:

[root@info /]# cat /etc/passwd | grep teste_smb
teste_smb:x:504:100:Usuario para acesso ao samba:/home/teste_smb:/bin/false


O uid dele é 504 e gui é 100

Checando o usuário samba que foi criado:

[root@info /]# cat /etc/samba/smbpasswd
teste_smb:504:62583F71BAF6952A2DA3B274E0C515F0:5A067FC74C7500A819E3E63AC97511F1:[U ]:LCT-41C255FB:


Observamos que o uid corresponde ao uid do sistema: 504

Já estamos prontos para configurar o samba propriamente dito:

Iremos configurar os parâmetros necessários para nossa configuração.

Arquivo de Configuração


O arquivo de configuração do samba é o /etc/samba/smb.conf. Ele é dividido em duas sessões: Global e Sharing(compartilhamentos).

Sessão Global



[global]
# Definição do grupo de trabalho do servidor. O que for colocado aqui aparecerá no ambiente de rede windows
workgroup = informatica

# Descrição do servidor
server string = Servidor de Arquivos

# Permite o acesso apenas para os hosts nas redes especificadas.
hosts allow = 192.168.0. 127. 192.168.1.

# Carrega a lista das impressoras configuradas no sistema
printcap name = /etc/printcap
load printers = yes

# Representa uma conta guest, caso não seja de interesse, comente esta linha. Lembro que o usuário nobody deve existir
guest account = nobody

# Configura o samba para usar um arquivo de log para cada máquina que se conecte a ele
log file = /var/log/samba/%m.log
# caso queira um log único, use a linha abaixo
# log file = /var/log/samba/smbd.log

# Define o tamanho do arquivo de log. Em kb
max log size = 50

# Define a forma que o samba irá permitir acesso aos seus compartilhamentos. Se usarmos o parâmetro user, limitamos o acesso apenas a usuários cadastrados no servidor
security = user

# Se vc compartilhará recursos com sistemas que fazem diferença de caso(Maiúsculo/Minúsculo), siga as instruções abaixo:
# Preserva o caso(Maiúsculo/Minúsculo) do arquivo
preserve case = no

# Define se o arquivo criado pelo cliente obedecerá o padrão default do cliente. No caso definindo em no, significa que o arquivo será criado com o caso definido em defaul case
short preserve case = no

# Por default o DOS usa caixa alta, vamos definir como default caixa baixa
default case = lower

# Ativa ou desativa a verificação do caso pelo samba
case sensitive = no


Sessão de Compartilhamentos


Definição dos compartilhamentos. Aqui são definidas as pastas que deseja-se compartilhar com a rede.


#Faz com que sempre se mapei o diretório home do usuario
[homes]
comment = Diretorios de usuarios
browseable = no
writable = yes

# Para uso com máquinas NT/2000. o servidor cria um share netlogon
[netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = yes
writable = no
share modes = no

# Carrega a lista de impressoras do sistema
[printers]
comment = All Printers
path = /va r/spool/samba
browseable = no
public = yes
guest ok = no
writable = no
printable = yes

# Cria um compartilhamento do diretorio tmp da máquina
[tmp]
comment = Temporary file space
path = /tmp
read only = no
valid users = teste_smb
write list = +users

# Define um diretório de acesso público, somente leitura, exceto para as pessoas que estejam dentro do grupo users
[public]
comment = Diretorio publico
path = /home/samba
public = yes
read only = yes
write list = +users


Parâmetros usados em compartilhamento


ParâmetroFunção
commentComentário do compartilhamento
pathpasta a compartilhar
publcDefine que todos podem acessar o compartilhamento
read onlydefine com somente leitura
write listDefine as pessoas ou grupos que podem gravar no compartilhamento. Se um grupo for especificado, anteceda ele com uma + (No passado era utilizado @).
create maskDefine a máscara de criação de arquivos dentro deste diretório, Ex: 775
browseableEsconde o diretorio de todos
writableDefine se é possível gravar no compartilhamento
valid usersUsuários válidos para o compartilhamento


Lembretes


1- As permissões aplicadas no arquivo do samba, devem ser compatíveis com as do sistema operacional, pois se você der permissão para o usuário do samba gravar no diretório /tmp/public e ele não tiver esta permissão no sistema operacional, o samba retornará erro de permissão inválida.

2- Existem muitas outras opções, consulte no man page do aplicativo ou no site www.samba.org

3- Nas versões antigas, o grupo era indicado por @, nas versões atuais é utilizado o símbolo +

Artigos Relacionados

Problemas comuns na configuração do Samba
Acessar compartilhamentos Windows em máquinas Linux


Abraços e até a próxima.


Frederico Madeira
www.madeira.eng.br

Comentários