nurmanhabib/quotatool

作为https://github.com/ekenberg/quotatool的Laravel包装器

1.0.1 2015-10-27 06:00 UTC

This package is auto-updated.

Last update: 2024-09-12 20:12:04 UTC


README

QuotaTool是一个简单的应用程序,用于管理Linux、Mac OS X、FreeBSD、OpenBSD、NetBSD、Solaris和AIX系统上的用户配额。其官方仓库位于https://github.com/ekenberg/quotatool

在此包中,仅提供了一个用于Laravel的包装器。

安装

使用Composer安装

非常简单,只需运行以下命令。

composer require nurmanhabib/quotatool

添加服务提供者

Nurmanhabib\QuotaTool\QuotaToolServiceProvider添加到config/app.php文件中的providers数组。

'providers' = [
    ...,
    ...,
    
    'Nurmanhabib\QuotaTool\QuotaToolServiceProvider',
];

安装quota

确保您的系统已安装quotaquotatool

apt-get install quota quotatool

对于Linux Ubuntu用户,可以参考https://www.digitalocean.com/community/tutorials/how-to-enable-user-and-group-quotas教程进行配置

授予quotatool访问权限

此包使用shell脚本命令通过sudo访问quotatool。因此,请使用以下命令进行修改。

sudo visudo

在任何位置添加以下行。

...
%www-data   ALL=(ALL) NOPASSWD: /usr/sbin/quotatool
...

该行允许group www-data无密码执行sudo /usr/sbin/quotatool

使用方法

使用示例

/home文件系统上的nurmanhabib用户设置50GB的软和硬盘使用限制

QuotaTool::uid('nurmanhabib')->limit('50G', '50G');

使用QuotaTool::raw()输出后,结果如下。

quotatool -u nurmanhabib -b -q 50G -l 50G /home

组ID

要为组设置配额,可以使用gid()方法

QuotaTool::gid('1001');
QuotaTool::gid('www-data');

文件系统

默认情况下,quotatool位于/home文件系统上。如果quotatool位于其他文件系统上,您可以添加filesystem()方法。

QuotaTool::uid('nurmanhabib')->limit('50G', '50G')->filesystem('/');

使用QuotaTool::raw()输出后,结果如下。

quotatool -u nurmanhabib -b -q 50G -l 50G /

块限制

添加10000软限制和10240硬限制的块限制

QuotaTool::uid('nurmanhabib')->limit(10000, 10240);

或者

QuotaTool::uid('nurmanhabib')->limit(10000, 10240, 'block');

inode限制

添加10000软限制和10240硬限制的inode限制

QuotaTool::uid('nurmanhabib')->limit(10000, 10240, 'inode');

宽限期

暂不可用 :)

执行配额

将配额应用于用户或组

QuotaTool::run();

导出配额用户信息

查看用户或组的配额信息

QuotaTool::run();