top of page
Foto do escritorLucas Linux

Instalando Servidor de Arquivos (Samba)



Quais são as suas principais funcionalidades?

Dentre tantas funcionalidades presentes no servidor Samba, podemos destacar:

  • Compartilhamento de arquivos, impressoras, diretórios, entre outros, com máquinas que rodam O Windows;

  • Controle de acesso e privilégios;

  • Resolução de nomes (DNS);

  • Configurações a partir de ambientes remotos.


Vale ressaltar que os recursos do Samba são bastante completos. Não por acaso, muitas corporações que possuem equipes de TI dedicadas usufruem dos recursos do Samba.


O Samba é compatível com praticamente qualquer versão do Windows, como NT 4.0, 9x, Me, 2000, XP e Server 2003, além de máquinas com o Linux, é claro.


Todo trabalho feito pelo Samba é provido de grande segurança, uma vez que há grande rigor nos controles dos recursos oferecidos. Tanto é que existem empresas que usam o Samba como solução para conflitos existentes entre diferentes versões do Windows.



Que vantagens o Samba oferece?

  • Como a principal função do servidor Samba é simular um servidor Windows, mais precisamente as distribuições do Windows Server, inevitavelmente o custo-benefício entra em jogo a favor do Samba.


  • Levando em consideração os bugs, que são muito menos recorrentes no Samba, a estabilidade e a segurança — visto que o software é instalado em um sistema GNU/Linux —, o sistema da Microsoft fica para trás.



 

INSTALANDO O SAMBA



