我目前正在build立一个涉及大量来自dynamic后端(MySQL数据库)的用户帐户的机器。 我已经成功地设置系统,以便它使用后端所有帐户相关的操作(身份validation,会话,密码pipe理,…),但现在我想设置所有这些用户的配额。
现在,当谈到Linux上的配额时,我通常会使用配额文件:
aquota.user文件,然后重新安装。 quotacheck , quotaon , quotaoff和edquota来configuration一切。 现在,问题在于这些配额文件是静态的,而我的许多UNIX用户都是dynamic存储在我的数据库中的。 这意味着当用户通过这个后端添加时,我需要配额(也存储在数据库中)立即执行。 由于新用户可能会在任何时候被添加,我真的不想每次连接到服务器来为新用户自己编辑配额信息…
有没有办法在dynamic后端存储配额信息,就像其他types的帐户相关信息? 还是有一种更“常见/典型”的方式来实现这样的结果,我没有这样做?
(稍微背景)存储在MySQL数据库中的用户有自己的主目录,可以通过FTP访问它们。 无论他们存储在哪里,都可以通过Web服务器(共享主机)获得,并且可以使用PHP脚本,这些脚本以其所有者身份(suPHP)运行。 重点是,PureFTPd的配额文件( .ftpquota )也属于连接用户:虽然仍然不可能通过FTP删除该文件,但是可以通过运行具有类似特权的PHP脚本来完成。 因此,我正在寻找更强大的方式来强制执行配额,也就是说,不是通过FTP服务器,而是通过欺骗手段来授予比最初授予的更多的磁盘空间。
这里的机器是运行PureFTPd的Linux Debian Wheezy作为FTP服务器,Apache作为Web服务器。 帐户存储在MySQL数据库中,并通过libnss-mysql (帐户信息检索)和pam-mysql (帐户pipe理)链接到系统。 用户家中的所有内容都属于该用户,因此可能被该用户更改。