Ativação de quotas para pastas compartilhadas dos usuários do Samba.

1. Ativação de quotas para pastas compartilhadas dos usuários do Samba.

Julianna Mangueira Augusto
Julianna

(usa Debian)

Enviado em 24/01/2025 - 10:25h

Cenário:
- Sistema: Debian 12
- Samba 4.17.12 configurado como Active Directory.
- Objetivo: Compartilhar as pastas dos usuários para que possam ser acessadas de qualquer computador.
- As pastas compartilhadas estão localizadas no diretório `/srv/samba`, que está na partição raiz (ext4).

Procedimentos realizados:
1. Atualização e instalação do pacote de quotas:

apt update
apt install quota -y

2. Edição do arquivo `/etc/fstab` para habilitar as quotas:

nano /etc/fstab
/dev/mapper/vg01-lv01--raiz / ext4 errors=remount-ro,usrquota,grpquota 0 1

3. Remontagem do sistema de arquivos:

mount -o remount /

4. Execução dos comandos de verificação e ativação das quotas:

quotacheck -cum /
quotaon -v /


Até aqui, tudo parece ter funcionado corretamente. No entanto, ao tentar definir quotas para os usuários utilizando o comando `sudo edquota -u NOME_DO_USUARIO`, as modificações não são salvas ou simplesmente não funcionam. Além disso, ao executar o comando `sudo repquota /srv/samba`, não obtenho resposta. Outros comandos com os mesmos onjetivos também falham.

Perguntas:
1. Permissões: Há alguma permissão necessária para que o diretório `/srv/samba` possa "herdar" ou "aceitar" as quotas configuradas?
2. Alteração de partição: Seria melhor mover o compartilhamento para outra partição, como `/dev/mapper/vg02-lv01--files /media/Files ext4 defaults 0 2`? Essa mudança ajudaria a configurar as quotas corretamente?
3. Alternativas para delimitar armazenamento: Existe outra maneira de limitar o armazenamento para os usuários sem utilizar quotas diretamente?
4. Verificação de espaço disponível: Devo verificar o espaço disponível em cada partição? A falta de espaço pode ser a causa desse problema?

Preciso de uma ajuda urgente sobre como configurar as quotas para esses usuários.



  


2. Re: Ativação de quotas para pastas compartilhadas dos usuários do Samba.

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 24/01/2025 - 14:14h


Acredito que o problema seja pq vc esta executando o "quota" no "/" e esta checando no "/srv/samba", execute o check no "/" para ver depois de criar a quota. pois e ali que o ponto de montagem e não dentro do /srv.
Quota e atrelado a disco/montagem.

Mas eu particularmente criair outro disco para alocar os dados pois é mais facil de aumentar se precisar e não , montaria no "/" e sim "/mnt/DADOS" por exemplo e ali sim aplicaria quota.

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



3. Atualização de Novo Problema

Julianna Mangueira Augusto
Julianna

(usa Debian)

Enviado em 11/02/2025 - 16:54h

Realmente, habilitar para / deu certo.

Segue o processo para instalar e habilitar as quotas para a partição / :
sudo apt update
sudo apt install quota quotatool
df -hT /srv/samba
cat /boot/config-$(uname -r) | grep CONFIG_QUOTA
sudo systemctl enable quota
sudo systemctl start quota
sudo nano /etc/fstab
sudo mount -o remount /
sudo systemctl daemon-reexec
sudo quotaon -v /
sudo quotacheck -ugm /
sudo quotaon -v /
sudo repquota -a

Para habilitar para um usuário:
setquota -u USUÁRIO 200000 210000 0 0 /

Novo problema: Esse processo aplicava corretamente as quotas no servidor, impedindo a escrita acima do limite no terminal Linux. Contudo, no Windows, os usuários conseguiam ultrapassar esse limite sem problemas.

Acredito que isso está acontecendo pelo módulo "quota.so" que deveria "traduzir" as quotas do sistema de arquivos para o Samba, mas ele não está disponível no sistema.

Comando:
smbd -b | grep 'VFS'

Saída:
HAVE_SYS_STATVFS_H
HAVE_SYS_VFS_H
HAVE_STATVFS
HAVE_STATVFS_F_FLAG
STAT_STATVFS

O certo, pelo que pesquisei, seria adicionar no smb.conf a linha "vsf objects = quota" para que essa "tradução" aconteça, mas não posso adicionar pois as pastas (todas individuais, que usam ACLs para controle de acesso) acabam desaparecendo para os clientes windows já que o módulo não existe.

Não sei porque está em falta, já tentei reinstalar os módulos vsf mas esse recurso nunca vem.

Daí tentei usar o default_quota que vem nos módulos.
(necessário lembrar que o padrão é esse: /srv/samba/CURSO_TURNOANO/ALUNO)

[info_matu2024]
path = /srv/samba/info_matu2024
vfs objects = default_quota
default_quota:limit = 209715200 # 200MB em bytes (200 * 1024 * 1024)

Mas o windows ainda não reconhece, então resolvi sair fazendo testes básicos e só um deu erro:

Comando:
repquota /srv/samba/info_matu2024repquota /srv/samba/info_matu2024

Saída:
repquota: Cannot stat() given mountpoint /srv/samba/info_matu2024
repquota: No such file or directory
Skipping...
repquota: Mountpoint (or device) /srv/samba/info_matu2024 not found or has no quota enabled.
repquota: Not all specified mountpoints are using quota.

Mesmo o diretório estando em /srv que faz parte do diretório raiz ( / ) cujas quotas estão habilitadas . Mas se o diretório /srv/samba/info_matu2024 não tem quotas ativas, faz sentido dizer que o Samba pode permitir que o cliente grave arquivos além do limite esperado, ignorando as restrições de quota.

Revisei o processo de habilitar e parece estar certo, não sei porque as quotas não estão ativas no diretório /srv. Minha pergunta é: devo continuar usando o defaul_quota ou seria mais prudente buscar instalar o quota.so manualmente ? Devo continuar buscando o motivo pelo qual as quotas estão ativas em / mas não em /srv ou isso não afeta o sistema ao ponto de no terminal as quotas funcionarem mas não funcionarem para o cliente ?










Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts