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