Buscar

Manual de configuração do Samba

Prévia do material em texto

Início Sobre Tecnologia Histologia e Patologia Contato
 By fabricio  8 de junho de 2015  Sem categoria
Share This:
Con�gurando um Servidor de Arquivos no Linux
com o Samba
Hoje em dia, em redes domésticas é comum a presença de um roteador que faz o
compartilhamento do acesso à internet entre os diversos dispositivos conectados à
rede. Também é comum haver apenas uma impressora compartilhada para todos
os dispositivos conectados à rede. Outra necessidade comum em uma rede de
computadores é o compartilhamento de arquivos. Compartilhar arquivos permite
que você grave seus arquivos em apenas um local, um computador ou um HD
externo, e acesse estes arquivos de qualquer outro dispositivo conectado à rede.
CONFIGURANDO UM SERVIDOR DE ARQUIVOSNO LINUX COM O SAMBA
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
1 de 23 14-07-2016 22:04
Os dispositivos que disponibilizam um determinado serviço pela rede para que
outros dispositivos se bene�ciem destes serviços são chamados de servidores. O
dispositivo responsável por receber o sinal de internet e disponibilizá-lo na rede
para outros dispositivos é chamado Servidor de Internet. Um computador que tem
uma impressora instalada e compartilha esta impressora com outros dispositivos, é
chamado Servidor de Impressão. Da mesma forma, os computadores que
compartilham arquivos com outros dispositivos são chamados Servidores de
Arquivos.
Economia, praticidade, alta disponibilidade e segurança são apenas algumas das
várias razões que nos levam a criar um servidor de arquivos em uma rede de
computadores. É claro que, em redes domésticas, sem a necessidade de tanta
segurança, apenas o compartilhamento de arquivos que acompanha as versões do
Windows que utilizamos em casa são su�cientes e dão conta do recado.
Por estas e por outras razões, desde empresas de pequeno porte até empresas de
grande porte, o compartilhamento de arquivos é um recurso muito importante.
Normalmente, as empresas investem em um servidor de arquivos.
No ambiente empresarial, a tarefa de compartilhar arquivos não é tão simples
quanto em uma rede doméstica. É preciso se preocupar com a segurança dos
arquivos, evitando que pessoas ou dispositivos não autorizados também não
tenham acesso aos arquivos compartilhados. Como são diversos usuários em uma
rede empresarial, é desejável que se tenha um controle do que os usuários estão
fazendo com os arquivos compartilhados. Os administradores que cuidam dos
Servidores de Arquivos precisam ter respostas para perguntas como: “Quem apagou
a planilha de faturamento mensal?”, “Quem fez o download deste vídeo?”.
Existem várias opções de Sistemas Operacionais para se montar um Servidor de
Arquivos. Entre as várias opções existentes, neste post vou mostrar como montar
um Servidor de Arquivos utilizando o Linux Debian 7 (Wheezy) e o Samba.
O Samba é uma solução criada para o Linux que, permite o compartilhamento de
arquivos e impressoras na rede local. Com o Samba, o Servidor con�gurado �ca
acessível tanto para clientes utilizando outras versões do Linux quanto para clientes
utilizando Windows. O Samba é dividido em dois módulos que são independentes
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
2 de 23 14-07-2016 22:04
entre si. O primeiro módulo é o servidor, que viabiliza o compartilhamento dos
arquivos. O outro é o cliente, que possibilita que outras máquinas utilizando Linux
acessem os arquivos compartilhados pelo servidor.
Passo 1 – Download e Instalação do Samba (Servidor)
Faça o download do módulo servidor do Samba:
# apt-get install samba
Instale também a documentação do Samba:
# apt-get install samba-doc
Passo 2 – Administrando o Samba
Depois de instalado inicie o servidor digitando o comando:
# /etc/init.d/samba start
Se você precisar parar o servidor a qualquer momento digite o comando:
# /etc/init.d/samba stop
Por default, o Samba será inicializado junto com o sistema operacional quando você
ligar o computador. Se você quiser desabilitar esta opção digite o comando:
# update-rc.d -f samba remove
Para habilitar novamente a inicialização automática do Samba junto com o Sistema
Operacional use o comando:
# update-rc.d -f samba defaults
Enquanto escrevo este post, o Samba está na versão 3.6.6. Você pode veri�car a
versão do Samba instalado no seu servidor digitando o comando:
# smbd -V
Passo 3 – Con�gurando o Samba
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
3 de 23 14-07-2016 22:04
A grande maioria das con�gurações que faremos no Samba �carão no arquivo
/etc/samba/smb.conf.
Por default, o Samba cria o arquivo “smb.conf” com algumas con�gurações default.
Para um melhor entendimento, recomendo que você abra este arquivo depois e leia
as linhas comentadas. Observe as con�gurações originais do arquivo. Sem nenhuma
dúvida, as con�gurações originais e os comentários do arquivo “smb.conf” são uma
ótima fonte de consulta e aprendizado sobre as con�gurações do Samba.
Para fazer as con�gurações do arquivo “smb.conf” desde o início faça um backup do
arquivo antes de começar:
# cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp
Em seguida, utilize o “nano” para editar o arquivo de con�guração e apague todo o
seu conteúdo.
# nano /etc/samba/smb.conf
A con�guração do arquivo smb.conf é dividida em seções. A primeira seção que
iremos con�gurar é chamada de “global”. Cada seção no arquivo é iniciada com o
nome da seção entre colchetes. Portanto crie a seção “global” na primeira linha do
arquivo desse jeito:
[global]
O nome “global” é padrão para a con�guração da seção global do Samba. A seção
“global” possui valores de con�guração que são comuns à todas as outras seções do
arquivo smb.conf. Para entender melhor como funciona a seção “global” podemos
fazer uma analogia ao conceito de herança da orientação à objeto. Todos os
atributos que você de�nir na seção “global” são automaticamente “herdados” pelas
outras seções de con�guração do seu arquivo “smb.conf”.
Dentro de cada seção são de�nidos os atributos de con�guração. Cada atributo de
con�guração possui um ou mais valores que de�nem o comportamento do Servidor
em relação à seção cujo atributo pertence.
Um atributo de con�guração, deve ser de�nido dentro das seções da sequinte
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
4 de 23 14-07-2016 22:04
maneira:
nome do atributo = valor de con�guracao
onde, “nome do atributo” é o nome da característica que estamos con�gurando e
“valor de con�guracao” é o valor que especi�ca o comportamento.
Dentro da seção “global” de�na os seguintes atributos de con�guração:
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
Salve o conteúdo do arquivo pressionando simultaneamente as teclas “CTRL + O”.
Antes de continuarmos, vamos entender o que foi feito até o momento no arquivo
de con�guração.
A linha [global] indica que neste ponto do arquivo inicia a con�guração da seção
chamada “global”. Em seguida o atributo “netbios name = ServidorSamba” especi�ca
qual será o nome do servidor na rede. O atributo “workgroup = ArquivosSamba”
especi�ca o grupo de trabalho ao qual o servidor é membro. O atributo “server
string = Arquivos Compartilhados” especi�ca uma descrição do computador. Nos
clientes Windwos, por exemplo, esta descrição será exibida antes do nome do
computador no Ambiente de Rede.
No arquivo smb.conf, além da seção “global” precisamos criar uma seção para cada
diretório (pasta) que queremos compartilhar. Neste tutorial, vamos criar uma seção
chamada “arquivos” que irá compartilhar o diretório “/mnt/compartilhado” e todos
os sub-diretóriose arquivos que estiverem dentro dele.
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
Os parâmetros da seção “arquivos” são: “path = /mnt/compartilhado”, este
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
5 de 23 14-07-2016 22:04
parâmetro especi�ca o caminho para o diretório que será compartilhado pelo
servidor; “comment = Arquivos compartilhados no Servidor Samba”, este parâmetro
é opicional e especi�ca um comentário sobre o compartilhamento.
Depois de tudo, todo o conteúdo do arquivo “smb.conf”, deve ter �cado assim:
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
Para que o compartilhamento funcione, salve o arquivo pressionando “CTRL+O” e
saia do editor nano pressionando as teclas “CTRL+X”. Para testar as con�gurações
que acabamos de fazer digite o comando “testparm” no terminal:
# testparm
Para que as alterações tenham façam efeito no Servidor de Arquivos, sempre que
você alterar o arquivo “smb.conf” reinicie o Samba digitando o seguinte comando no
terminal:
# /et/init.d/samba restart
Passo 4 - Criando o Diretório e Configurando as Permissões de
Acesso
Para que o compartilhamento de arquivos funcione corretamente, devemos criar o
diretório que será compartilhado e con�gurar as permissoes de acesso ao diretório
para os usuários.
Para criar o diretório que foi compartilhado nas con�gurações do arquivo “smb.conf”
digite o comando:
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
6 de 23 14-07-2016 22:04
# mkdir /mnt/compartilhado
O controle de permissões de acesso do Samba é muito e�caz e seguro. Há diversas
possibilidades para controlar as permissões de acesso aos arquivos compartilhados
pelo Samba, o que torna também este controle bastante �exível e fácil de ser
adaptado para qualquer necessidade.
Para facilitar o entendimento desta tarefa, vou dividir o controle das permissões de
acesso em dois níveis.
O primeiro nível será o controle de permissões do próprio sistema operacional, em
nosso caso o Debian 7. Primeiro vamos destacar que, todo usuário da rede que terá
acesso aos arquivos e pastas compartilhados deverá também ser um usuário
cadastrado no Linux. Para quem já trabalha com o Linux há algum tempo, já está
acostumado com o controle de permissões de pastas e arquivos. Para quem está
iniciando no Linux agora, pode estranhar no início, mas depois verá que o sistema
de controle de permissões de acesso do Linux é muito bom e �exível.
Colocando a mão na massa de novo, vamos cadastrar um usuário chamado
“rodrigo” no Debian 7 digitando o comando:
# adduser rodrigo
Criando usuário desta forma, mesmo usuários que só precisariam ter acesso às
pastas compartilhadas pelo Samba, poderiam usar suas credenciais para acessar o
Servidor. Há casos em que você precisa apenas criar um usuário no Ubuntu para
que ele tenha acesso às pastas compartilhadas e não quer que este usuário acesse o
servidor via ssh ou pelo terminal. Nestes casos, para criar o usuário você deverá
usar o comando abaixo:
# adduser --disabled-login --no-create-home rodrigo 
Este comando cria um usuário cadastrado no Linux. O usuário criado não tem pasta
home e não poderá acessar o servidor via terminal ou ssh.
Para liberar o acesso do usuário “rodrigo” à pasta que compartilhamos no Linux,
vamos criar um grupo chamado “arquivos”.
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
7 de 23 14-07-2016 22:04
# groupadd arquivos
Agora vamos tornar o grupo “arquivos” dono do diretório “/mnt/compartilhado”.
# chgrp arquivos /mnt/compartilhado
Vamos liberar acesso completo para o dono do diretório e para o grupo. Para os
demais usuários vamos liberar apenas o acesso de leitura e execução.
# chmod 775 /mnt/compartilhado
Agora vamos digitar o comando para adicionar o usuário “rodrigo” ao grupo
“arquivos”.
# adduser rodrigo arquivos
Utilizar os comandos acima nos dá uma boa ideia do quanto podem ser �exíveis as
permissões de acesso às pastas do Linux. Podemos compartilhar uma pasta para
um setor em que os funcionários do setor terão acesso completo à pasta. Podemos
criar um grupo que tenha acesso somente leitura à pasta compartilhada. Podemos
alterar o nível de permissão ou ainda incluir e excluir o acesso das pessoas à pasta
apenas trocando-as de grupos no Linux.
Agora que já �zemos a con�guração dos usuários e grupos no Linux, vamos
con�gurar o que neste tutorial estamos chamando de Segundo Nível do controle de
permissões de acesso. O segundo nível consiste em, adicionar os usuários do Linux
no Samba e con�gurar suas permissões de acesso no arquivo smb.conf.
Para adicionar um usuário do Linux no Samba vamos digitar o comando abaixo:
# smbpasswd -a rodrigo
Ao invés de apenas adicionarmos o usuário no Samba, vamos dar uma olhada em
alguns comandos do Samba para administrar os usuários.
A opção “-a” do comando smbpasswd adiciona o usuário do Linux ao Samba. Além
disso você pode desabilitar um usuário no Samba com a opção “-d”. Por exemplo,
vamos supor que o funcionário Rodrigo saiu de licença por um período e que,
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
8 de 23 14-07-2016 22:04
durante este período não terá acesso às pastas compartilhadas no Servidor. Você
pode desabilitá-lo com o comando:
# smbpasswd -d rodrigo
Para reabilitar o acesso do usuário às pastas compartilhadas utilize a opção “-e”.
Você também pode excluir de�nitivamente um usuário do Samba utilizando a opção
“-x”. Lembre-se que, ao excluir um usuário do Samba ele continuará cadastrado no
Linux. Portanto, se você pretende excluir o usuário também do Linux precisa utilizar
o comando “deluser”.
Passo 5 – Alterando o Tipo de Compartilhamento
Por default, o Samba con�gura todos os compartilhamentos como somente leitura.
Para alterar este comportamento e criar um compartilhamento completo, em que os
usuários podem ler e gravar arquivos nas pastas compartilhadas, adicione no
arquivo “smb.conf”, o parâmetro “writeable = yes”. Observe abaixo, que �z a
con�guração do compartilhamento chamado “arquivos” como completo. Caso você
queira que todos os compartilhamentos do servidor sejam completos, basta incluir o
parâmetro “writeable = yes” na seção “global”.
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
Passo 6 – Habilitando o Acesso dos Usuários ao Compartilhamento
Dentro do arquivo “smb.conf” nós podemos incluir algumas regras de acesso aos
arquivos e pastas compartilhados. Colocar regras de acesso no arquivo de
con�gurações, adiciona uma camada extra de proteção aos compartilhamentos.
Para você entender melhor como isso funciona, podemos de�nir o conteúdo do
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
9 de 23 14-07-2016 22:04
arquivo “smb.conf” da seguinte forma:
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = rodrigo
No exemplo acima, estamos especi�cando que o valor do parâmetro “valid users” é
“rodrigo”. Com esta con�guração estamos dizendo que somente o usuário “rodrigo”
terá acesso à pasta compartilhada.
Para habilitar o acesso de mais usuários ao mesmo compartilhamento, basta
separá-lospor vírgula ao especi�car o valor do atributo de con�guração “valid
users”. Por exemplo, para dar acesso aos usuários “rodrigo” e “renan” basta
substituir a última linha do arquivo de con�guração por:
 valid users = rodrigo, renan
