nurmanhabib / quotatool
作为https://github.com/ekenberg/quotatool的Laravel包装器
Requires
- php: >=5.4.0
- illuminate/support: 4.*|5.*
- symfony/process: 2.*
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
确保您的系统已安装quota
和quotatool
。
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();