terça-feira, 6 de agosto de 2013

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


Introdução

Na área de redes de computadores nos encontramos com uma variedade de Sistemas Operacionais, principalmente Windows e Linux, e nesse momento vemos a necessidade de compartilhar arquivos e dados em meio a nossa rede, assim sendo indispensável uma tecnologia como a de um servidor Samba.

Um servidor Samba tem como objetivo facilitar o compartilhamento de arquivos entre sistemas operacionais Windows e Linux, apresentando uma única máquina como ponto central para realizar a tarefa de compartilhamento na rede. Além disso, um servidor Samba pode exercer a função de PDC (Primary Domain Controller) e compartilhamento de impressoras, mas o tópico de PDC e compartilhamento de Impressora não será abordado neste documento.

Objetivo

Criar um servidor Samba a fim de controlar o compartilhamento de arquivos e de dados, além de gerenciar uma quota para limitar o armazenamento máximo de dados por diretórios.

Motivação

Observando a constante necessidade dos professores de compartilhar arquivos e/ou material didático com os alunos de uma forma mais prática e rápida, não esquecendo da necessidade do suporte de armazenar e compartilhar os programas a serem instalados equipamentos.

Justificativa

Utilização dos recursos existentes para melhorar o compartilhamento de arquivos na rede. Dar suporte aos professores para compartilhar com seus alunos os materiais das aulas que terão mais dinâmica e aproveitamento.

Metodologia

Obs.: Usuário criado na instalação do Sistema Operacional:

Ex.:

Id: solar
Passwd: ******

O servidor Samba não necessita de duas placas de rede, ele precisa somente estar conectado à rede interna, como uma máquina normal. Um servidor Samba pode, aliás, ser configurado em um Sistema Operacional comum (Desktop), com interface gráfica e outros adicionais, porém, deve ser uma distribuição Linux.

Primeiramente podemos pressupor que já tenha o Ubuntu instalado, Desktop ou Ubuntu Server. Então se necessário realize o upgrade da versão. Para isso, utilize o seguinte comando via terminal:

# do-release-upgrade -d

Ao executar este comando o sistema não será atualizado diretamente para a última versão, e sim realizará o upgrade para a próxima versão após a atual.

Antes de instalar o Samba, serão criados os usuários que serão utilizados pelo Samba e os diretórios que o servidor irá compartilhar na rede. Em outras etapas do processo poderão ser adicionados novos usuários ou pastas.

Para adicionar um usuário no sistema execute o comando:

# adduser “nome do usuário”

Ex.:

# adduser admin
Id: admin
Passwd: ****

# adduser apoio
Id: apoio
Passwd: ****

# adduser aluno
Id: aluno
Passwd: ****

Após executar o comando entre com a senha para este usuário e depois repita a mesma senha para confirmação. Pronto, o usuário foi criado.

Os diretórios que serão compartilhados pelo Samba estão sendo criados no diretório /home, este é o padrão utilizado pelo Samba. Sendo assim, criamos os diretórios em /home executando o seguinte comando:

# mkdir /home/”nome do diretório a ser compartilhada”

Ex.:
# mkdir /home/aulas
# mkdir /home/instalacao


Os diretórios criados foram:

/home/aulas
/home/instalacao 
 
 

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
 
 

Testando o compartilhamento

Testando através do Windows:

Supondo que as configurações básicas para ter acesso à rede já estejam feitas, o acesso aos diretórios do Samba é simples. Basta ir ao menu iniciar -> executar, digite o IP do Servidor Samba, da seguinte maneira:

\\"numero do IP"

Ex.: \\192.168.1.31

Depois pressione enter.

Será solicitado nome de usuário e senha, é só entrar com o usuário que deseja, tendo em mente que este usuário terá permissões definidas pelo Samba, ou seja, você não irá liberar o usuário e senha de uma conta com permissão total nos diretórios para um aluno ou outra pessoa, essa conta deve ser conhecida apenas pelos administradores do servidor.

Testando através do Ubuntu:

Supondo que as configurações básicas para ter acesso a rede já estejam feitas, o acesso ao diretórios do Samba é simples. Basta abrir o Gerenciador de arquivos do Ubuntu (o Nautilus), na guia de diretório digite:

smb://"IP do servidor Samba"

Ex.: smb://192.168.1.31

Ao tentar acessar um dos diretórios compartilhados pelo servidor Samba, será pedido um usuário e senha. Após acessar um diretório, o mesmo será afixado à área de trabalho (Desktop) do Ubuntu, ficando acessível enquanto o usuário permanecer conectado, sem a necessidade de serem informados os dados de usuário e senha para realizar o acesso novamente.

Quotas para limitar uso de disco

Utilizando Quotas para limitar o uso de disco por usuário ou por grupo de usuários:

Inicie com a instalação do pacote Quota:

# apt-get install quota

Depois edite o arquivo fstab, localizado no diretório /etc:

# vi /etc/fstab

Procure no arquivo a linha que contém as informações referentes ao diretório /home. Nele, será alterado a parte que contem a palavra "default" para "default,usrquota,grpquota"

IMPORTANTE: Não utilizar espaços para separar as palavras, pois isso não é compreendido pelo sistema, pois esta fora dos padrões de sua sintaxe.

O sistema deverá ser reiniciado para as alterações entrarem em vigor:

# shutdown -r now

Após isto, o Quota se encarregará de criar os arquivos “aquota.user” e “aquota.group” no diretório /home. Iremos editar estes arquivos para limitar o uso de um usuário ou grupo.

Para editarmos estes arquivos utilizamos os comandos:

# edquota -u [nome do usuário]

Para editarmos os limites de um usuário do sistema.

E:

# edquota -g [nome do grupo]

Para editarmos os limites de um grupo do sistema.

Tanto o arquivo dos usuários quanto o arquivo dos grupos segue o mesmo padrão:

Soft limit: limite de tamanho dos diretórios a partir do qual o sistema informará ao usuário ou grupo que o tamanho que ele ocupa no disco esta próximo ao seu Hard limit.

Hard limit: limite Máximo de armazenamento nos diretórios. Ao ser atingido, o usuário ou grupo não pode mais adicionar arquivos no servidor.

Inodes: número Máximo de arquivos que o usuário ou grupo pode inserir nos diretórios. Se o Inode for definido como 0, ele ficará como se não estivesse habilitados e não serão aplicados os seus limites.

Editamos os valores desses campos conforme nossa necessidade. Reiniciamos o servidor e assim temos o limite de quota ativo.

Ex.:

# edquota -u admin

Exemplo do arquivo:

Disk quotas for user admin (uid 1008):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda10                        0       4500       5000          0        0        0

Nenhum comentário:

Postar um comentário