Claro que, con�gurar usuário por usuário em todos os compartilhamentos de um
servidor, nem sempre é a solução mais prática. Para resolver este problema, você
pode dar permissão de acesso à um grupo de usuários. Desta forma, o Samba irá
veri�car se o usuário que está tentando acessar à pasta compartilhada, pertence à
um dos grupos autorizados no parâmetro “valid users”. O comando para validar um
grupo de usuários é o mesmo e a diferença é que o nome do grupo deve ser
precedido do sinal de “+”.
Por exemplo, para dar permissão de acesso à todos os usuários do grupo “arquivos”,
o parâmetro “valid users” deve �car assim:
valid users = +arquivos
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
10 de 23 14-07-2016 22:04
Além disso, podemos combinar as duas opções. Vamos supor que o usuário “joao”
não é do grupo “arquivos” mas deverá ter acesso ao compartilhamento con�gurado
pela seção “arquivos”. A con�guração do arquivo “smb.conf” deve �car assim:
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = +arquivos, joao
Por default, isto é, se não de�nirmos nenhuma regra de acesso, todos os usuário
terão acesso ao compartilhamento. Podemos usar o comando “invalid users” para
excluir apenas alguns usuários que não queremos que tenham acesso. Por exemplo,
imagine que todos os usuários poderão acessar o compartilhamento chamado
“arquivos” menos a usuária “maria”. Neste caso, bastaria colocarmos no nosso
arquivo “smb.conf” dentro da seção “arquivos” a linha:
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = +arquivos
invalid users = maria
Podemos usar a mesma regra do parâmetro “valid users” para trabalhar com grupos
de usuários na con�guração do parâmetro “invalid users”. No exemplo acima,
mesmo que a usuária “maria” faça parte do grupo “arquivos” ela não terá acesso ao
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
11 de 23 14-07-2016 22:04
diretório “/mnt/compartilhado”.
Os parâmetros “write list” e “read list” servem para criar listas de usuários com
permissões de escrita e permissões de leitura, respectivamente. Por exemplo,
podemos dar acesso ao nosso compartilhamento para os usuários “rodrigo” e
“renan”, porém o usuário “renan” terá apenas permissões de leitura. Para fazer esta
con�guração basta adicionar as linhas abaixo na seção “arquivos”. Para atender
estas novas regras de negócio, nosso arquivo “smb.conf” �cou assim:
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = rodrigo, renan
read list = renan
Con�gurando estes três parâmetros estamos dizendo para o Samba que o
compartilhamento é completo, ou seja, permite leitura e escrita. Os usuários válidos
são “rodrigo” e “renan”, somente estes usuários terão acesso ao nosso
compartilhamento. Porém, o usuário “renan” terá permissões apenas de leitura, ou
seja, não poderá gravar arquivos nas pastas nem alterar e salvar os documentos
compartilhados.
Podemos facilmente obter o contrário desta con�guração colocando a seguinte
combinação de parâmetros de con�guração no arquivo “smb.conf”:
writable = no
valid users = rodrigo, renan
write list = rodrigo
O parâmetro “writable = no” indica que o compartilhamento é somente leitura,
portanto todos os usuários terão permissão apenas para ver o conteúdo das pastas
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
12 de 23 14-07-2016 22:04
e arquivos compartilhados. Os usuários válidos são “rodrigo” e “renan” que foram
indicados pelo parâmetro de con�guração “valid users”. Por �m, o parâmetro “write
list” de�ne que somente o usuário “rodrigo” tem permissões de escrita, ou seja,
somente este usuário poderá alterar o conteúdo das pastas e arquivos
compartilhados.
Passo 7 – De�nindo as Permissões de Acesso por IP’s
Em alguns casos, além da permissão de usuários pode ser preciso fazer um controle
de permissões por endereços IP.
O parâmetro “hosts allow” permite que você informe como valor um endereço IP ou
uma lista de endereços IP separados por vírgula. Se você con�gurar este parâmetro,
apenas os endereços IP’s da lista terão permissão para acessar o compartilhamento.
Observe a con�guração abaixo.
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = rodrigo, renan
read list = renan
hosts allow = 192.168.0.1, 192.168.0.5
Repare que a última linha do arquivo de con�guração torna o compartilhamento
“arquivos”, disponível apenas para os IP’s 192.168.0.1 e 192.168.0.5. É interessante
observar também que os usuários com permissão para acessar este
compartilhamento são apenas “rodrigo” e “renan”. Você já ter presumindo que, com
a con�guração acima, os usuários “rodrigo” e “renan” só terão acesso ao
compartilhamento se estiverem utilizando os dispositivos de IP 192.168.0.1 e
192.168.0.5.
Também é possível liberar o acesso para uma faixa inteira de endereços IP, basta
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
13 de 23 14-07-2016 22:04
colocar somente a faixa de endereços, por exemplo:
hosts allow = 192.168.0.
Você também pode trabalhar com exceções no parâmetro “hosts allow”. Por
exemplo, você pode con�gurar para que todos os IP’s de uma faixa tenham acesso
ao compartilhamento, exceto alguns IP’s. Veja abaixo como con�gurar o parâmetro
“hosts allow” para que todos os IP’s começados com 192.168.0. tenham acesso ao
compartilhamento, exceto os IP’s com �nal 1 e 2.
hosts allow = 192.168.0. EXCEPT 192.168.0.1, 192.168.0.2
É possível habilitar todos os endereços exceto alguns. Basta con�gurar o parâmetro
“hosts allow” desta forma: hosts allow = ALL EXCEPT 192.168.0.1, para dar permissão
de acesso para todos os dispositivos exceto o dispositivo identi�cado pelo IP
192.168.0.1.
Ao contrário do que o parâmetro “hosts allow” faz, o parâmetro “hosts deny” impede
que todos os endereços con�gurados acessem o compartilhamento.
É importante destacar que, o parâmetro “hosts allow” tem precedência sobre o
parâmetro “hosts deny”, independente da ordem que são colocados no arquivo de
con�guração. Ou seja, se você �zer a con�guração do parâmetro “hosts deny =
192.168.0.2, 192.168.0.3” e a con�guração do parâmetro “hosts allow = 192.168.0.2”,
o dispositivo com IP = 192.168.0.2 irá acessar o compartilhamento de qualquer
forma.
É possível desabilitar um compartilhamento com o parâmetro “available”. Este
parâmetro aceita dois valores, “yes” que é a opção default e “no”. Se você colocar o
parâmetro “available = no” em uma seção do arquivo “smb.conf” o
compartilhamento �ca desabilitado até que você remova esta linha ou altere o valor
do parâmetro para “yes”. No exemplo abaixo você pode observar o parâmetro
“available” con�gurado na seção “arquivos”.
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
Configurando um Servidor de Arquivos no Linux como... http://www2.virtuatradecenter.com.br/2015/06/08/config...
14 de 23 14-07-2016 22:04
server string = Arquivos compartilhados
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = rodrigo, renan
read list = renan
hosts allow = 192.168.0.1, 192.168.0.5
available = no
Também é possível tornar o compartilhamento oculto. Tornar o compartilhamento
oculto sigini�ca apenas que ele não irá aparecer diretamente quando o usuário
acessar a máquina. Desta forma, para acessar o compartilhamento, o usuário �ca
obrigado a conhecer o nome do compartilhamento e digitar este nome diretamente
na barra de endereços ou no terminal.
Para tornar um compartilhamento oculto, basta incluir na seção referente ao
compartilhamento que se quer ocultar o parâmetro “browseable” e atribuir o valor
“no” para o parâmetro. Quando quiser que o mapeamento �que visível novamente,
atribua o valor “yes” ao parâmetro “browseable” ou então remova a linha da seção
“arquivos”.
Passo 8 – De�nindo mais Opções de Con�guração de Usuários
O comando “smbstatus” possibilita que você visualize quais usuários e quais
computadores estão acessando os compartilhamentos no Servidor de Arquivos.
Para ver o resultado, digite no terminal o comando:
# smbstatus
Para de�nir o nível de segurança do Servidor de Arquivos, podemos fazer algumas
alterações nos parâmetros da seção “global” no arquivo “smb.conf”. Primeiro,
observe a nova con�guração do arquivo “smb.conf” exibida logo abaixo, em seguida
vou comentar sobre os novos parâmetros de con�guração que estão destacados em
negrito.
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
15 de 23 14-07-2016 22:04
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
security = user
  encrypt passwords = yes
  invalid users = root
  username level = 2
  preserve case = no
  default case = lower
  interfaces = eth0
  bind interfaces only = yes
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = rodrigo, renan
read list = renan
hosts allow = 192.168.0.1, 192.168.0.5
available = no
Dentro da seção “global” o parâmetro “security” de�ne o nível de segurança dos
compartilhamentos. Neste caso, estamos mantendo o nível de segurança em nível
de usuário. Este nível de segurança solicita permissão de acesso para todos os
usuários que tentarem acessar os compartilhamentos. Há ainda outras opções para
o parâmetro “security” que são: domain, share e server. Você pode encontrar mais
explicações sobre os outros modos de con�guração do parâmetro “secutiry” aqui.
O parâmetro “encrypt passowrds = yes” diz ao Servidor de Arquivos para utilizar
senhas criptografadas. Esta já é a con�guração default do Samba mas, pre�ro
colocar a linha com o valor default e caso necessários, posteriormente apenas altero
o valor de con�guração dos parâmetros.
Por motivos de segurança, desabilitamos o acesso aos compartilhamentos do nosso
Servidor de Arquivos, por outros usuários logados como “root”. Para fazer isso
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
16 de 23 14-07-2016 22:04
con�guramos o já conhecido parâmetro “invalid users = root”. Como �zemos esta
con�guração na seção “global” ela também será utilizada para todos os outros
compartilhamentos con�gurados em nosso Servidor de Arquivos.
O linux é um sistema operacional case sensitive. Quer dizer que, no linux os
caracteres maiúsculos são tratados de forma completamente diferente por exemplo
que no Windows. Por exemplo, no Linux podemos criar uma conta para o usuário
“rodrigo” e outra conta para o usuário “Rodrigo”. Como o Windows não é um sistema
case sensitive, esta con�guração não é possível porque ele considera que “rodrigo” e
“Rodrigo” são o mesmo usuário.
Portanto, você pode ter um usuário no Windows com o nome de “Rodrigo” e no linux
este usuário é “rodrigo”. Para que o Samba resolva estes problemas no momento
em que o usuário faz o login, de�nimos o parâmetro “username level = 2”. Desta
forma, se no momento do login do usuário o Samba não encontrar na base de
usuários um usuário chamado “Rodrigo” como foi informado pelo Windows, ele irá
fazer outras buscas alternando entre caracteres maiúsculos e minúsculos. Você
pode de�nir níveis de busca maiores que dois, entretanto quanto maior o nível
de�nido no parâmetro “username level” maior poderá ser o tempo de resposta do
login.
Os parâmetros “preserve case = no” e “default case = lower” con�guram o Servidor
de Arquivos para não armazenar os nomes de de arquivos como são recebidos e
sempre armazenar os arquivos de�nindo o nome com os caracteres minúsculos. Por
exemplo, um usuário manda salvar um arquivo com o nome “MeuDocumento.TXT”
em uma pasta compartilhada pelo nosso Servidor de Arquivos, o Samba irá
renomear o arquivo e salvar como “meudocumento.txt”.
Por default, o servidor escuta todas as requisições de compartilhamento e �ca
disponível em todas as placas de rede do Servidor de Arquivos. O parâmetro
con�gurado na seção “global” como “interface = eth0”, muda este comportamento e
torna nosso Servidor de Arquivos disponível apenas pela placa de rede con�gurada
em eth0. Para que esta con�guração funcione corretamente também con�gurei o
parâmetro “bind interfaces only = yes”.
Passo 9 – Compartilhando a pasta home dos usuários
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
17 de 23 14-07-2016 22:04
Com o Samba é possível compartilhar a pasta “home” de cada usuário. Cada usuário
tem acesso somente à sua pasta “home” e não poderá modi�car ou ver os arquivos
de outros usuários.
Abaixo, coloquei um exemplo de como podemos con�gurar nosso arquivo
“smb.conf” para que os usuários tenham acesso à sua pasta “home”.
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
security = user
encrypt passwords = yes
invalid users = root
username level = 2
preserve case = no
default case = lower
interfaces = eth0
bind interfaces only = yes
[homes]
valid users = %s
read only = no
create mask = 0700
directory mask = 0700
browseable = no
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = rodrigo, renan
read list = renan
hosts allow = 192.168.0.1, 192.168.0.5
available = yes
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
18 de 23 14-07-2016 22:04
No conteúdo do arquivo “smb.conf” apresentado logo acima, vamos nos focar agora
em entender o que foi feito na seção “homes”.
Primeiro con�guramos o parâmetro “valid users = %s” especi�cando que apenas o
próprio usuário tem acesso à pasta home. Os parâmetros “create mask = 0700” e
“directory mask = 0700” deixam todos os arquivos e pastas acessíveis apenas pelo
usuário. O parâmetro “browseable = no” con�gura o Servidor de Arquivos para que
apenas o próprio usuário veja sua pasta home compartilhada.
Por default, o Samba compartilha toda a pasta home do usuário. Se este não for o
comportamento desejado e você quiser compartilhar apenas uma pasta dentro da
pasta home, você pode con�gurar o parâmetro “path”. Por exemplo, para
compartilhar uma pasta chamada “arquivos” dentro da pasta home de cada usuário,
inclua na seção “homes” do arquivo “smb.conf” a seguinte linha:
path = /home/%u/arquivos
Para que este compartilhamento funcione, você precisará criar a pasta “arquivos”
dentro da pasta de cada usuário. As pastas criadas para cada usuário, no momento
em que as contas do linux são criadas, vêm da pasta /etc/skel. Para que você não
tenha quecriar manualmente a pasta “arquivos” toda vez que criar um novo usuário
no linus basta digitar o comando seguinte no terminal:
# mkdir /etc/skel/arquivos
Agora, sempre que você criar um usuário no seu Servidor de Arquivos, o Linux irá
criar uma pasta chamada “arquivos” dentro da pasta “homes”.
Passo 10 – Con�gurando um Compartilhamento Público
Em alguns casos, desejamos apenas que os usuários tenham acesso às pastas
compartilhadas sem precisarem digitar login e senha.
Para exempli�car o funcionamento deste compartilhamento, vamos supor que você
deseja compartilhar um diretório público chamado “public”, criado diretamente na
raiz do Servidor de Arquivos.
A primeira coisa é criar o diretório público com o comando:
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
19 de 23 14-07-2016 22:04
# mkdir /public
Agora vamos criar um usuário chamado “convidado”. Este será o usuário que iremos
utilizar para fazer os acessos sem senha ao nosso compartilhamento público. Para
criar o usuário “convidado” digite:
# adduser convidado
Adicione o usuário à lista de usuários do Samba:
# smbpasswd -a convidado
Mude o dono e o grupo do diretório “public”
# chown -R convidado:convidado /public
Agora, vamos fazer a con�guração dentro do nosso arquivo “smb.conf”.
[global]
netbios name = ServidorSamba
workgroup = ArquivosSamba
server string = Arquivos compartilhados
security = user
encrypt passwords = yes
invalid users = root
username level = 2
preserve case = no
default case = lower
interfaces = eth0
bind interfaces only = yes
  map to guest = bad user
  guest account = convidado
