|
Server : LiteSpeed System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 User : dewac4139 ( 1077) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/doc/quota/ |
Upload File : |
#include "config.h"
#include <sys/types.h>
#include <sys/quota.h>
#include <errno.h>
#include <stdio.h>
#include "pot.h"
static int copy_user_quota_limits(const char *block_device, uid_t from, uid_t to)
{
struct dqblk dq;
if (quotactl(QCMD(Q_GETQUOTA, USRQUOTA), block_device, from, (caddr_t) & dq) == 0) {
if (quotactl(QCMD(Q_SETQLIM, USRQUOTA), block_device, to, (caddr_t) & dq) == 0) {
return (0);
}
else {
errstr(
_("copy_user_quota_limits: Failed to set userquota for uid %ld : %s\n"),
to, strerror(errno));
return (1);
}
}
else {
errstr(
_("copy_user_quota_limits: Failed to get userquota for uid %ld : %s\n"),
from, strerror(errno));
return (1);
}
}
tatic int copy_group_quota_limits(const char *block_device, gid_t from, gid_t to)
{
struct dqblk dq;
if (quotactl(QCMD(Q_GETQUOTA, GRPQUOTA), block_device, from, (caddr_t) & dq) == 0) {
if (quotactl(QCMD(Q_SETQLIM, GRPQUOTA), block_device, to, (caddr_t) & dq) == 0) {
return (0);
}
else {
errstr(
_("copy_group_quota_limits: Failed to set groupquota for gid %ld : %s\n"),
to, strerror(errno));
return (1);
}
}
else {
errstr(
_("copy_group_quota_limits: Failed to get groupquota for gid %ld : %s\n"),
from, strerror(errno));
return (1);
}
}
main(int argc, char **argv)
{
gettexton();
copy_user_quota_limits("/dev/hda8", 152, 151);
}