Instalação, configuração do Samba e utilização de quota

Com a necessidade de compartilhar arquivos e dados entre Windows e Linux tornou-se indispensável a tecnologia de um servidor Samba. Este artigo foi escrito com ajuda de Marcos E.M. Ribeiro, referente a um servidor Samba que objetiva transferir arquivos na rede, apresentando uma máquina como ponto central para realizar o compartilhamento na rede.

[ Hits: 56.049 ]

Por: Wesley de Toledo Costa em 25/02/2012


Instalando o Samba e configurando o smb.conf



Para instalar o pacote Samba, execute o seguinte comando:

# apt-get install samba smbclient samba-doc

Após instalar o Samba, editar o arquivo smb.conf, que se encontra no seguinte caminho:

# vi /etc/samba/smb.conf

Abaixo o arquivo como exemplo:

# responsável pelas configurações gerais do Samba
[global]
# nome do grupo de trabalho
workgroup = “nome do grupo”
# nome do servidor
netbios name = samba
# habilita o servidor para suporte WINS
wins support = Yes
# define os usuários que serão administradores
   admin user = admin
#=================== Definições de Pastas ====================
# cria o modo de permissões temporárias para o usuário

local máster = Yes
   os level = 100
   preferred máster = Yes
   create mode = 0755
   directory mode = 0755
   directory mask = 0777
valid users = apoio,aluno,admin
# define os IP’s que terão acesso ao servidor
hosts allow = 192.168.1.0/255.255.255.0  
[instalacao]
    writeable = Yes
    read list = admin
    path = /home/instalacao
    create mask = 0777
    directory mask = 0777
    valid users = admin
[aulas]
#permite a leitura do diretório na rede
          writeable = Yes    
# define a lista de usuários que podem ler dentro do diretório
          read list = aluno
# define a lista de usuários que podem gravar dentro do diretório
write list = apoio,admin
# local do diretório que será compartilhado
      path = /home/aulas
   # permissão para criação
create mask = 0777
directory mask = 0777
# define a lista de usuários que podem acessar o diretório
         valid users = apoio, admin, aluno  
[aluno]
writeable = Yes
       browseable = no
       read list = admin,aluno,apoio
      path = /home/aulas/aluno
       create mask = 0777
     directory mask = 0777
      directory mode = 0755
      valid users = apoio, admin, aluno
# Fim do smb.conf


Adicionando usuários, permissões e grupos

Com o arquivo smb.conf configurado, deverá adicionar os usuários que foram criados no sistema para serem usados também no Samba. O Samba utiliza os usuários existentes no sistema, para definir qual usuário tem acesso a qual diretório. Para adicionar um usuário do sistema no Samba, usamos o comando:

# smbpasswd –a "nome do usuário"

Ex.:

# smbpasswd –a apoio
# smbpasswd –a admin  
# smbpasswd –a aluno
# smbpasswd –a professor


Para excluir um usuário do Samba, execute o comando:

# smbpasswd –x “nome do usuário”

Ex.:

# smbpasswd –x professor

Após executar o comando para adicionar usuário ao Samba, será solicitada uma senha para o usuário, é necessário que essa senha para o usuário Samba seja a mesma senha do usuário no sistema, caso contrário não será possível acessar o compartilhamento usando este usuário.

Com os usuários do sistema inseridos no Samba, deve-se definir no sistema quem é o dono e de qual diretório e seu grupo pertence para ser compartilhado. Para isso, acesse o diretório /home e executamos o comando:

cd /home

Listar os diretórios para verificar as permissões:

# ls –la

Será exibida na tela uma lista semelhante a abaixo:
drwxr-xr-x 0 root root 4096 2011-09-23 20:00 aulas
drwxr-xr-x 0 root root 4096 2011-09-23 20:01 instalacao

Criar os grupos para incorporar os usuários e suas permissões. Para adicionar um grupo basta executar o comando:

# addgroup "nome do grupo"

Adicione os grupos a ser utilizados.

Ex.:

# addgroup professores
# addgroup aluno


Agora vamos alterar o dono e o grupo do diretório /home/aulas e /home/instalacao para apoio, executado o seguinte comando:

# chown dono:grupo "nome do diretório"

Ex.:

# chown apoio:professores aulas
# chown aluno:aluno aluno
# chown admin:admin instalacao


Onde, Apoio é dono do grupo professores para o diretório “aulas” e a ordem segue a mesma para as demais linhas de permissões acima.