[homes]
valid users = %s
read only = no
create mask = 0700
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
20 de 23 14-07-2016 22:04
directory mask = 0700
browseable = no
[publico]
  path = /public
  comment = Arquivos publicos do Servidor Samba
  available = yes
  guest ok = yes
[arquivos]
path = /mnt/compartilhado
comment = Arquivos compartilhados no Servidor Samba
writeable = yes
valid users = rodrigo, renan
read list = renan
hosts allow = 192.168.0.1, 192.168.0.5
available = yes
A nova con�guração do arquivo “smb.conf” apresentada acima mostra como fazer a
con�guração de um compartilhamento público. Vamos agora analisar os novos
parâmetros de con�guração da seção “global” e também estudar a nova seção
chamada “publico” que foi criada no arquivo.
Na seção “global” con�guramos o Samba para mapear os usuários não cadastrados
ou com senhas inválidas. Ou seja, sempre que um usuário tentar cadastrar e o login
não for válido, este acesso será mapeado para um usuário convidado. Em seguida, o
parâmetro “guest account = convidado” con�gura o Samba para usar o usuário
chamado “convidado” nos casos que descrevemos anteriormente.
Também foi criada uma seção chamada “publico”. O nome “publico” não é
obrigatório e você pode dar qualquer nome para esta seção, bem como criar várias
seções públicas com nomes diferentes. Na seção que foi criada, a única novidade é o
parâmetro “guest ok = yes”. Este parâmetro con�gura que o compartilhamento
desta seção está disponível para a conta mapeada como guest na seção “global”.
O parâmetro “guest ok = yes” torna o compartilhamento disponível para todos os
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
21 de 23 14-07-2016 22:04
usuários. Entretanto, quando o usuário tenta acessar o compartilhamento em uma
estação de trabalho, é solicitado o login e a senha. Mesmo que o usuário não tenha
um login e uma senha, a tela solicitando o login e senha ainda aparece e
independente do que o usuário digite o compartilhamento será aberto.
Em alguns casos, este não é o comportamento desejado quando criamos um
compartilhamento público. Às vezes, desejamos que os compartilhamentos públicos
estejam disponíveis para todos os usuários sem solicitar login e senha. Para
conseguir este comportamento, similar ao Simple Sharing do Windows, em um
compartilhamento do Samba, você deve substituir o parâmetro “guest ok = yes” pelo
parâmetro “guest only = yes”.
Os compartilhamentos são criados, muitas vezes, para atenderem as necessidades
de pessoas. As pessoas não são como máquinas. Máquinas são mais constantes e a
menos que haja algum problema físico, as máquinas só executam o que foram
programadas para executar. As pessoas não são assim programadas e podem
 acabar fazendo coisas que não queriam fazer. Em um compartilhamento de
