Usando quotas de disco no Samba

Por mais espaço que esteja disponível no servidor de arquivos da sua rede, sempre existe a possibilidade de algum dos usuários exagerar e ocupar todo o espaço disponível no servidor. A melhor forma de evitar isso é usar quotas de disco, que permitem racionar o espaço usado por cada usuário.

Usar quotas de disco no Samba não é diferente de usar quotas em um servidor web. Em ambos os casos, usamos o Quota, que aplica as restrições de espaço com base no login do usuário, não importando qual serviço de rede ele está utilizando.

Para utilizar quotas de disco no Samba, o primeiro passo é colocar os compartilhamentos em uma partição separada. Dessa forma, ao definir os limites, eles serão aplicados a todos os usuários e todos os compartilhamentos, automaticamente. É possível ainda usar várias partições separadas (uma para compartilhamentos em geral, outra para os diretório home e outra para o spool de impressão, por exemplo), de forma a definir quotas separadas para cada uma.

No caso de um servidor maior, com vários HDs, uma solução para não precisar definir quotas separadas para cada partição é usar um sistema RAID ou JBOD, de forma a unir as várias partições em um único volume, que é tratado pelo sistema como se fosse uma única partição.

Comece fazendo a instalação inicial do Quota, instalando os pacotes “quota” e “quotatool” (no Fedora o pacote “quota” inclui os dois componentes) e carregando o módulo “quota_v2” do Kernel, como em:

# apt-get install quota quotatool
# modprobe quota_v2
# echo “quota_v2” >> /etc/modules

Em seguida, edite a entrada no /etc/fstab referente à partição ou volume onde serão aplicadas as quotas, adicionando as opções “usrquota,grpquota“, como em:

/dev/hda6 /mnt/arquivos ext3 defaults,usrquota,grpquota 0 2

Depois, com a partição montada, crie os arquivos “aquota.user” e “aquota.group” (no diretório raiz da partição), ajustando as permissões de acesso de forma que eles sejam visualizáveis apenas pelo root:

# touch /mnt/arquivos/aquota.user; chmod 600 /mnt/arquivos/aquota.user
# touch /mnt/arquivos/aquota.group; chmod 600 /mnt/arquivos/aquota.group

Para que a alteração entre em vigor, é necessário remontar a partição ou então reiniciar o servidor (o que pode ser até mais rápido, já que para desmontar a partição você precisa finalizar todos os processos que a estão acessando).

Concluindo, rode os comandos “quotacheck -vagum” e “quotaon /pasta” para criar a tabela de alocação e ativar o uso das quotas, como em:

# quotacheck -vagum
# quotaon /mnt/arquivos

A partir daí, as quotas estarão ativas e você poderá definir os valores para cada usuário ou grupo usando o webmin ou os comandos manuais, como vimos no capítulo do Apache.

As quotas podem ser aplicadas tanto a usuários “reais”, com diretório home, quanto para usuários castrados, sem home e sem shell: nesse quesito, não existe muita diferença. Entretanto, é importante prestar atenção ao usar compartilhamentos abertos para a conta guest, já que todos os arquivos gravados por usuários anônimos serão creditados na quota da conta indicada na opção “guest account =”. Isso pode ser um problema se você configurou um servidor de arquivos de acesso público, como nesse exemplo:

[global]netbios name = Plutus
server string = Servidor público
workgroup = Grupo
local master = yes
os level = 100
preferred master = yes
wins support = yes
map to guest = bad user
guest account = gdh

[arquivos]path = /mnt/hda2
writable = yes
guest ok = yes

Ele possui uma partição de arquivos (montada nas pasta “/mnt/hda2) que fica disponível a todos os usuários da rede, graças ao uso da opção “guest ok = yes”. Todos os arquivos gravados na partição por usuários que não fornecerem um login válido serão creditados na conta “gdh”, indicada na opção “guest account”. Seria importante levar isso em conta ao definir a quota dos usuários.

Concluindo, ao usar grupos para especificar os usuários que podem escrever no compartilhamento, como em:

[arquivos]path = /mnt/hda2
writable = no
write list = +arquivos

Você pode complementar as quotas individuais dos usuários com uma quota para o grupo (“arquivos” no exemplo), de forma a limitar o espaço total que pode ser usado por eles. Isso pode ser bastante útil em casos onde as pastas de vários compartilhamentos são armazenados na mesma partição e você precisa criar limites para os compartilhamentos públicos ou compartilhamentos de arquivos para evitar que eles ocupem todo o espaço da partição.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X