Por fim, pode restartar o serviço do Samba e testar. Use o comando a seguir:

# cd /etc/init.d

Depois:

# ./smbd restart
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando o Samba e configurando o smb.conf
   3. Testando o compartilhamento
Outros artigos deste autor

Autenticar estação de trabalho GNU/Linux no Windows Server - Instalação e configuração do Centrify

Samba - Instalação e configuração descomplicada

Squid configurado como proxy no Ubuntu Server

Leitura recomendada

Sobre WINS (Windows Internet Name Service)

Samba e as "vulnerabilidades" encontradas

Instalando o Swat

Samba como controlador de domínio no Ubuntu

Scripts no SAMBA

  
Comentários
[1] Comentário enviado por paraguay75 em 27/02/2012 - 16:20h

Boa tarde

Amigo esta de parabéns pela sua explicação.
Sou novo com Linux , queria uma ajuda para configurar um micro com Ubuntu.
Queria usar ele em casa como um tipo servidor de arquivos.
A ideia é que outras maquinas venha a acessar ele na rede domestica onde já tenha 2 note com windows7 e XP.
Tem como me ajudar.
Grato

[2] Comentário enviado por toledocosta em 27/02/2012 - 16:55h

Boa Tarde paraguay75.

Você pode instalar o ubuntu de forma convencional de Desktop (Próximo-->Próximo-->Fim) ou personalizada e seguindo os exemplos citados no artigo será viável a utilização desta tecnologia de tranferência de arquivos.

Qualquer dúvida é só postar.

[3] Comentário enviado por paraguay75 em 27/02/2012 - 19:47h

Boa noite
Olha só , já instalei e estou atualizando o Ubuntu.
Tenho duas HDs uma para rodar o sistema operacional e outra para usar de servidor de arquivos.
Como faço para usar a segunda como unidade inteira, como local para guarda, criar pasta e salva arquivos nela?
Teria como me ajudar?
Você trabalha com suporte técnico?
Fica aqui meu muito obrigado pela atenção.

[4] Comentário enviado por toledocosta em 28/02/2012 - 12:59h

Boa Tarde.

você terá que montar sua segunda HD.
Poderá usar o comando:
Como Root

#mount -t ext4 /dev/sda(partição de sua segunda HD) /compartilhamento (esse pode ser qualquer nome de sua preferência)

Agora você deverá inserir as informações a seguir para que esse device seja montado automaticamente no inicializar da máquina:
Como root

#vi /etc/fstab

E insira as informações a seguir no final do arquivo:

/dev/sda(partição de sua segunda HD) /compartilhamento (esse pode ser qualquer nome de sua preferência) /media/compartilhamento ext4 defaults 1 2

Espero ajudar.

[5] Comentário enviado por paraguay75 em 29/02/2012 - 16:24h

Tem como fazer em modo gráfico?

[6] Comentário enviado por imagothor em 01/03/2012 - 16:38h

Boa tarde wesley

Achei seu post d+ bem explicativo porém ...
Algumas dúvidas me apareceram em relação a " pequena configuração "

1° Essa configuração só serve para distros Ubuntu ou serve para slackware também ,pois escrevo assim porque eu tenho um primo que usa slackware 12 com win 7 ai como eu uso ubuntu 11.10 não haveria algum atrito

2° Para slack seria necessário algum outro comando fora os citados

3° Daria para usar essa " pequena configuração " em modo de rede com apenas um hub sem roteador tipo em midias moveis como o pendrive

4° Pelo que li no seu artigo isso serve para que o linux reconheça o win como irmão

5° Não daria para fazer o contrário tipo configurar o win para reconhecer o linux como seu irmão

Sem mais até o momento

[7] Comentário enviado por toledocosta em 02/03/2012 - 13:24h

Boa Tarde paraguay75.

Para montar uma unidade nova no Ubuntu você deverá primeiro instalar sua hd depois entre no menu "Place" e em seguida clique sobre a HD que aparecerá na area de unidades, mas vc deverá inserir a linha de montagem dentro do fsta para que seja montado automaticamente quando o sistema operacional subir.

[8] Comentário enviado por toledocosta em 02/03/2012 - 13:40h

Boa Tarde imagothor.