arquivos, é normal que um usuário ou outro apague algum arquivo sem querer.
Para ajudar a resolver este tipo de problema, o Samba oferece a possibilidade de
criar uma lixeira para os compartilhamentos do Servidor. Observe abaixo, a nova
con�guração da seção “arquivos” do nosso arquivo “smb.conf”.
[arquivos]
path = /mnt/compartilhado
writeable = yes
valid users = rodrigo, renan
read list = renan
hosts allow = 192.168.0.1, 192.168.0.5
available = yes
comment = Arquivos compartilhados no Servidor Samba
  vfs object = recycle
  recycle:repository = lixeira
  recycle:keeptree = yes
  recycle:exclude = *.tmp, *.bak
  recycle:exclude_dir = tmp, cache
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
22 de 23 14-07-2016 22:04
 Manutenção – MICRÓTOMO ROTATIVO YD202
Manutenção Inclusores – PLACA REFRIGERADA
A nova con�guração da seção “arquivos”, destacada em negrito, cria uma pasta
chamada lixeira dentro da pasta compartilhada. Poderia ser qualquer nome que
você desejasse. Também con�gura algumas exclusões, ou seja, se o usuário excluir
um arquivo com extensão “tmp” este não irá para a lixeira.
Chegamos ao �nal de nosso tutorial. Espero, sinceramente, estar ajudando algumas
pessoas que como eu já precisaram vasculhar a internet atrás de informações que,
nem sempre encontramos em apenas um tutorial.
A maioria das informações publicadas neste tutorial, foram retiradas do site
www.hardware.com.br e você também pode acessá-las neste link. O que �z, foi
apenas pegar as informações de lá, juntar com outras informações que achei
importantes e transformar em um exemplo prático de con�guração para um
Servidor de Arquivos.
Um grande abraço a todos e até o próximo post!
PLEASE ADD WIDGETS
Remove this message by adding widgets to Footer Widget Area 1.
Click here to go to Widget area.
Developed by Think Up Themes Ltd. Powered by Wordpress.
Configurando um Servidor de Arquivos no Linux com o... http://www2.virtuatradecenter.com.br/2015/06/08/config...
23 de 23 14-07-2016 22:04

Continue navegando