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
Comments