1- O smb.conf e as configurações serão as mesmas ou bem parecidas.
2- Acredito que os comandos serão os mesmos, talvez se necessario compilar algum pacote caso necessario.
3- não entendi bem ,mas acho que se for referente ao samba em uma rede sem roteador....ele funciona desde que seus equipamentos se encontrem na mesma faixa de IP.
4- É a base do que foi desenvolvido o samba criar uma intercomunicação dos sistemas....
5- Seria criar uma pasta de compartilhamento no windows? Windows Compartilhando e Linux usando:
Use o pacote smbfs para executar um mount da unidade compartilhada do Windows, usando o tipo smbps.

ou talvez essa dicas do nosso amigo camolez possa ajudar.
http://www.vivaolinux.com.br/dica/Montando-pasta-compartilhada-do-Windows.

[9] Comentário enviado por imagothor em 02/03/2012 - 18:04h

boas novas

wesley

quando se refere ao ip qual seria ? o estático ou dinamico ou sobre a configuração do ip um slave e outro para master ex 192.161.1.1 e 192.161.1.1.2 aonde 1.1 é o master e 1.1.2 para slave

vc conhece o repositorio de algum soft que crie essa integração win x lin em modo gráfico no ubuntu 11.10

Sem mais até o momento

Gratidão

[10] Comentário enviado por toledocosta em 03/03/2012 - 08:37h

Bom dia.

Não Entendi muito bem sua pergunta, mas se for referente a linha abaixo que se encontra no smb.conf:
(...)
# define os IP’s que terão acesso ao servidor
hosts allow = 192.168.1.0/255.255.255.0
(...)
Será Sua Faixa de IP, no caso começa na faixa192.168.1.0 e vai até a ultima opçao de IP.

Essa configuração funciona tanto com IPs estáticos quanto para IPs Dinamicos, uma vez que seu IP dinamico tenha regras que a máquina 01 sempre receberá o mesmo IP por exemplo.

Um Software interessante para ajuda-lo a criar essas configurações é o SWAT e normalmente ele ja esta no repositório normal.

Espero ter ajudado...

[11] Comentário enviado por madson0123 em 12/09/2012 - 14:00h

Pessoal, encontrei um tutorial QUE REALMENTE FUNCIONOU!!!
Ele mostra como instalar o Samba 4 e configurar pelas ferramentas da Microsoft.

EXCELENTE.
http://www.stato.blog.br/wordpress/?p=683

[12] Comentário enviado por sync0 em 31/01/2013 - 22:01h

Boa noite Wesley, estou implementando um servidor LTSP e queria estar implementando o quotas para limitar o diretório /home, que é onde fica localizado os usuários thin clients irão utilizar. Realmente é necessário ter o diretório /home em uma partição separada para poder aplicar as cotas para um grupo ou usuário?

[13] Comentário enviado por toledocosta em 01/02/2013 - 08:59h

Bom dia. Na realidade não é necessário a divisão dos filesystems, mas recomendavel. Exemplo pratico: problemas com o /usr você não precisará formatar todo o disco apenas desmontar o /usr e remonta-lo novamente após a manutenção, caso o disco estteja tudo dentro do / você irá formatar todos os filesystems para esse processo.

[14] Comentário enviado por sync0 em 02/02/2013 - 15:40h

Obrigado Wesley, pelo resposta.

Mas só consegui implementar colocando o /home em um disco separado. Uma última, dúvida, quando você implementou esse servidor cada usuário alocado em um grupo, só pode utilizar o limite imposto no Hard e no soft, ou os valores valem para toda o grupo? ex: se eu definir um hard com 30Mb para um grupo de GID 1023. Cada usuário alocado neste grupo pode atingir 30Mb ou a soma do espaço são para todos os usuários?

[15] Comentário enviado por toledocosta em 03/02/2013 - 09:25h

Bom dia sync0.
Não fiz teste para grupos, porém acredito que definirá como total. Sendo assim a soma de todos os usuários deste grupo. A desvantagem seria que se um usuário atingir o total ninguém mais poderá usar.

[16] Comentário enviado por sync0 em 03/02/2013 - 12:38h

Fiz o teste ontem e realmente, a configuração para o grupo é para a soma de todos os usuários. A unica forma que achei foi fazer um script para aplicar o quotatool para cada usuário que está localizado no /home. Abraços.

[17] Comentário enviado por toledocosta em 03/02/2013 - 20:23h

Muito Interessante sync0, quando puder compartilha esse script no VOL... Grandes Abraços...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts