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: 49.219 ]

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

Linux autenticando no AD e rodando LTSP com DHCP (Windows 2003)

Configurando administradores de domínio no Samba

Samba: Servidor de impressão e introdução a PDC (Primary Domain Controller)

Samba no Arch Linux (para principiantes)

Impressora virtual no Samba para gerar arquivos PDF

  
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