Configure cotas de espaço em disco de acordo com um backend dinâmico no Linux

1

Atualmente, estou configurando uma máquina que envolve muitas contas de usuários provenientes de um back-end dinâmico (banco de dados MySQL). Configurei o sistema com êxito para que ele use esse back-end para todas as operações relacionadas a contas (autenticação, sessão, gerenciamento de senha, etc.), mas agora gostaria de definir cotas para todos esses usuários.

Agora, quando se trata de cotas no Linux, normalmente usaria arquivos de cota:

  1. Ativar cotas no sistema de arquivos especificado.
  2. Crie o arquivo aquota.user na raiz do FS e remonte.
  3. Use quotacheck , quotaon , quotaoff e edquota para configurar tudo.

Agora, o problema aqui é que esses arquivos de cotas são estáticos, enquanto muitos dos meus usuários do UNIX são armazenados dinamicamente no meu banco de dados. Isso significa que, quando um usuário é adicionado por meio desse back-end, preciso que as cotas (também armazenadas no banco de dados) sejam aplicadas nele imediatamente. Como novos usuários podem ser adicionados a qualquer momento, eu realmente não sinto vontade de me conectar ao servidor todas as vezes para editar informações de cotas para o novo usuário ...

Existe uma maneira de armazenar informações de cotas em um back-end dinâmico, assim como outros tipos de informações relacionadas à conta? Ou existe uma maneira mais "comum / típica" de alcançar tais resultados, que eu não tinha?

(Um pouco de histórico) Esses usuários armazenados em um banco de dados MySQL têm seu próprio diretório inicial e podem acessá-lo por meio do FTP. O que quer que eles armazenem lá se torna disponível através de um servidor web (hospedagem compartilhada), e enquanto os scripts PHP podem ser usados, eles são executados com a identidade de seu dono (suPHP). O ponto é que o arquivo de cota do PureFTPd ( .ftpquota ) também pertence ao usuário que está se conectando: embora ainda seja impossível remover esse arquivo através do FTP, ele pode ser feito através de um script PHP rodando com privilégios similares. Portanto, estou procurando uma maneira mais "robusta" de impor cotas, ou seja, não através do servidor FTP, o que pode ser induzido a conceder mais espaço em disco do que o originalmente concedido.

A máquina aqui é um Linux Debian Wheezy rodando PureFTPd como o servidor FTP, e o Apache como o servidor web. As contas são armazenadas em um banco de dados MySQL e vinculadas ao sistema por meio de libnss-mysql (recuperação de informações da conta) e pam-mysql (gerenciamento de contas). Tudo dentro da casa do usuário pertence a esse usuário e, portanto, pode ser alterado por esse mesmo usuário.

    
por John WH Smith 16.01.2015 / 20:44

0 respostas