Samba e Quotas

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

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

Albany Timbó Mesquita

Bacharel em Ciencia da Computação Área de estudo Tecnologias da Informação