O Samba é um software livre que está disponível sob a licença GNU (GNU's not Unix). Muitas distribuições Linux já o incluem, mas caso queira instalá-lo, é possível baixá-lo de seu site oficial - www.samba.org.





 

AMBIENTE FICTÍCIO PARA MELHOR ENTENDIMENTO

Para que fique claro para todos, irei simular um pequeno ambiente, mini laboratório,  onde teremos apenas 2 seções: Contabilidade e Financeiro.


Iremos também criar uma pasta chamada arquivos, onde será a principal pasta do nosso servidor de arquivos (SAMBA), e ela estará localizada no seguinte caminho:

/home/lucas

Obs.: Você pode criar a pasta arquivos no local que achar mais adequado.



Dentro da pasta arquivos:


Cada Seção terá sua pasta pessoal de compartilhada com o nome de:

pastaContabilidade

pastaFinanceiro


Cada Usuário não pode ter acesso aos arquivos de outra seção.


Terá uma pasta em que todos poderão acessar e iremos definir o nome de:

pastaPublico

Espero que até aqui todos tenham entendido nosso ambiente, será de extrema importância para continuar nosso tutorial de instalação e configuração.



 

Instalação do serviço Samba

Abra o terminal e execute os seguintes comandos:


Instalando

$ sudo apt-get install samba



 

CONFIGURAÇÃO DO SAMBA



Criando as pastas do nosso exemplo fictício

$ mkdir /home/lucas/arquivos/pastaContabilidade


$ mkdir /home/lucas/arquivos/pastaFinanceiro


$ mkdir /home/lucas/arquivos/pastaPublico


 

Criando os usuários no Linux.

O Samba utiliza o controle existente de usuários locais do sistema

$ sudo useradd contabilidade



$ sudo useradd financeiro



 

Criando os usuários no SAMBA

$ sudo smbpasswd -a contabilidade



$ sudo smbpasswd -a financeiro



 

Criando os Grupos

$ sudo groupadd grupoContabilidade



$ sudo groupadd grupoFinanceiro



$ sudo groupadd grupoPublico


 

Incluindo os usuários no grupo


Edite o arquivo de grupos:

$ sudo nano /etc/group



Você irá observar que no final do arquivo terá os usuários e grupos que você acabou de criar.



Agora basta incluir os usuários na linha dos grupos que você quer que eles façam parte. Se tiver mais de 1 usuário, apenas separe por vírgulas. (exemplo do grupoPublico)



Resumidamente estava assim antes

grupoContabilidade:x:1004:

grupoFinanceiro:x:1005:

grupoPublico:x:1006:


E agora ficou assim

grupoContabilidade:x:1004:contabilidade

grupoFinanceiro:x:1005:financeiro

grupoPublico:x:1006:contabilidade,financeiro



 

Mudando o dono da pasta para o grupo

Se você criou a pasta como root ou como usuário local, esses usuários automaticamente são os donos da pasta, então precisamos transferir essa permissão de dono para os grupos.


Use os seguintes comandos:

$ sudo chown -R root:grupoContabilidade /home/lucas/arquivos/pastaContabilidade


$ sudo chown -R root:grupoFinanceiro /home/lucas/arquivos/pastaFinanceiro


$ sudo chown -R root:grupoPublico /home/lucas/arquivos/pastaPublico


 

Ajustando as Permissões das pastas

Use os seguintes comandos:

$ sudo chmod 770 /home/lucas/arquivos/pastaContabilidade


$ sudo chmod 770 /home/lucas/arquivos/pastaFinanceiro


$ sudo chmod 770 /home/lucas/arquivos/pastaPublico


 

Conferindo as permissões

Para ver como estão as permissões e os donos das pastas, use o seguinte comando:


ls -la /home/lucas/arquivos



 

CONFIGURANDO O ARQUIVO PRINCIPAL DO SAMBA

Para sua segurança, copie o arquivo principal de configuração do samba para caso precise voltar ao original

$ cp /etc/samba/smb.conf /etc/samba/smb.conf-bkp


Edite o arquivo de configuração do samba

$ sudo nano /etc/samba/smb.conf


Bom, vá até o final do arquivo e inclua as seguintes linhas de configuração



[CONTABILIDADE] # Pasta apenas da Contabilidade

comment = Pasta CONTABILIDADE

path =/home/lucas/arquivos/pastaContabilidade

#visivel ao pesquisar

browserable = yes

#Acesso Somente para o grupo

valid users = @grupoContabilidade

#Acesso Somente para o grupo

write list = @grupoContabilidade

#somente leitura não

read only = no

# Permissão total para o dono, grupo e usuários

force create mode = 0777

# Permissão total para o dono, grupo e usuários

force directory mode = 0777

#Vetar extensoes para evitar virus na rede

veto files = /*.exe/*.lnk/*.com/*.pif/*.bat/*.scr/




[FINANCEIRO] # Pasta apenas da Financeiro

comment = Pasta FINANCEIRO

path =/home/lucas/arquivos/pastaFinanceiro

#visivel ao pesquisar

browserable = yes

#Acesso Somente para o grupo

valid users = @grupoFinanceiro

#Acesso Somente para o grupo

write list = @grupoFinanceiro

#somente leitura não

read only = no

# Permissão total para o dono, grupo e usuários

force create mode = 0777

# Permissão total para o dono, grupo e usuários

force directory mode = 0777

#Vetar extensoes para evitar virus na rede

veto files = /*.exe/*.lnk/*.com/*.pif/*.bat/*.scr/




[PUBLICO] # Pasta Publico

comment = Pasta PUBLICO

path =/home/lucas/arquivos/pastaPublico

#visivel ao pesquisar

browserable = yes

#Acesso Somente para o grupo

valid users = @grupoPublico

#Acesso Somente para o grupo

write list = @grupoPublico

#somente leitura não

read only = no

# Permissão total para o dono, grupo e usuários

force create mode = 0777

# Permissão total para o dono, grupo e usuários

force directory mode = 0777

#Vetar extensoes para evitar virus na rede

veto files = /*.exe/*.lnk/*.com/*.pif/*.bat/*.scr/



 

REINICIANDO O SERVIÇO SAMBA


Sempre ao fazer alguma alteração no SAMBA é recomendado reiniciar o serviço, então pode utilizar o seguinte comando:



Reiniciar o serviço

$ sudo service smbd restart

ou

$ sudo /etc/init.d/smbd restart




Caso precise Iniciar o serviço

$ sudo service smbd start

ou

$ sudo /etc/init.d/smbd start




Caso precise Parar o serviço

$ sudo service smbd stop

ou

$ sudo /etc/init.d/smbd stop




 

ACESSANDO O SERVIDOR DE ARQUIVOS (SAMBA)

Primeiramente você deverá saber qual endereço IP foi atribuído no seu servidor SAMBA.

Pode utilizar o seguinte comando:


$ ifconfig

ou

$ ip a




Cliente LINUX

Caso as máquinas dos clientes estejam com sistema operacional LINUX, o caminho é esse.

Abra qualquer pasta, se necessário pressione Ctrl+L e digite o caminho do IP do Servidor


smb://192.168.0.10


Logo após digite o Usuário e Senha do SAMBA




Cliente WINDOWNS

Caso as máquinas dos clientes estejam com sistema operacional Windowns, o caminho é esse.


Pressione a Tecla do logotipo do Windows  + R

Irá ser exibido a caixa de diálogo Executar

Digite o caminho do IP do Servidor


\\192.168.0.10

Logo após digite o Usuário e Senha do SAMBA




Pronto, com esse pequeno laboratório você poderá instalar e configurar um servidor de arquivos para qualquer tamanho de empresa. Espero ter sido claro nas explicações.




 

EXTRA

CURIOSIDADES SOBRE UTILITÁRIO SMBPASSWD

O smbpasswd é um utilitário usado para cadastrar, remover, desabilitar/habilitar e alterar senhas dos usuários do Samba via linha de comando.


O Samba não tem controle próprio de grupos e usuários, ele utiliza o controle existente no Linux. Para se criar um usuário no Samba, primeiro deve-se criar um usuário no Linux normalmente e logo em seguida associá-lo ao Samba com o comando:



$ sudo smbpasswd –a [nome_do_usuario]



Para se excluir um usuário usa-se o comando smbpasswd da sequinte forma:

$ sudo smbpasswd –x [nome_do_usuario]



Para desativar um usuário usamos:

$ sudo smbpasswd –d [nome_do_usuario]



E para habilitá-lo usamos:

$ sudo smbpasswd –e [nome_do_usuario]



Para alterarmos a senha de um usuário do samba usamos:

$ sudo smbpasswd –U [nome_do_usuario]



 

COMPARTILHAMENTO DE PASTA


DICA

Caso você precise criar uma pasta onde os usuários podem apenas VISUALIZAR os arquivos e apenas alguns pondem editar, altere no smb.conf as seguintes linhas do compartilhamento da pasta que deseja


troque read only = no para yes

Inclua os usuários que podem alterar na linha write list = usuarioX usuarioY e na linha valid users = usuarioX usuarioY





ERRO EM LINUX ANTIGOS

Erro: Falha ao montar o compartilhamento Windows: Tempo esgotado para conexão ou falha ao carregar a lista


Isso ocorre em sistemas linux mais antigos onde usam um protocolo mais antigo e a solução é bem simples.


Edite o /etc/samba/smb.conf


E inclua em Global a linha

server min protocol = LNMAN1


Reiniciar o serviço

$ sudo service smbd restart

ou

$ sudo /etc/init.d/smbd restart


Pronto




ERRO WINDOWS Várias Conexões

Caso o erro negar várias conexõe

Para resolver esse problema basta executar o seguinte procedimento no MS-DOS (Command)

net use * /del


Isso ocorre no Windows porque quando ele tem vários mapeamentos, uma hora esse limite excede, daí temos que excluir todos os mapeamentos








Não esqueça de seguir o Canal do Youtube e o Facebook LUCAS LINUX

Comments


bottom of page