quota/0000775000567100000120000000000011140674062011672 5ustar jcameronwheelquota/config-freebsd0000644000567100000120000000133711140674061014473 0ustar jcameronwheeluser_quotaoff_command=quotaoff -u user_quotaon_command=quotaon -u group_copy_command=edquota -g -p quotacheck_command=quotacheck user_quota_command=quota -v -u group_grace_command=edquota -t -g user_repquota_command=repquota -u -v user_edquota_command=edquota -u group_quotaoff_command=quotaoff -g group_quotaon_command=quotaon -g group_quota_command=quota -v -g user_copy_command=edquota -u -p group_repquota_command=repquota -g -v display_max=100 group_edquota_command=edquota -g user_grace_command=edquota -t -u sort_mode=0 block_mode=1 show_grace=0 email_msg=Disk usage for user ${USER} on filesystem ${FS} has reached ${PERCENT}% of the allowed quota. ${USED} of disk space is being used, out of a maximum of ${QUOTA}. pc_show=1 quota/config-unixware0000644000567100000120000000073411140674061014723 0ustar jcameronwheeldisplay_max=100 user_quotaoff_command=quotaoff user_quotaon_command=quotaon user_repquota_command=repquota -v user_grace_command=edquota -t user_quota_command=quota -v quotacheck_command=quotacheck user_edquota_command=edquota user_copy_command=edquota -p sort_mode=0 block_mode=1 show_grace=0 email_msg=Disk usage for user ${USER} on filesystem ${FS} has reached ${PERCENT}% of the allowed quota. ${USED} of disk space is being used, out of a maximum of ${QUOTA}. pc_show=1 quota/config-*-linux0000644000567100000120000000147211140674061014347 0ustar jcameronwheeldisplay_max=100 user_grace_command=edquota -u -t group_grace_command=edquota -g -t group_quotaon_command=quotaon -g user_quotaoff_command=quotaoff -u user_quotaon_command=quotaon -u group_quota_command=quota -v -g group_copy_command=edquota -g -p quotacheck_command=quotacheck -u -g user_quota_command=quota -v -u user_copy_command=edquota -u -p group_repquota_command=repquota -g -v user_repquota_command=repquota -u -v group_edquota_command=edquota -g user_edquota_command=edquota -u group_quotaoff_command=quotaoff -g user_setquota_command=setquota -u group_setquota_command=setquota -g sort_mode=0 block_mode=1 block_size=1024 show_grace=1 email_msg=Disk usage for user ${USER} on filesystem ${FS} has reached ${PERCENT}% of the allowed quota. ${USED} of disk space is being used, out of a maximum of ${QUOTA}. pc_show=1 quota/quota-lib.pl0000775000567100000120000003246611140674061014141 0ustar jcameronwheel=head1 quota-lib.pl Functions for Unix user and group quota management. Some of the functionality is implemented in OS-specific library files which get automatically included into this one, like linux-lib.pl. Check the documentation on that file for more functions. Example code: foreign_require('quota', 'quota-lib.pl'); quota::edit_user_quota('joe', '/home', 1000000, 1200000, 1000, 1200); $n = quota::user_filesystems('joe'); for($i=0; $i<$n; $i++) { print "filesystem=",$filesys{$i,'filesys'}," ", "block quota=",$filesys{$i,'hblocks'}," ", "blocks used=",$filesys{$i,'ublocks'},"\n"; } =cut do '../web-lib.pl'; &init_config(); do '../ui-lib.pl'; if ($gconfig{'os_type'} =~ /^\S+\-linux$/) { do "linux-lib.pl"; } else { do "$gconfig{'os_type'}-lib.pl"; } if ($module_info{'usermin'}) { &switch_to_remote_user(); } else { %access = &get_module_acl(); &foreign_require("mount", "mount-lib.pl"); } $email_cmd = "$module_config_directory/email.pl"; =head2 list_filesystems Returns a list of details of local filesystems on which quotas are supported. Each is an array ref whose values are : =item directory - Mount point, like /home =item device - Source device, like /dev/hda1 =item type - Filesystem type, like ext3 =item options - Mount options, like rw,usrquota,grpquota =item quotacan - Can this filesystem type support quotas? =item quotanow - Are quotas enabled right now? The values of quotacan and quotanow are : =item 0 - No quotas =item 1 - User quotas only =item 2 - Group quotas only =item 3 - User and group quotas =cut sub list_filesystems { local $f; local @mtab = &mount::list_mounted(); foreach $f (&mount::list_mounts()) { $fmap{$f->[0],$f->[1]} = $f; } map { $_->[4] = "a_can($_, $fmap{$_->[0],$_->[1]}) } @mtab; map { $_->[5] = "a_now($_, $fmap{$_->[0],$_->[1]}) } @mtab; return grep { $_->[4] } @mtab; } =head2 parse_options(type, options) Convert an options string for some filesystem into the global hash %options. =cut sub parse_options { local($_); undef(%options); if ($_[0] ne "-") { foreach (split(/,/, $_[0])) { if (/^([^=]+)=(.*)$/) { $options{$1} = $2; } else { $options{$_} = ""; } } } } =head2 user_quota(user, filesystem) Returns an array of quotas and usage information for some user on some filesystem, or an empty array if no quota has been assigned. The array elements are : =item Number of blocks used. =item Soft block quota. =item Hard block quota. =item Number of files used. =item Soft file quota. =item Hard file quota. =cut sub user_quota { local (%user, $n, $i); $n = &filesystem_users($_[1]); for($i=0; $i<$n; $i++) { if ($user{$i,'user'} eq $_[0]) { return ( $user{$i,'ublocks'}, $user{$i,'sblocks'}, $user{$i,'hblocks'}, $user{$i,'ufiles'}, $user{$i,'sfiles'}, $user{$i,'hfiles'} ); } } return (); } =head2 group_quota(group, filesystem) Returns an array of ublocks, sblocks, hblocks, ufiles, sfiles, hfiles for some group on some filesystem, or an empty array if no quota has been assigned. =cut sub group_quota { local (%group, $n, $i); $n = &filesystem_groups($_[1]); for($i=0; $i<$n; $i++) { if ($group{$i,'group'} eq $_[0]) { return ( $group{$i,'ublocks'}, $group{$i,'sblocks'}, $group{$i,'hblocks'}, $group{$i,'ufiles'}, $group{$i,'sfiles'}, $group{$i,'hfiles'} ); } } return (); } =head2 edit_user_quota(user, filesys, sblocks, hblocks, sfiles, hfiles) Sets the disk quota for some user. The parameters are : =item user - Unix username. =item filesys - Filesystem on which to change quotas. =item sblocks - Soft block limit. =item hblocks - Hard block limit. =item sfiles - Sort files limit. =item hfiles - Hard files limit. =cut sub edit_user_quota { if ($config{'user_setquota_command'} && &has_command((split(/\s+/, $config{'user_setquota_command'}))[0])) { # Use quota setting command local $user = $_[0]; if ($user =~ /^#(\d+)$/) { # Pass numeric UID $user = $1; } local $cmd = $config{'user_setquota_command'}." ".quotemeta($user)." ". int($_[2])." ".int($_[3])." ".int($_[4])." ".int($_[5]). " ".quotemeta($_[1]); local $out = &backquote_logged("$cmd 2>&1 ".&html_escape($out)."") if ($?); } else { # Call the quota editor $ENV{'EDITOR'} = $ENV{'VISUAL'} = "$module_root_directory/edquota.pl"; $ENV{'QUOTA_USER'} = $_[0]; $ENV{'QUOTA_FILESYS'} = $_[1]; $ENV{'QUOTA_SBLOCKS'} = $_[2]; $ENV{'QUOTA_HBLOCKS'} = $_[3]; $ENV{'QUOTA_SFILES'} = $_[4]; $ENV{'QUOTA_HFILES'} = $_[5]; local $user = $_[0]; if ($edquota_use_ids) { # Use UID instead of username if ($user =~ /^#(\d+)$/) { $user = $1; } else { local $uid = getpwnam($user); $user = $uid if (defined($uid)); } } &system_logged("$config{'user_edquota_command'} ". quotemeta($user)." >/dev/null 2>&1"); } } =head2 edit_group_quota(group, filesys, sblocks, hblocks, sfiles, hfiles) Sets the disk quota for some group The parameters are : =item user - Unix group name. =item filesys - Filesystem on which to change quotas. =item sblocks - Soft block limit. =item hblocks - Hard block limit. =item sfiles - Sort files limit. =item hfiles - Hard files limit. =cut sub edit_group_quota { if ($config{'group_setquota_command'} && &has_command((split(/\s+/, $config{'group_setquota_command'}))[0])) { # Use quota setting command local $group = $_[0]; if ($group =~ /^#(\d+)$/) { # Pass numeric UID $group = $1; } local $cmd =$config{'group_setquota_command'}." ".quotemeta($group)." ". int($_[2])." ".int($_[3])." ".int($_[4])." ".int($_[5]). " ".quotemeta($_[1]); local $out = &backquote_logged("$cmd 2>&1 ".&html_escape($out)."") if ($?); } else { # Call the editor $ENV{'EDITOR'} = $ENV{'VISUAL'} = "$module_root_directory/edquota.pl"; $ENV{'QUOTA_USER'} = $_[0]; $ENV{'QUOTA_FILESYS'} = $_[1]; $ENV{'QUOTA_SBLOCKS'} = $_[2]; $ENV{'QUOTA_HBLOCKS'} = $_[3]; $ENV{'QUOTA_SFILES'} = $_[4]; $ENV{'QUOTA_HFILES'} = $_[5]; local $group = $_[0]; if ($edquota_use_ids) { # Use GID instead of group name if ($group =~ /^#(\d+)$/) { $group = $1; } else { local $gid = getgrnam($group); $group = $gid if (defined($gid)); } } &system_logged("$config{'group_edquota_command'} ". quotemeta($group)." >/dev/null 2>&1"); } } =head2 edit_user_grace(filesystem, btime, bunits, ftime, funits) Change the grace times for blocks and files on some filesystem. Parameters are: =item filesystem - Filesystem to change the grace time on. =item btime - Number of units after which a user over his soft block limit is turned into a hard limit. =item bunits - Units for the block grace time, such as 'seconds', 'minutes', 'hours' or 'days'. =item ftime - Number of units after which a user over his soft file limit is turned into a hard limit. =item funits - Units for the file grace time, such as 'seconds', 'minutes', 'hours' or 'days'. =cut sub edit_user_grace { $ENV{'EDITOR'} = $ENV{'VISUAL'} = "$module_root_directory/edgrace.pl"; $ENV{'QUOTA_FILESYS'} = $_[0]; $ENV{'QUOTA_BTIME'} = $_[1]; $ENV{'QUOTA_BUNITS'} = $_[2]; $ENV{'QUOTA_FTIME'} = $_[3]; $ENV{'QUOTA_FUNITS'} = $_[4]; &system_logged($config{'user_grace_command'}); } =head2 edit_group_grace(filesystem, btime, bunits, ftime, funits) Change the grace times for groups for blocks and files on some filesystem. The parameters are the same as edit_user_grace. =cut sub edit_group_grace { $ENV{'EDITOR'} = $ENV{'VISUAL'} = "$module_root_directory/edgrace.pl"; $ENV{'QUOTA_FILESYS'} = $_[0]; $ENV{'QUOTA_BTIME'} = $_[1]; $ENV{'QUOTA_BUNITS'} = $_[2]; $ENV{'QUOTA_FTIME'} = $_[3]; $ENV{'QUOTA_FUNITS'} = $_[4]; &system_logged($config{'group_grace_command'}); } =head2 quota_input(name, value, [blocksize]) Returns an input for selecting a quota or unlimited, in a table. For internal use mainly. =cut sub quota_input { return &ui_radio($_[0]."_def", $_[1] == 0 ? 1 : 0, [ [ 1, $text{'quota_unlimited'} ], [ 0, " " ] ])." ". "a_inputbox(@_); } =head2 quota_inputbox(name, value, [blocksize]) Returns an input for selecting a quota. Mainly for internal use. =cut sub quota_inputbox { if ($_[2]) { # We know the real size, so can offer units local $sz = $_[1]*$_[2]; local $units = 1; if ($sz >= 10*1024*1024*1024) { $units = 1024*1024*1024; } elsif ($sz >= 10*1024*1024) { $units = 1024*1024; } elsif ($sz >= 10*1024) { $units = 1024; } else { $units = 1; } $sz = $sz == 0 ? "" : sprintf("%.2f", ($sz*1.0)/$units); return &ui_textbox($_[0], $sz, 8). &ui_select($_[0]."_units", $units, [ [ 1, "bytes" ], [ 1024, "kB" ], [ 1024*1024, "MB" ], [ 1024*1024*1024, "GB" ] ]); } else { # Just show blocks return &ui_textbox($_[0], $_[1] == 0 ? "" : $_[1], 8); } } =head2 quota_parse(name, [bsize], [nodef]) Parses inputs from the form generated by quota_input. =cut sub quota_parse { if ($in{$_[0]."_def"} && !$_[2]) { return 0; } elsif ($_[1]) { # Include units, and covert to blocks return int($in{$_[0]}*$in{$_[0]."_units"}/$_[1]); } else { # Just use blocks return int($in{$_[0]}); } } =head2 can_edit_filesys(filesys) Returns 1 if the current Webmin user can manage quotas on some filesystem. =cut sub can_edit_filesys { local $fs; foreach $fs (split(/\s+/, $access{'filesys'})) { return 1 if ($fs eq "*" || $fs eq $_[0]); } return 0; } =head2 can_edit_user(user) Returns 1 if the current Webmin user can manage quotas for some Unix user. =cut sub can_edit_user { if ($access{'umode'} == 0) { return 1; } elsif ($access{'umode'} == 3) { local @u = getpwnam($_[0]); return $access{'users'} == $u[3]; } elsif ($access{'umode'} == 4) { local @u = getpwnam($_[0]); return (!$access{'umin'} || $u[2] >= $access{'umin'}) && (!$access{'umax'} || $u[2] <= $access{'umax'}); } else { local ($u, %ucan); map { $ucan{$_}++ } split(/\s+/, $access{'users'}); return $access{'umode'} == 1 && $ucan{$_[0]} || $access{'umode'} == 2 && !$ucan{$_[0]}; } } =head2 can_edit_group(group) Returns 1 if the current Webmin user can manage quotas for some Unix group. =cut sub can_edit_group { return 1 if ($access{'gmode'} == 0); return 0 if ($access{'gmode'} == 3); local ($g, %gcan); map { $gcan{$_}++ } split(/\s+/, $access{'groups'}); return $access{'gmode'} == 1 && $gcan{$_[0]} || $access{'gmode'} == 2 && !$gcan{$_[0]}; } =head2 filesystem_info(filesystem, &hash, count, [blocksize]) Returns two strings containing information about the amount of disk space granted and used on some filesystem. For internal use. =cut sub filesystem_info { local @fs = &free_space($_[0], $_[3]); if ($_[3]) { local $i; foreach $i (0 .. 3) { $fs[$i] = $i < 2 ? &nice_size($fs[$i]*$_[3]) : int($fs[$i]); } } if ($_[1]) { local $bt = 0; local $ft = 0; local $i; for($i=0; $i<$_[2]; $i++) { $bt += $_[1]->{$i,'hblocks'}; $ft += $_[1]->{$i,'hfiles'}; } if ($_[3]) { $bt = &nice_size($bt*$_[3]); } return ( "$fs[0] total / $fs[1] free / $bt granted", "$fs[2] total / $fs[3] free / $ft granted" ); } else { return ( "$fs[0] total / $fs[1] free", "$fs[2] total / $fs[3] free" ); } } =head2 block_size(dir, [for-filesys]) Returns the size (in bytes) of blocks on some filesystem, if known. All quota functions deal with blocks, so they must be multipled by the value returned by this function before display to users. =cut sub block_size { return undef if (!$config{'block_mode'}); return undef if (!defined("a_block_size) && !defined(&fs_block_size)); local @mounts = &mount::list_mounted(); local ($mount) = grep { $_->[0] eq $_[0] } @mounts; if ($mount) { if ($_[1]) { return &fs_block_size(@$mount); } else { if (defined("a_block_size)) { return "a_block_size(@$mount); } else { return &fs_block_size(@$mount); } } } return undef; } =head2 nice_limit(amount, bsize, no-blocks) Internal function to show a quota limit nicely formatted. =cut sub nice_limit { local ($amount, $bsize, $noblocks) = @_; return $amount == 0 ? $text{'quota_unlimited'} : $bsize && !$noblocks ? &nice_size($amount*$bsize) : $amount; } =head2 find_email_job Returns the cron job hash ref for the quota limit monitoring email job. =cut sub find_email_job { &foreign_require("cron", "cron-lib.pl"); local @jobs = &cron::list_cron_jobs(); local ($job) = grep { $_->{'command'} eq $email_cmd } @jobs; return $job; } =head2 create_email_job Creates the cron job for scheduled emailing, which runs every 10 minutes. =cut sub create_email_job { &foreign_require("cron", "cron-lib.pl"); local $job = &find_email_job(); if (!$job) { $job = { 'user' => 'root', 'command' => $email_cmd, 'active' => 1, 'mins' => '0,10,20,30,40,50', 'hours' => '*', 'days' => '*', 'months' => '*', 'weekdays' => '*' }; &lock_file(&cron::cron_file($job)); &cron::create_cron_job($job); &cron::create_wrapper($email_cmd, $module_name, "email.pl"); &unlock_file(&cron::cron_file($job)); } } =head2 trunc_space(string) Removes spaces from the start and end of a string. =cut sub trunc_space { local $rv = $_[0]; $rv =~ s/^\s+//; $rv =~ s/\s+$//; return $rv; } =head2 to_percent(used, total) Converts an amount used and a total into a percentage. =cut sub to_percent { if ($_[1]) { return $_[0]*100/$_[1]; } else { return 0; } } =head2 select_grace_units(name, value) Returns a menu for selecting grace time units. =cut sub select_grace_units { local @uarr = &grace_units(); return &ui_select($_[0], $_[1], [ map { [ $_, $uarr[$_] ] } (0..$#uarr) ]); } 1; quota/module.info0000664000567100000120000000114211140674062014032 0ustar jcameronwheelname=Quotas desc=Disk Quotas os_support=solaris redhat-linux mandrake-linux slackware-linux debian-linux suse-linux united-linux hpux freebsd open-linux unixware turbo-linux openbsd corel-linux cobalt-linux msc-linux generic-linux gentoo-linux netbsd macos trustix-linux sol-linux coherant-linux qnx usermin=1 desc_el=Quotas longdesc=View your quotas and those of your groups on all filesystems for which they are enabled. desc_fr=Quotas Disques desc_de=Speicherbegrenzung (quotas) desc_ru_RU= desc_ru_SU= desc_ca=Quotes de Disc desc_cz=Diskov omezen (kvty) version=1.381 quota/openbsd-lib.pl0000755000567100000120000002255711140674061014440 0ustar jcameronwheel# openbsd-lib.pl # Quota functions for openbsd # quotas_init() sub quotas_init { return undef; } # quotas_supported() # Returns 1 for user quotas, 2 for group quotas or 3 for both sub quotas_supported { return 3; } # free_space(filesystem) # Returns an array containing btotal, bfree, ftotal, ffree sub free_space { local(@out, @rv); $ENV{'BLOCKSIZE'} = 1024; `df -i $_[0]` =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)\s+\S+\s+(\d+)\s+(\d+)/; return ($1, $2, $3+$4, $4); } # quota_can(&mnttab, &fstab) # Can this filesystem type support quotas? # 0 = No quota support (or not turned on in /etc/fstab) # 1 = User quotas only # 2 = Group quotas only # 3 = User and group quotas sub quota_can { return ($_[1]->[3] =~ /userquota/ ? 1 : 0) + ($_[1]->[3] =~ /groupquota/ ? 2 : 0); } # quota_now(&mnttab, &fstab) # Are quotas currently active? # 0 = Not active # 1 = User quotas active # 2 = Group quotas active # 3 = Both active sub quota_now { return $_[0]->[3] =~ /quota/ ? 3 : 0; } # quotaon(filesystem, mode) # Activate quotas and create quota files for some filesystem. The mode can # be 1 for user only, 2 for group only or 3 for user and group sub quotaon { return if (&is_readonly_mode()); local($out, $qf, @qfile, $flags); if ($_[1]%2 == 1) { # turn on user quotas $qf = "$_[0]/quota.user"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); &system_logged("$config{'quotacheck_command'} $_[0]"); } $out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { # turn on group quotas $qf = "$_[0]/quota.group"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); &system_logged("$config{'quotacheck_command'} $_[0]"); } $out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } # quotaoff(filesystem, mode) # Turn off quotas for some filesystem sub quotaoff { return if (&is_readonly_mode()); local($out); if ($_[1]%2 == 1) { $out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { $out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } # user_filesystems(user) # Fills the array %filesys with details of all filesystem some user has # quotas on sub user_filesystems { local($n, $_, %mtab); open(QUOTA, "$config{'user_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line $filesys{$n,'filesys'} = $1; =~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/; $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'ufiles'} = int($4); $filesys{$n,'sfiles'} = int($5); $filesys{$n,'hfiles'} = int($6); $n++; } elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) { $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'filesys'} = $1; $filesys{$n,'filesys'} =~ s/^\s+//g; $n++; } } close(QUOTA); return $n; } # group_filesystems(group) # Fills the array %filesys with details of all filesystem some group has # quotas on sub group_filesystems { local($n, $_, %mtab); open(QUOTA, "$config{'group_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line $filesys{$n,'filesys'} = $1; =~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/; $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'ufiles'} = int($4); $filesys{$n,'sfiles'} = int($5); $filesys{$n,'hfiles'} = int($6); $n++; } elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) { $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'filesys'} = $1; $filesys{$n,'filesys'} =~ s/^\s+//g; $n++; } } close(QUOTA); return $n; } # filesystem_users(filesystem) # Fills the array %user with information about all users with quotas # on this filesystem. This may not be all users on the system.. sub filesystem_users { local($rep, @rep, $n, $what); $rep = `$config{'user_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = grep { !/^root\s/ } @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) { $user{$n,'user'} = $1; $user{$n,'ublocks'} = int($2); $user{$n,'sblocks'} = int($3); $user{$n,'hblocks'} = int($4); $user{$n,'ufiles'} = int($5); $user{$n,'sfiles'} = int($6); $user{$n,'hfiles'} = int($7); } } return $n; } # filesystem_groups(filesystem) # Fills the array %group with information about all groups with quotas # on this filesystem. This may not be all groups on the system.. sub filesystem_groups { local($rep, @rep, $n, $what); $rep = `$config{'group_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) { $group{$n,'group'} = $1; $group{$n,'ublocks'} = int($2); $group{$n,'sblocks'} = int($3); $group{$n,'hblocks'} = int($4); $group{$n,'ufiles'} = int($5); $group{$n,'sfiles'} = int($6); $group{$n,'hfiles'} = int($7); } } return $n; } # edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles) sub edit_quota_file { local($rv, $line, %mtab, @m); @line = split(/\n/, $_[0]); for($i=0; $i<@line; $i++) { if ($line[$i] =~ /^(\S+): (blocks|kbytes) in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) { # found lines to change $rv .= "$1: $2 in use: $3, limits (soft = $_[2], hard = $_[3])\n"; $line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/; $rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n"; } else { $rv .= "$line[$i]\n"; } } return $rv; } # quotacheck(filesystem, mode) # Runs quotacheck on some filesystem sub quotacheck { $out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # copy_user_quota(user, [user]+) # Copy the quotas for some user to many others sub copy_user_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'user_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # copy_group_quota(group, [group]+) # Copy the quotas for some group to many others sub copy_group_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'group_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # default_grace() # Returns 0 if grace time can be 0, 1 if zero grace means default sub default_grace { return 0; } # get_user_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day sub get_user_grace { local(@rv, %mtab, @m); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'user_grace_command'} $_[0] |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } } close(GRACE); return @rv; } # get_group_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day sub get_group_grace { local(@rv, %mtab, @m); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'group_grace_command'} $_[0] |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } } close(GRACE); return @rv; } # edit_grace_file(data, filesystem, btime, bunits, ftime, funits) sub edit_grace_file { local($rv, $line, @m, %mtab); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[1]) { # replace this line $line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}"; } $rv .= "$line\n"; } return $rv; } # grace_units() # Returns an array of possible units for grace periods sub grace_units { return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'}, $text{'grace_days'}); } # fs_block_size(dir, device, filesystem) # Returns the size of blocks on some filesystem, or undef if unknown. # Always 1024, because the ENV setting above forces this. sub fs_block_size { return 1024; } %name_to_unit = ( "second", 0, "seconds", 0, "minute", 1, "minutes", 1, "hour", 2, "hours", 2, "day", 3, "days", 3, ); foreach $k (keys %name_to_unit) { $unit_to_name{$name_to_unit{$k}} = $k; } 1; quota/images/0000755000567100000120000000000011140674062013135 5ustar jcameronwheelquota/images/icon.gif0000644000567100000120000000051611140674061014555 0ustar jcameronwheelGIF89a00fff!,00..Hwd pn֣ w |5^dH[hM! aRt=t S hTm7Xg|񎷢2haاƑ3hWt FH*%Jšw {s6RZ[(1j[%9LZGƜgx+y-]b*ޭJ~û<{.^<-׎/{Q&x_S@j5ȇ ֱE@9aAJ0 ("di 3̙4k;quota/images/smallicon.gif0000664000567100000120000000035011140674061015604 0ustar jcameronwheelGIF87asssfff,PIs7D,E-FXbGr9L.'#"M(%H0 V ޒ# !${RrAN͗־ao$remote_user")); "as_table(); } else { print "

$text{'index_none'}

\n"; } if ("as_supported() >= 2) { foreach $gid ($remote_user_info[3], &other_groups($remote_user)) { ($g = getgrgid($gid)) || next; $n = &group_filesystems($g); if ($n > 0) { print &ui_subheading(&text('index_gquotas', "$g")); "as_table(); } } } &ui_print_footer("/", $text{'index'}); sub quotas_table { print "\n"; print "\n"; $cols = 3 + ($config{'show_grace'} ? 1 : 0); print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n" if ($config{'show_grace'}); print "\n"; print "\n"; print "\n" if ($config{'show_grace'}); print "\n"; for($i=0; $i<$n; $i++) { $f = $filesys{$i,'filesys'}; print "\n"; print "\n"; print "\n"; &print_limit($filesys{$i,'sblocks'}); &print_limit($filesys{$i,'hblocks'}); &print_grace($filesys{$i,'gblocks'}) if ($config{'show_grace'}); print "\n"; &print_limit($filesys{$i,'sfiles'}); &print_limit($filesys{$i,'hfiles'}); &print_grace($filesys{$i,'gfiles'}) if ($config{'show_grace'}); print "\n"; } print "

$text{'ufilesys_blocks'}$text{'ufilesys_files'}
$text{'ufilesys_fs'}$text{'ufilesys_used'} $text{'ufilesys_soft'}$text{'ufilesys_hard'}$text{'ufilesys_grace'}$text{'ufilesys_used'} $text{'ufilesys_soft'}$text{'ufilesys_hard'}$text{'ufilesys_grace'}
$f$filesys{$i,'ublocks'}$filesys{$i,'ufiles'}

\n"; } quota/unixware-lib.pl0000755000567100000120000001462611140674061014646 0ustar jcameronwheel# unixware-lib.pl # Quota functions for UnixWare 7 # quotas_init() sub quotas_init { return undef; } # quotas_supported() # Returns 1 for user quotas, 2 for group quotas or 3 for both sub quotas_supported { return 1; } # free_space(filesystem) # Returns an array containing btotal, bfree, ftotal, ffree sub free_space { local($out); $out = `df -t $_[0]`; $out =~ /(\d+) blocks\s+(\d+) files\n.*\s+(\d+) blocks\s+(\d+) files/; return ($3, $1, $4, $2); } # quota_can(&mnttab, &fstab) # Can this filesystem type support quotas? # 0 = No quota support (or not turned on in /etc/fstab) # 1 = User quotas only # 2 = Group quotas only # 3 = User and group quotas sub quota_can { return $_[0]->[2] eq "ufs" || $_[0]->[2] eq "vxfs" ? 1 : 0; } # quota_now(&mnttab, &fstab) # Are quotas currently active? # 0 = Not active # 1 = User quotas active # 2 = Group quotas active # 3 = Both active sub quota_now { return $_[0]->[3] =~ /,quota/ || $_[0]->[3] =~ /^quota/ ? 1 : 0; } # filesystem_users(filesystem) # Fills the array %user with information about all users with quotas # on this filesystem. This may not be all users on the system.. sub filesystem_users { local($rep, @rep, $n, %hasu, $u); $rep = &backquote_logged("$config{'user_repquota_command'} $_[0] 2>&1"); if ($?) { return -1; } setpwent(); while(@uinfo = getpwent()) { $hasu{$uinfo[0]}++; } endpwent() if ($gconfig{'os_type'} ne 'hpux'); @rep = split(/\n/, $rep); @rep = @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s+..\s+(\d+)\s+(\d+)\s+(\d+).*(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{7})(.{7})(.{7}).{13}(.{7})(.{7})(.{7})/) { $user{$n,'user'} = $1; $user{$n,'ublocks'} = int($2); $user{$n,'sblocks'} = int($3); $user{$n,'hblocks'} = int($4); $user{$n,'ufiles'} = int($5); $user{$n,'sfiles'} = int($6); $user{$n,'hfiles'} = int($7); $user{$n,'user'} =~ s/^#//g; if ($user{$n,'user'} !~ /^\d+$/ && !$hasu{$user{$n,'user'}}) { # Username was truncated! Try to find him.. foreach $u (keys %hasu) { if (substr($u, 0, length($user{$n,'user'})) eq $user{$n,'user'}) { # found him.. $user{$n,'user'} = $u; last; } } } } } return $n; } # edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles) sub edit_quota_file { local($rv, $line); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^fs (\S+) blocks \(soft = (\d+), hard = (\d+)\) inodes \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) { # found line to change $line = "fs $_[1] blocks (soft = $_[2], hard = $_[3]) inodes (soft = $_[4], hard = $_[5])"; } $rv .= "$line\n"; } return $rv; } # quotaon(filesystem, mode) # Activate quotas and create quota file for some filesystem. The mode can # be 1 for user only, 2 for group only or 3 for user and group sub quotaon { return if (&is_readonly_mode()); local($qf, $out); $qf = "$_[0]/quotas"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); } $out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # quotaoff(filesystem, mode) # Turn off quotas for some filesystem sub quotaoff { return if (&is_readonly_mode()); local($out); $out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # quotacheck(filesystem, mode) # Runs quotacheck on some filesystem sub quotacheck { $out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # copy_user_quota(user, [user]+) # Copy the quotas for some user to many others sub copy_user_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'user_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # user_filesystems(user) # Fills the array %filesys with details of all filesystems some user has # quotas on sub user_filesystems { local($n, $_); open(QUOTA, "$config{'user_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line! $filesys{$n,'filesys'} = $1; =~ /^.{13}(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/; $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'ufiles'} = int($4); $filesys{$n,'sfiles'} = int($5); $filesys{$n,'hfiles'} = int($6); $n++; } elsif (/^(.{13})(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/) { $filesys{$n,'filesys'} = $1; $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'filesys'} =~ s/\s+$//g; $n++; } } close(QUOTA); return $n; } # get_user_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day, 4=week, 5=month sub get_user_grace { local(@rv); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'user_grace_command'} |"); while() { if (/^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[0]) { if ($2 == 0) { push(@rv, 0, 0); } else { push(@rv, $2, $name_to_unit{$3}); } if ($4 == 0) { push(@rv, 0, 0); } else { push(@rv, $4, $name_to_unit{$5}); } } } close(GRACE); return @rv; } # default_grace() # Returns 0 if grace time can be 0, 1 if zero grace means default sub default_grace { return 1; } # edit_grace_file(data, filesystem, btime, bunits, ftime, funits) sub edit_grace_file { local($rv, $line); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[1]) { # replace this line $line = "fs $_[1] blocks time limit = $_[2] $unit_to_name{$_[3]}, files time limit = $_[4] $unit_to_name{$_[5]}"; } $rv .= "$line\n"; } return $rv; } # grace_units() # Returns an array of possible units for grace periods sub grace_units { return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'}, $text{'grace_days'}, $text{'grace_weeks'}, $text{'grace_months'}); } %name_to_unit = ( "sec", 0, "secs", 0, "min", 1, "mins", 1, "hour", 2, "hours", 2, "day", 3, "days", 3, "week", 4, "weeks", 4, "month", 5, "months", 5 ); foreach $k (keys %name_to_unit) { $unit_to_name{$name_to_unit{$k}} = $k; } 1; quota/config-hpux0000644000567100000120000000073411140674061014045 0ustar jcameronwheeldisplay_max=100 user_quotaoff_command=quotaoff user_quotaon_command=quotaon user_repquota_command=repquota -v user_grace_command=edquota -t user_quota_command=quota -v quotacheck_command=quotacheck user_edquota_command=edquota user_copy_command=edquota -p sort_mode=0 block_mode=1 show_grace=0 email_msg=Disk usage for user ${USER} on filesystem ${FS} has reached ${PERCENT}% of the allowed quota. ${USED} of disk space is being used, out of a maximum of ${QUOTA}. pc_show=1 quota/CHANGELOG0000664000567100000120000000044111140674061013102 0ustar jcameronwheel---- Changes since 1.140 ---- Quotas are now show in kB / MB / GB where the filesystem block size is know (such as on Linux). A graph of usage is now included where possible, thanks to Moses Moore. ---- Changes since 1.380 ---- Updated the user interface to use the new Webmin UI library. quota/config-macos0000644000567100000120000000133711140674061014163 0ustar jcameronwheeluser_quotaoff_command=quotaoff -u user_quotaon_command=quotaon -u group_copy_command=edquota -g -p quotacheck_command=quotacheck user_quota_command=quota -v -u group_grace_command=edquota -t -g user_repquota_command=repquota -u -v user_edquota_command=edquota -u group_quotaoff_command=quotaoff -g group_quotaon_command=quotaon -g group_quota_command=quota -v -g user_copy_command=edquota -u -p group_repquota_command=repquota -g -v display_max=100 group_edquota_command=edquota -g user_grace_command=edquota -t -u sort_mode=0 block_mode=1 show_grace=0 email_msg=Disk usage for user ${USER} on filesystem ${FS} has reached ${PERCENT}% of the allowed quota. ${USED} of disk space is being used, out of a maximum of ${QUOTA}. pc_show=1 quota/index.cgi0000775000567100000120000000600211140674061013465 0ustar jcameronwheel#!/usr/local/bin/perl # index.cgi # Just display the current user's quotas require './quota-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", undef, 0, 1); @st = stat($remote_user_info[7]); # force mount of home dir $n = &user_filesystems($remote_user); if ($n) { print &ui_subheading(&text('index_quotas', "$remote_user")); "as_table(); } else { print "$text{'index_none'}

\n"; } if ("as_supported() >= 2) { foreach $gid ($remote_user_info[3], &other_groups($remote_user)) { ($g = getgrgid($gid)) || next; $n = &group_filesystems($g); if ($n > 0) { print &ui_subheading(&text('index_gquotas', "$g")); "as_table(); } } } &ui_print_footer("/", $text{'index'}); sub quotas_table { # Generate top header (showing blocks/files) $bsize = $config{'block_size'}; @hcols = ( undef, $bsize ? $text{'ufilesys_space'} : $text{'ufilesys_blocks'}, $config{'show_grace'} ? ( undef ) : ( ), $text{'ufilesys_files'}, $config{'show_grace'} ? ( undef ) : ( ) ); print &ui_columns_start(\@hcols, 100, 0, [ undef, "colspan=3 align=center", "colspan=3 align=center" ]); # Generate second header @hcols = ( $text{'ufilesys_fs'}, $text{'ufilesys_used'}, $text{'ufilesys_soft'}, $text{'ufilesys_hard'}, $config{'show_grace'} ? ( $text{'ufilesys_grace'} ) : ( ), $text{'ufilesys_used'}, $text{'ufilesys_soft'}, $text{'ufilesys_hard'}, $config{'show_grace'} ? ( $text{'ufilesys_grace'} ) : ( ), ); print &ui_columns_header(\@hcols); # Generate one row per filesystem the user has quota on for($i=0; $i<$n; $i++) { $f = $filesys{$i,'filesys'}; local @cols; push(@cols, $f); if ($bsize) { push(@cols, &nice_size($filesys{$i,'ublocks'}*$bsize)); } else { push(@cols, $filesys{$i,'ublocks'}); } push(@cols, &nice_limit($filesys{$i,'sblocks'}, $bsize)); push(@cols, &nice_limit($filesys{$i,'hblocks'}, $bsize)); push(@cols, $filesys{$i,'gblocks'}) if ($config{'show_grace'}); push(@cols, $filesys{$i,'ufiles'}); push(@cols, &nice_limit($filesys{$i,'sfiles'}, $bsize, 1)); push(@cols, &nice_limit($filesys{$i,'hfiles'}, $bsize, 1)); push(@cols, $filesys{$i,'gfiles'}) if ($config{'show_grace'}); print &ui_columns_row(\@cols); # Show bar chart if ($filesys{$i,'sblocks'} or $filesys{$i,'hblocks'} or $filesys{$i,'sfiles'} or $filesys{$i,'hfiles'}) { my ($b,$bmax); local @cols = ( "" ); my $cols = $config{'show_grace'} ? 4 : 3; if ($bmax = ($filesys{$i,'hblocks'} or $filesys{$i,'sblocks'})) { $b = int(($filesys{$i,'ublocks'}/$bmax*100)+0.5); push(@cols, "
 
"); } else { push(@cols, ""); } if ($bmax = ($filesys{$i,'hfiles'} or $filesys{$i,'sfiles'})) { $b = int(($filesys{$i,'ufiles'}/$bmax*100)+0.5); push(@cols, "
 
"); } else { push(@cols, ""); } print &ui_columns_row(\@cols, [ "", "colspan=$cols", "colspan=$cols" ]); } } print &ui_columns_end(); } quota/macos-lib.pl0000755000567100000120000002177611140674061014112 0ustar jcameronwheel# macos-lib.pl # Quota functions for OSX # XXX checking if on/off # quotas_init() sub quotas_init { if (&has_command("quotaon") && &has_command("quotaoff")) { return undef; } else { return "The quotas programs do not appear to be installed on ". "your system\n"; } } # quotas_supported() # Returns 1 for user quotas, 2 for group quotas or 3 for both sub quotas_supported { return 3; } # free_space(filesystem) # Returns an array containing btotal, bfree, ftotal, ffree sub free_space { local(@out, @rv); $ENV{'BLOCKSIZE'} = 1024; `df -i $_[0]` =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)\s+\S+\s+(\d+)\s+(\d+)/; return ($1, $2, $3+$4, $4); } # quota_can(&mnttab, &fstab) # Can this filesystem type support quotas? # 0 = No quota support (or not turned on in /etc/fstab) # 1 = User quotas only # 2 = Group quotas only # 3 = User and group quotas sub quota_can { return 0 if ($_[0]->[2] ne 'ufs' && $_[0]->[2] ne 'hfs'); return "a_now($_[0], $_[1]) || 3; # use the current mode if active } # quota_now(&mnttab, &fstab) # Are quotas currently active? # 0 = Not active # 1 = User quotas active # 2 = Group quotas active # 3 = Both active sub quota_now { local $rv; $rv += 1 if (-r "$_[0]->[0]/.quota.ops.user" && &big_enough("$_[0]->[0]/.quota.user")); $rv += 2 if (-r "$_[0]->[0]/.quota.ops.group" && &big_enough("$_[0]->[0]/.quota.group")); return $rv; } # quotaon(filesystem, mode) # Activate quotas and create quota files for some filesystem. The mode can # be 1 for user only, 2 for group only or 3 for user and group sub quotaon { return if (&is_readonly_mode()); local($out, $qf, @qfile, $flags); if ($_[1]%2 == 1) { # turn on user quotas $qf = "$_[0]/.quota.ops.user"; &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); $qf = "$_[0]/.quota.user"; if (!&big_enough($qf)) { &unlink_file($qf); &system_logged("$config{'quotacheck_command'} $_[0]"); } $out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { # turn on group quotas $qf = "$_[0]/.quota.ops.group"; &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); $qf = "$_[0]/quota.group"; if (!&big_enough($qf)) { &unlink_file($qf); &system_logged("$config{'quotacheck_command'} $_[0]"); } $out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } sub big_enough { local @st = stat($_[0]); return $st[7] >= 1024; } # quotaoff(filesystem, mode) # Turn off quotas for some filesystem sub quotaoff { return if (&is_readonly_mode()); local($out); if ($_[1]%2 == 1) { $out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } &unlink_file("$_[0]/.quota.ops.user"); } if ($_[1] > 1) { $out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } &unlink_file("$_[0]/.quota.ops.group"); } return undef; } # user_filesystems(user) # Fills the array %filesys with details of all filesystem some user has # quotas on sub user_filesystems { local($n, $_, %mtab); open(QUOTA, "$config{'user_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+).(.{9})\s+(\S+)\s+(\S+)\s+(\S+)/) { $filesys{$n,'filesys'} = $1; $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($6); $filesys{$n,'sfiles'} = int($7); $filesys{$n,'hfiles'} = int($8); $n++; } } close(QUOTA); return $n; } # group_filesystems(group) # Fills the array %filesys with details of all filesystem some group has # quotas on sub group_filesystems { local($n, $_, %mtab); open(QUOTA, "$config{'group_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+).(.{9})\s+(\S+)\s+(\S+)\s+(\S+)/) { $filesys{$n,'filesys'} = $1; $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($6); $filesys{$n,'sfiles'} = int($7); $filesys{$n,'hfiles'} = int($8); $n++; } } close(QUOTA); return $n; } # filesystem_users(filesystem) # Fills the array %user with information about all users with quotas # on this filesystem. This may not be all users on the system.. sub filesystem_users { local($rep, @rep, $n, $what); $rep = `$config{'user_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = grep { !/^root\s/ } @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) { $user{$n,'user'} = $1; $user{$n,'ublocks'} = int($2); $user{$n,'sblocks'} = int($3); $user{$n,'hblocks'} = int($4); $user{$n,'ufiles'} = int($5); $user{$n,'sfiles'} = int($6); $user{$n,'hfiles'} = int($7); } } return $n; } # filesystem_groups(filesystem) # Fills the array %group with information about all groups with quotas # on this filesystem. This may not be all groups on the system.. sub filesystem_groups { local($rep, @rep, $n, $what); $rep = `$config{'group_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) { $group{$n,'group'} = $1; $group{$n,'ublocks'} = int($2); $group{$n,'sblocks'} = int($3); $group{$n,'hblocks'} = int($4); $group{$n,'ufiles'} = int($5); $group{$n,'sfiles'} = int($6); $group{$n,'hfiles'} = int($7); } } return $n; } # edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles) sub edit_quota_file { local($rv, $line, %mtab, @m); @line = split(/\n/, $_[0]); for($i=0; $i<@line; $i++) { if ($line[$i] =~ /^(\S+): (.*) in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) { # found lines to change $rv .= "$1: $2 in use: $3, limits (soft = $_[2], hard = $_[3])\n"; $line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/; $rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n"; } else { $rv .= "$line[$i]\n"; } } return $rv; } # quotacheck(filesystem, mode) # Runs quotacheck on some filesystem sub quotacheck { $out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # copy_user_quota(user, [user]+) # Copy the quotas for some user to many others sub copy_user_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'user_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # copy_group_quota(group, [group]+) # Copy the quotas for some group to many others sub copy_group_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'group_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # default_grace() # Returns 0 if grace time can be 0, 1 if zero grace means default sub default_grace { return 0; } # get_user_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day sub get_user_grace { local(@rv, %mtab, @m); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'user_grace_command'} $_[0] |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } } close(GRACE); return @rv; } # get_group_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day sub get_group_grace { local(@rv, %mtab, @m); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'group_grace_command'} $_[0] |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } } close(GRACE); return @rv; } # edit_grace_file(data, filesystem, btime, bunits, ftime, funits) sub edit_grace_file { local($rv, $line, @m, %mtab); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[1]) { # replace this line $line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}"; } $rv .= "$line\n"; } return $rv; } # grace_units() # Returns an array of possible units for grace periods sub grace_units { return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'}, $text{'grace_days'}); } # Always returns 1024 on MacOS sub fs_block_size { return 1024; } %name_to_unit = ( "second", 0, "seconds", 0, "minute", 1, "minutes", 1, "hour", 2, "hours", 2, "day", 3, "days", 3, ); foreach $k (keys %name_to_unit) { $unit_to_name{$name_to_unit{$k}} = $k; } 1; quota/ulang/0000775000567100000120000000000011140674062013000 5ustar jcameronwheelquota/ulang/tr0000644000567100000120000000042611140674061013347 0ustar jcameronwheelindex_title=Disk Kotalar index_quotas=Yerletirilmi dosya sistemleri $1 iin disk kotalar index_none=Yerletirilmi herhangi dosya sistemleri zerinde kullanc disk kotalarna sahip deilsiniz. index_gquotas=Yerletirilmi dosya sistemleri zerinde $1 iin disk kotalarquota/ulang/en0000664000567100000120000000032111140674061013320 0ustar jcameronwheelindex_title=Disk Quotas index_quotas=Disk quotas for $1 on mounted filesystems index_none=You have no user disk quotas on any mounted filesystems. index_gquotas=Disk quotas for group $1 on mounted filesystems quota/ulang/ru_RU0000644000567100000120000000045111140674061013754 0ustar jcameronwheelindex_gquotas= $1 index_none= . index_quotas= $1 index_title= quota/ulang/de0000644000567100000120000000045611140674061013315 0ustar jcameronwheelindex_gquotas=Speicherbegrenzungen für Gruppe $1 auf eingehängten Dateisystemen index_none=Sie besitzen keine Speicherbegrenzungen auf keinerlei eingehängten Dateisystemen index_quotas=Speicherbegrenzungen für $1 auf eingehängten Dateisystemen index_title=Speicherbegrenzungen quota/ulang/ru_SU0000755000567100000120000000036611140674061013765 0ustar jcameronwheelindex_title= index_quotas= $1 index_none= . index_gquotas= $1 quota/ulang/ca0000755000567100000120000000035411140674061013310 0ustar jcameronwheelindex_title=Quotes de Disc index_quotas=Quotes de disc de $1 als sistemes de fitxers muntats index_none=No tens cap quota de disc a cap sistema de fitxers muntat. index_gquotas=Quotes de disc del grup $1 als sistemes de fitxers muntats quota/ulang/fr0000744000567100000120000000036711140674061013336 0ustar jcameronwheelindex_title=Quotas de Disque index_quotas=Quotas de disque pour $1 sur les filesystems monts/actifs index_none=Vous n'avez aucun quota sur aucun filesystem mont. index_gquotas=Quotas de Disque pour le groupe $1 sur les filesystems monts/actifs quota/ulang/el0000755000567100000120000000025011140674061013320 0ustar jcameronwheelindex_title=Quotas index_quotas=Quotas $1 index_none= quotas . quota/config.info.ca0000755000567100000120000000223511140674061014400 0ustar jcameronwheelblock_mode=Mostra les quotes en,1,1-Kilobytes (si s possible),0-Blocs block_size=Mida dels blocs del sistema de fitxers,3,Desconeguda show_grace=Mostra els periodes de grcia, si est disponible,1,1-S,0-No user_repquota_command=Ordre per llistar els usuaris en un sistema de fitxers,0 group_repquota_command=Ordre per llistar els grups en un sistema de fitxers,0 user_edquota_command=Ordre per editar la quota dels usuaris,0 group_edquota_command=Ordre per editar la quota dels grups,0 user_quota_command=Ordre per comprovar la quota d'un usuari,0 group_quota_command=Ordre per comprovar la quota d'un grup,0 user_copy_command=Ordre per copiar la quota d'un usuari,0 group_copy_command=Ordre per copiar la quota d'un grup,0 user_quotaon_command=Ordre per activar les quotes d'usuaris,0 group_quotaon_command=Ordre per activar les quotes de grups,0 user_quotaoff_command=Ordre per desactivar les quotes d'usuaris,0 group_quotaoff_command=Ordre per desactivar les quotes de grups,0 quotacheck_command=Ordre per comprovar les quotes,0 user_grace_command=Ordre per editar els periodes de grcia dels usuaris,0 group_grace_command=Ordre per editar els periodes de grcia dels grups,0 quota/solaris-lib.pl0000755000567100000120000001755211140674061014461 0ustar jcameronwheel# solaris-lib.pl # Quota functions for solaris 2.5+ # quotas_init() sub quotas_init { return undef; } # quotas_supported() # Returns 1 for user quotas, 2 for group quotas or 3 for both sub quotas_supported { return 1; } # free_space(filesystem) # Returns an array containing btotal, bfree, ftotal, ffree sub free_space { local($out); $out = `df -t $_[0]`; $out =~ /(\d+) blocks\s+(\d+) files\n.*\s+(\d+) blocks\s+(\d+) files/; return ($3, $1, $4, $2); } # quota_can(&mnttab, &fstab) # Can this filesystem type support quotas? # 0 = No quota support (or not turned on in /etc/fstab) # 1 = User quotas only # 2 = Group quotas only # 3 = User and group quotas sub quota_can { return $_[0]->[2] eq "ufs" && $_[0]->[1] ne $_[0]->[0] ? 1 : 0; } # quota_now(&mnttab, &fstab) # Are quotas currently active? # 0 = Not active # 1 = User quotas active # 2 = Group quotas active # 3 = Both active sub quota_now { return $_[0]->[3] =~ /,quota/ || $_[0]->[3] =~ /^quota/ ? 1 : 0; } # filesystem_users(filesystem) # Fills the array %user with information about all users with quotas # on this filesystem. This may not be all users on the system.. sub filesystem_users { local($rep, @rep, $n, %hasu, @hasu, $u); $rep = `$config{'user_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } setpwent(); while(@uinfo = getpwent()) { $hasu{$uinfo[0]} = $uinfo[2]; push(@hasu, $uinfo[0]); } endpwent(); @hasu = sort { $hasu{$a} <=> $hasu{$b} } @hasu; @rep = split(/\n/, $rep); @rep = @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s+[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s+(.{0,15})\s+(\d+)\s+(\d+)\s+(\d+)(.*)/ || $rep[$n] =~ /(\S+)\s+[\-\+]{2}(.{7})(.{7})(.{7})(.{13})(.{7})(.{7})(.{7})(.*)/) { $user{$n,'user'} = $1; $user{$n,'ublocks'} = int($2); $user{$n,'sblocks'} = int($3); $user{$n,'hblocks'} = int($4); $user{$n,'gblocks'} = $5; $user{$n,'ufiles'} = int($6); $user{$n,'sfiles'} = int($7); $user{$n,'hfiles'} = int($8); $user{$n,'gfiles'} = $9; $user{$n,'user'} =~ s/^#//g; if ($user{$n,'user'} !~ /^\d+$/ && !defined($hasu{$user{$n,'user'}})) { # Username was truncated! Try to find him.. foreach $u (@hasu) { if (substr($u, 0, length($user{$n,'user'})) eq $user{$n,'user'}) { # found him.. $user{$n,'user'} = $u; @hasu = grep { $_ ne $u } @hasu; last; } } } $user{$nn,'gblocks'} = &trunc_space($user{$nn,'gblocks'}); $user{$nn,'gfiles'} = &trunc_space($user{$nn,'gfiles'}); } } return $n; } # edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles) sub edit_quota_file { local($rv, $line); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^fs (\S+) blocks \(soft = (\d+), hard = (\d+)\) inodes \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) { # found line to change $line = "fs $_[1] blocks (soft = $_[2], hard = $_[3]) inodes (soft = $_[4], hard = $_[5])"; } $rv .= "$line\n"; } return $rv; } # quotaon(filesystem, mode) # Activate quotas and create quota file for some filesystem. The mode can # be 1 for user only, 2 for group only or 3 for user and group sub quotaon { return if (&is_readonly_mode()); local($qf, $out); $qf = "$_[0]/quotas"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); } $out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # quotaoff(filesystem, mode) # Turn off quotas for some filesystem sub quotaoff { return if (&is_readonly_mode()); local($out); $out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # quotacheck(filesystem, mode) # Runs quotacheck on some filesystem sub quotacheck { $out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # copy_user_quota(user, [user]+) # Copy the quotas for some user to many others sub copy_user_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'user_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # user_filesystems(user) # Fills the array %filesys with details of all filesystems some user has # quotas on sub user_filesystems { local($n, $_); open(QUOTA, "$config{'user_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|Filesystem)/i) { next; } if (/^(\S+)$/) { # Bogus wrapped line! $filesys{$n,'filesys'} = $1; local $nl = ; if ($nl =~ /^\s+(\d+)\s+(\d+)\s+(\d+)\s(.{0,15})\s+(\d+)\s+(\d+)\s+(\d+)(.*)/ || $nl =~ /^.{13}(.{7})(.{7})(.{7})(.{12})(.{7})(.{7})(.{7})(.*)/) { $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'gblocks'} = $4; $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'gfiles'} = $8; $filesys{$n,'gblocks'} = &trunc_space($filesys{$n,'gblocks'}); $filesys{$n,'gfiles'} = &trunc_space($filesys{$n,'gfiles'}); $n++; } } elsif (/^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s(.{0,15})\s+(\d+)\s+(\d+)\s+(\d+)(.*)/ || /^(.{13})(.{7})(.{7})(.{7})(.{12})(.{7})(.{7})(.{7})(.*)/) { $filesys{$n,'filesys'} = $1; $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'gblocks'} = $5; $filesys{$n,'ufiles'} = int($6); $filesys{$n,'sfiles'} = int($7); $filesys{$n,'hfiles'} = int($8); $filesys{$n,'gfiles'} = $9; $filesys{$n,'filesys'} =~ s/\s+$//g; $filesys{$n,'gblocks'} = &trunc_space($filesys{$n,'gblocks'}); $filesys{$n,'gfiles'} = &trunc_space($filesys{$n,'gfiles'}); $n++; } } close(QUOTA); return $n; } # get_user_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day, 4=week, 5=month sub get_user_grace { local(@rv); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'user_grace_command'} |"); while() { if (/^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[0]) { if ($2 == 0) { push(@rv, 0, 0); } else { push(@rv, $2, $name_to_unit{$3}); } if ($4 == 0) { push(@rv, 0, 0); } else { push(@rv, $4, $name_to_unit{$5}); } } } close(GRACE); return @rv; } # default_grace() # Returns 0 if grace time can be 0, 1 if zero grace means default sub default_grace { return 1; } # edit_grace_file(data, filesystem, btime, bunits, ftime, funits) sub edit_grace_file { local($rv, $line); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[1]) { # replace this line $line = "fs $_[1] blocks time limit = $_[2] $unit_to_name{$_[3]}, files time limit = $_[4] $unit_to_name{$_[5]}"; } $rv .= "$line\n"; } return $rv; } # grace_units() # Returns an array of possible units for grace periods sub grace_units { return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'}, $text{'grace_days'}, $text{'grace_weeks'}, $text{'grace_months'}); } # quota_block_size(dir, device, filesystem) # Returns the size of quota blocks on some filesystem, or undef if unknown. # Always 1024, even though *filesystem* blocks are not! sub quota_block_size { return 1024; } # fs_block_size(dir, device, filesystem) # Returns the size of blocks on some filesystem, or undef if unknown. sub fs_block_size { if ($_[2] eq "ufs") { local $kout = `df -k $_[0]`; local $bout = `df -t $_[0]`; if ($kout =~ /\n\Q$_[1]\E\s+(\d+)/) { local $ks = $1; if ($bout =~ /total\s*:\s*(\d+)\s+blocks/) { local $bs = $1; return ($ks*1024) / $bs; } } } return 1024; } %name_to_unit = ( "sec", 0, "secs", 0, "min", 1, "mins", 1, "hour", 2, "hours", 2, "day", 3, "days", 3, "week", 4, "weeks", 4, "month", 5, "months", 5 ); foreach $k (keys %name_to_unit) { $unit_to_name{$name_to_unit{$k}} = $k; } 1; quota/config-openbsd0000644000567100000120000000133711140674061014513 0ustar jcameronwheeluser_quotaoff_command=quotaoff -u user_quotaon_command=quotaon -u group_copy_command=edquota -g -p quotacheck_command=quotacheck user_quota_command=quota -v -u group_grace_command=edquota -t -g user_repquota_command=repquota -u -v user_edquota_command=edquota -u group_quotaoff_command=quotaoff -g group_quotaon_command=quotaon -g group_quota_command=quota -v -g user_copy_command=edquota -u -p group_repquota_command=repquota -g -v display_max=100 group_edquota_command=edquota -g user_grace_command=edquota -t -u sort_mode=0 block_mode=1 show_grace=0 email_msg=Disk usage for user ${USER} on filesystem ${FS} has reached ${PERCENT}% of the allowed quota. ${USED} of disk space is being used, out of a maximum of ${QUOTA}. pc_show=1 quota/netbsd-lib.pl0000755000567100000120000002255711140674061014265 0ustar jcameronwheel# openbsd-lib.pl # Quota functions for openbsd # quotas_init() sub quotas_init { return undef; } # quotas_supported() # Returns 1 for user quotas, 2 for group quotas or 3 for both sub quotas_supported { return 3; } # free_space(filesystem) # Returns an array containing btotal, bfree, ftotal, ffree sub free_space { local(@out, @rv); $ENV{'BLOCKSIZE'} = 1024; `df -i $_[0]` =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)\s+\S+\s+(\d+)\s+(\d+)/; return ($1, $2, $3+$4, $4); } # quota_can(&mnttab, &fstab) # Can this filesystem type support quotas? # 0 = No quota support (or not turned on in /etc/fstab) # 1 = User quotas only # 2 = Group quotas only # 3 = User and group quotas sub quota_can { return ($_[1]->[3] =~ /userquota/ ? 1 : 0) + ($_[1]->[3] =~ /groupquota/ ? 2 : 0); } # quota_now(&mnttab, &fstab) # Are quotas currently active? # 0 = Not active # 1 = User quotas active # 2 = Group quotas active # 3 = Both active sub quota_now { return $_[0]->[3] =~ /quota/ ? 3 : 0; } # quotaon(filesystem, mode) # Activate quotas and create quota files for some filesystem. The mode can # be 1 for user only, 2 for group only or 3 for user and group sub quotaon { return if (&is_readonly_mode()); local($out, $qf, @qfile, $flags); if ($_[1]%2 == 1) { # turn on user quotas $qf = "$_[0]/quota.user"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); &system_logged("$config{'quotacheck_command'} $_[0]"); } $out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { # turn on group quotas $qf = "$_[0]/quota.group"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); &system_logged("$config{'quotacheck_command'} $_[0]"); } $out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } # quotaoff(filesystem, mode) # Turn off quotas for some filesystem sub quotaoff { return if (&is_readonly_mode()); local($out); if ($_[1]%2 == 1) { $out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { $out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } # user_filesystems(user) # Fills the array %filesys with details of all filesystem some user has # quotas on sub user_filesystems { local($n, $_, %mtab); open(QUOTA, "$config{'user_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line $filesys{$n,'filesys'} = $1; =~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/; $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'ufiles'} = int($4); $filesys{$n,'sfiles'} = int($5); $filesys{$n,'hfiles'} = int($6); $n++; } elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) { $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'filesys'} = $1; $filesys{$n,'filesys'} =~ s/^\s+//g; $n++; } } close(QUOTA); return $n; } # group_filesystems(group) # Fills the array %filesys with details of all filesystem some group has # quotas on sub group_filesystems { local($n, $_, %mtab); open(QUOTA, "$config{'group_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line $filesys{$n,'filesys'} = $1; =~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/; $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'ufiles'} = int($4); $filesys{$n,'sfiles'} = int($5); $filesys{$n,'hfiles'} = int($6); $n++; } elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) { $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'filesys'} = $1; $filesys{$n,'filesys'} =~ s/^\s+//g; $n++; } } close(QUOTA); return $n; } # filesystem_users(filesystem) # Fills the array %user with information about all users with quotas # on this filesystem. This may not be all users on the system.. sub filesystem_users { local($rep, @rep, $n, $what); $rep = `$config{'user_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = grep { !/^root\s/ } @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) { $user{$n,'user'} = $1; $user{$n,'ublocks'} = int($2); $user{$n,'sblocks'} = int($3); $user{$n,'hblocks'} = int($4); $user{$n,'ufiles'} = int($5); $user{$n,'sfiles'} = int($6); $user{$n,'hfiles'} = int($7); } } return $n; } # filesystem_groups(filesystem) # Fills the array %group with information about all groups with quotas # on this filesystem. This may not be all groups on the system.. sub filesystem_groups { local($rep, @rep, $n, $what); $rep = `$config{'group_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) { $group{$n,'group'} = $1; $group{$n,'ublocks'} = int($2); $group{$n,'sblocks'} = int($3); $group{$n,'hblocks'} = int($4); $group{$n,'ufiles'} = int($5); $group{$n,'sfiles'} = int($6); $group{$n,'hfiles'} = int($7); } } return $n; } # edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles) sub edit_quota_file { local($rv, $line, %mtab, @m); @line = split(/\n/, $_[0]); for($i=0; $i<@line; $i++) { if ($line[$i] =~ /^(\S+): (blocks|kbytes) in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) { # found lines to change $rv .= "$1: $2 in use: $3, limits (soft = $_[2], hard = $_[3])\n"; $line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/; $rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n"; } else { $rv .= "$line[$i]\n"; } } return $rv; } # quotacheck(filesystem, mode) # Runs quotacheck on some filesystem sub quotacheck { $out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # copy_user_quota(user, [user]+) # Copy the quotas for some user to many others sub copy_user_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'user_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # copy_group_quota(group, [group]+) # Copy the quotas for some group to many others sub copy_group_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'group_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # default_grace() # Returns 0 if grace time can be 0, 1 if zero grace means default sub default_grace { return 0; } # get_user_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day sub get_user_grace { local(@rv, %mtab, @m); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'user_grace_command'} $_[0] |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } } close(GRACE); return @rv; } # get_group_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day sub get_group_grace { local(@rv, %mtab, @m); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'group_grace_command'} $_[0] |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } } close(GRACE); return @rv; } # edit_grace_file(data, filesystem, btime, bunits, ftime, funits) sub edit_grace_file { local($rv, $line, @m, %mtab); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[1]) { # replace this line $line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}"; } $rv .= "$line\n"; } return $rv; } # grace_units() # Returns an array of possible units for grace periods sub grace_units { return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'}, $text{'grace_days'}); } # fs_block_size(dir, device, filesystem) # Returns the size of blocks on some filesystem, or undef if unknown. # Always 1024, because the ENV setting above forces this. sub fs_block_size { return 1024; } %name_to_unit = ( "second", 0, "seconds", 0, "minute", 1, "minutes", 1, "hour", 2, "hours", 2, "day", 3, "days", 3, ); foreach $k (keys %name_to_unit) { $unit_to_name{$name_to_unit{$k}} = $k; } 1; quota/lang/0000755000567100000120000000000011140674062012611 5ustar jcameronwheelquota/lang/tr0000644000567100000120000002616611140674061013173 0ustar jcameronwheelacl_email=Eposta bildirilerini dzenleyebilir mi? acl_fall=Btn dosya sistemleri acl_fsel=Seililer.. acl_fss=Dzenleyebilecei dosya sistemleri acl_gall=Btn gruplar acl_gexcept=Bu gruplar hari acl_ggrace=Grup gecikme zamanlarn dzenleyebilsin? acl_gnone=Hibir grup acl_gonly=Sadece bu gruplar acl_gquota=Kotalarn dzenleyebilecei gruplar acl_maxblocks=Maksimum izin verebilecei blok kotas acl_maxfiles=Maksimum izin verebilecei dosya kotas acl_quotanew=Yeni kullanclar iin kotalar yaplandrabilsin? acl_quotaon=Kotalar ap kapatabilsin? acl_ro=Kotalar sadece grebilsin, dzenleyemesin? acl_uall=Btn kullanclar acl_uexcept=Bu kullanclar hari acl_ugrace=Kullanc gecikme zamanlarn deitirebilsin? acl_ugroup=Birincil grubu bu olan kullanclar acl_unlimited=Limitsiz acl_uonly=Sadece bu kullanclar acl_uquota=Kotalarn dzenleyebilecei kullanclar acl_uuid=Bu aralktaki UID'ye sahip kullanclar acl_vtotal=Toplam disk kapasitesini grebilsin? activate_eallow=Bu dosya sistemindeki kotalar ap kapamak iin izininiz yoktur activate_eoff=Kotalarn kapatlmasnda hata olutu activate_eon=Kotalarn aktif hale getirilmesinde hata olutu cgform_all=Sistemdeki btn gruplar cgform_contain=Bu kullanclar ieren gruplar cgform_copyto=Btn dosya sistemlerinde $1 kotasn buraya kopyala .. cgform_doit=Kopyala cgform_ecannot=Kotalar kopyalayamazsnz cgform_egroup=Bu grubun kotalarn kopyalamak iin izininiz yoktur cgform_return=grup kotas cgform_select=Seili gruplar cgform_title=Kotalar Kopyala cgroup_eallowto='$1''e kotalar kopyalamak iin izininiz yoktur cgroup_ecannot=Kotalar kopyalayamazsnz cgroup_efail=Kotalarn kopyalanmasnda hata olutu cgroup_egallow=Bu grubun kotalarn kopyalamak iin izininiz yoktur cgroup_enogroup=Kopyalanacak grup yok check_done=... Tamamland. check_ecannot=Bu dosya sistemindeki kotalar kontrol ettiremezsiniz check_return=$1 listesi check_rgroup=grup check_running=quotacheck komutu imdi $1'deki dosya ve blok kullanmlarn aratryor. ok byk dosya sistemlerinde bu uzun zaman alabilir... check_ruser=kullanc check_title=Kotalar kontrol et cuform_all=Sistemdeki btn kullanclar cuform_copyto=Btn dosya sistemlerinde $1 iin kotalar kopyalanyor ... cuform_doit=Kopyala cuform_ecannot=Kotalar kopyalayamazsnz cuform_euallow=Bu kullanc iin kopyalar kopyalamak iin izininiz yoktur cuform_members=Seili grubun yeleri cuform_return=kullanc kotas cuform_select=Seili kullanclar cuform_title=Kotalar Kopyala cuser_eallowto='$1'e kotalar kopyalamak iin izininiz yoktur cuser_ecannot=Kotalar kopyalayamazsnz cuser_efail=Kotalarn kopyalanmasnda hata olutu cuser_enouser=Kopyalanacak kullanc yok cuser_euallow=Bu kullancnn kotalarn kopyalamak iin izininiz yoktur egroup_bused=Kullanlan Blok egroup_eallowfs=Bu dosya sistemindeki kotalar dzenlemek iin izininiz yoktur egroup_eallowgr='$1'in kotalarn dzenlemek iin izininiz yoktur egroup_freturn=dosya sistemi listesi egroup_fused=Kullanlan Dosya egroup_greturn=grup listesi egroup_hblimit=Hard nlok Limiti egroup_hflimit=Hard Dosya Limiti egroup_hklimit=Hard kb limiti egroup_kused=Kullanlan KB egroup_listall=Btn kotalar listele egroup_quotas=$2deki $1 iin Kota egroup_sblimit=Soft nlok Limiti egroup_sflimit=Soft Dosya Limiti egroup_sklimit=Soft kb limiti egroup_title=Kota Dzenle egroup_update=Gncelle email_ecannot=Eposta seeneklerini deitirmek iin izininiz yoktur email_edomain=Eksik ya da geersiz eposta alan ad email_einterval=Eksik ya da geersiz aralk email_epercent=Eksik ya da geersiz kullanm yzdesi email_err=Eposta seeneklerinin kaydedilmesinde hata olutu euser_bdisk=Diskteki kullanlabilir blok euser_bused=Kullanlan Blok euser_eallowfs=Bu dosya sistemindeki kotalar dzenlemek iin izininiz yoktur euser_eallowus='$1'in kotalarn dzenlemek iin izininiz yoktur euser_fdisk=Diskteki kullanlabilir dosya euser_freturn=dosya sistemi listesi euser_fused=Kullanlan Dosya euser_hblimit=Hard Blok Limiti euser_hflimit=Hard Dosya Limiti euser_hklimit=Hard kb limiti euser_kdisk=Diskteki kullanlabilir kb euser_kused=Kullanlan kb euser_listall=Btn Kotalar Listele euser_quotas=$2deki $1 iin Kota euser_sblimit=Soft Blok Limiti euser_sdisk=Diskteki kullanlabilir alan euser_sflimit=Soft Dosya Limiti euser_sklimit=Soft kb limiti euser_title=Kota Dzenle euser_update=Gncelle euser_ureturn=kullanc listesi gfilesys_all=Btn Kotalar gfilesys_blocks=Blok gfilesys_copy=Kotalar Kopyala gfilesys_ecannot='$1' iin kotalar dzenleyemezsiniz gfilesys_edit=Kota Dzenle: gfilesys_files=Dosya gfilesys_fs=Dosya sistemi gfilesys_hard=Hard Limit gfilesys_kbs=Kilobyte gfilesys_nogquota=$1 grubu herhangi bir dosya sisteminde kotaya sahip deil gfilesys_return=dosya sistemi listesi gfilesys_soft=Soft Limit gfilesys_space=Disk alan gfilesys_title=Grup Kotalar gfilesys_used=Kullanlan ggracef_block=Blok kotas iin ggracef_ecannot=Bu dosya sistemindeki gecikme zamanlarn dzenleyemezsiniz. ggracef_file=Dosya kotas iin ggracef_graces=$1 iin Grup Gecikme Zamanlar ggracef_info=Her dosya sistemi blok ve dosya iin bir gecikme zamanna sahiptir. Gecikme zaman kullancnn soft limiti atnda yeni dosyalar oluturamadan nceki sreyi belirler. ggracef_return=grup listesi ggracef_title=Gecikme Zamanlar ggracef_update=Gncelle ggraces_eedit=Bu dosya sistemindeki gecikme zamanlarn dzenleyemezsiniz ggraces_enumber='$1' bir numara deildir ggraces_esave=Gecikme zamanlarnn kaydedilmesinde hata olutu grace_days=Gn grace_hours=Saat grace_minutes=Dakika grace_months=Ay grace_seconds=Saniye grace_weeks=Hafta index_action=lem index_active=Aktif index_disable=Kotalar Kapat index_egroup=Grup Kotalarn Dzenle: index_enable=Kotalar A index_euser=Kullanc Kotalarn Dzenle: index_fs=Dosya sistemi index_inactive=Inaktif index_mount=Baland index_mountmod=Disk ve A Dosyasistemleri modl ile bir dosya sisteminde kotalar aktif hale getirebilirsiniz index_mountonly=Sadece mount yaplrken aktif edilebilir index_nosupport=Yerel dosya sisteminde desteklenen kota yok index_qboth=Kullanc ve Grup Kotalar index_qgroup=Grup Kotalar index_quser=Kullanc Kotalar index_return=indeks index_status=Durum index_title=Disk Kotalar index_type=Tip lgroups_blocks=Blok lgroups_check=Kotalar Kontrol Et lgroups_eallow=Bu dosya sisteminde kotalar dzenlemek iin izininiz yoktur lgroups_equota=Bunun iin kotay dzenle: lgroups_failed=Gruplarn listelenmesinde hata olutu lgroups_files=Dosya lgroups_grace=Gecikme Zamanlarn Dzenle lgroups_group=Grup lgroups_hard=Hard Limit lgroups_info=Webmin yeni bir Unix grubu oluturulduunda bu dosya sistemindeki kotalarn otomatik olarak belirlemek iin yaplandrld. Bu zellik sadece $1 Webmin modl ile grup eklendiinde alacaktr. lgroups_kbs=Kilobyte lgroups_newgroup=Yeni Grup Kotalar lgroups_noquota=$1'de kotaya sahip grup yok lgroups_quotas=$1'deki Btn Grup Kotalar lgroups_return=dosya sistemi listesi lgroups_soft=Soft Limit lgroups_space=Disk alan lgroups_title=Dosya sistemi kotalar lgroups_toomany=$1'de 1 sayfada gsterilemeyecek kadar ok kotaya sahip grup var lgroups_used=Kullanlan log_activate_g=$1'de grup kotalar aktif hale getirildi log_activate_u=$1'de kullanc kotalar aktif hale getirildi log_activate_ug=$1'de kullanc ve grup kotalar aktif hale getirildi log_check=$1'de kotalar kontrol edildi log_copy_g=Grup $1'in kotalar kopyaland log_copy_u=Kullanc $1'in kotalar kopyaland log_deactivate_g=$1'de grup kotalar kapatld log_deactivate_u=$1'de kullanc kotalar kapatld log_deactivate_ug=$1'de kullanc ve grup kotalar kapatld log_email=$1 iin eposta seenekleri deitirildi log_grace_g=$1'de grup gecikme zamanlar deitirildi log_grace_u=$1'de kullanc gecikme zamanlar deitirildi log_gsync=$1 'deki yeni grup kotalar deitirildi log_save=$2'de $1 iin kotalar deitirildi log_sync=$1'de yeni kullanc kotalar deitirildi lusers_apply=Uygula lusers_blocks=Blok lusers_bsize=Kota blok boyutu : $1 byte lusers_check=Kotalar Kontrol Et lusers_domain=Kullanc adresleri iin alan ad lusers_eallow=Bu dosya sistemindeki kotalar dzenlemek iin izininiz yoktur lusers_egrace=Gecikme Srelerini Dzenle lusers_email=Kullanclara eposta gnderilsin mi? lusers_emailheader=Kota dolarken kullanclara eposta gnder lusers_equota=Kotalar Dzenle: lusers_failed=Kullanclarn listelenmesinde hata olutu lusers_files=Dosya lusers_grace=Sre lusers_hard=Hard Limit lusers_hblimit=Hard Blok Limiti lusers_hflimit=Hard Dosya Limiti lusers_hours=saat lusers_info=Webmin yeni bir Unix kullancs oluturulduunda bu dosya sistemindeki kotasnn otomatik olarak ayarlanmas iin yaplandrlabilir. Bu sadece kullanc eklenirken Webmin Kullanclar ve Gruplar Modl kullanldnda geerlidir lusers_interval=Mesajlarn aras aralk lusers_kbs=Kilobyte lusers_ltype=Limit tipi lusers_newuser=Yeni Kullanc Kotalar lusers_noquota=Burada kotaya sahip kullanc yok lusers_pc_hblocks=Hard % lusers_percent=Kullanm oranna ulatnda uyar lusers_qoutas=$1'deki Btn Kullanc Kotalar lusers_return=dosya sistemleri listesi lusers_sblimit=Soft Blok Limiti lusers_sflimit=Soft Dosya Limiti lusers_soft=Soft Limit lusers_space=Disk alan lusers_title=Dosya sistemi kotalar lusers_toomany=$1 zerinde bir sayfada gsterilmeyecek kadar fazla kotaya sahip kullanc var lusers_used=Kullanlan lusers_user=Kullanc lusers_useradmin=Kullanclar ve Gruplar quota_unlimited=Limitsiz sgroup_efs=Bu dosya sistemindeki kotalar deitirmek iin izininiz yoktur. sgroup_egroup=Bu grubun kotalar deitirmek iin izininiz yoktur ssync_ecannot=Bu dosya sisteminde ntanml kotay belirleyemezsiniz suser_efs=Bu dosya sistemindeki kotalar deitirmek iin izininiz yoktur. suser_emaxblocks=$1 'in zerinde blok limiti belirleyemezsiniz suser_emaxfiles=$1 'in zerinde dosya limiti belirleyemezsiniz suser_euser=Bu kullancnn kotalarn deitirmek iin izininiz yoktur ufilesys_all=$1 iin Btn Kotalar ufilesys_blocks=Blok ufilesys_copy=Kotalar Kopyala ufilesys_ecannot='$1' iin kotalar dzenleyemezsiniz ufilesys_edit=Buradaki Kotalar Dzenle: ufilesys_files=Dosya ufilesys_fs=Dosya Sistemi ufilesys_grace=Gecikme sresi ufilesys_hard=Hard Limit ufilesys_kbs=Kilobyte ufilesys_nouquota=$1 kullancs bu dosya sisteminde herhangi bir kotaya sahip deildir ufilesys_return=dosya sistemleri listesi ufilesys_soft=Soft Limit ufilesys_space=Disk alan ufilesys_title=Kullanc Kotalar ufilesys_used=Kullanlan ugracef_block=Blok kotalar iin ugracef_ecannot=Bu dosya sistemindeki gecikme srelerini deitiremezsiniz ugracef_file=Dosya kotalar iin ugracef_graces=$1 iin Kullanc Gecikme Sreleri ugracef_info=Her dosya sistemi blok ve dosya iin bir gecikme zamanna sahiptir. Gecikme zaman kullancnn soft limiti atnda daha fazla dosya oluturamadan nceki sreyi belirler. ugracef_return=kullanc listesi ugracef_title=Gecikme Zamanlar ugracef_update=Gncelle ugraces_eedit=Bu dosya sistemindeki gecikme srelerini deitiremezsiniz ugraces_enumber='$1' bir say deildir ugraces_esave=Gecikme srelerinin kaydedilmesinde hata olutu quota/lang/en0000644000567100000120000003131211140674061013135 0ustar jcameronwheelquota_unlimited=Unlimited acl_fss=Filesystems this user can edit acl_fall=All filesystems acl_fsel=Selected.. acl_ro=Can only view quotas, not edit? acl_quotaon=Can enable and disable quotas? acl_quotanew=Can configure quotas for new users? acl_ugrace=Can edit user grace times? acl_vtotal=Can view total disk space? acl_ggrace=Can edit group grace times? acl_uquota=Users this user can edit quotas for acl_gquota=Groups this user can edit quotas for acl_uall= All users acl_uonly= Only users acl_uexcept= All except users acl_ugroup= Users with primary group acl_gall= All groups acl_gnone= No groups acl_gonly= Only groups acl_gexcept= All except groups acl_uuid=Users with UID in range acl_maxblocks=Maximum grantable block quota acl_maxfiles=Maximum grantable file quota acl_unlimited=Unlimited acl_email=Can setup email notifications? activate_eallow=You are not allowed to enable or disable quotas on this filesystem activate_eon=Failed to turn on quotas activate_eoff=Failed to turn off quotas check_title=Check Quotas check_return=$1 list check_ecannot=You cannot check quotas on this filesystem check_running=The quotacheck command is now being run to check the block and file usage on $1. This may take a long time for a very large filesystem... check_done=... Done. check_rgroup=group check_ruser=user cgroup_efail=Failed to copy quotas cgroup_ecannot=You cannot copy quotas cgroup_egallow=You are not allowed to copy the quotas of this group cgroup_enogroup=No groups to copy to cgroup_eallowto=You are not allowed to copy quotas to '$1' cgform_title=Copy Quotas cgform_return=group quota cgform_ecannot=You cannot copy quotas cgform_egroup=You are not allowed to copy the quotas of this group cgform_copyto=Copy quotas for $1 on ALL filesystems to ... cgform_all=All groups on your system cgform_select=Selected groups cgform_contain=Groups containing users cgform_doit=Copy cuser_efail=Failed to copy quotas cuser_ecannot=You cannot copy quotas cuser_euallow=You are not allowed to copy the quotas of this user cuser_enouser=No users to copy to cuser_eallowto=You are not allowed to copy quotas to '$1' cuform_title=Copy Quotas cuform_return=user quota cuform_ecannot=You cannot copy quotas cuform_euallow=You are not allowed to copy the quotas of this user cuform_copyto=Copy quotas for $1 on ALL filesystems to ... cuform_all=All users on your system cuform_select=Selected users cuform_members=Members of selected groups cuform_doit=Copy egroup_title=Edit Group Quota egroup_freturn=filesystem list egroup_greturn=group list egroup_eallowgr=You are not allowed to edit quotas for '$1' egroup_eallowfs=You are not allowed to edit quotas on this filesystem egroup_quotas=Quota for $1 on $2 egroup_bused=Blocks used egroup_kused=Kilobytes used egroup_sblimit=Soft block Limit egroup_hblimit=Hard block Limit egroup_sklimit=Soft kilobyte limit egroup_hklimit=Hard kilobyte limit egroup_fused=Files used egroup_sflimit=Soft file Limit egroup_hflimit=Hard file Limit egroup_update=Update egroup_listall=List All Quotas egroup_listalldesc=Click this button to display a list of all filesystems on which this group has disk quotas, with links to edit them. euser_title=Edit User Quota euser_freturn=filesystem list euser_ureturn=user list euser_eallowus=You are not allowed to edit quotas for '$1' euser_eallowfs=You are not allowed to edit quotas on this filesystem euser_quotas=Quota for $1 on $2 euser_bused=Blocks used euser_kused=Kilobytes used euser_bdisk=Available blocks on disk euser_kdisk=Available kilobytes on disk euser_sdisk=Available space on disk euser_sblimit=Soft block limit euser_hblimit=Hard block limit euser_sklimit=Soft kilobyte limit euser_hklimit=Hard kilobyte limit euser_fused=Files used euser_fdisk=Available files on disk euser_sflimit=Soft file limit euser_hflimit=Hard file limit euser_update=Update euser_listall=List All Quotas euser_listalldesc=Click this button to display a list of all filesystems on which this user has disk quotas, with links to edit them. gfilesys_title=Group Quotas gfilesys_return=filesystems list gfilesys_ecannot=You cannot edit quotas for '$1' gfilesys_all=All Quotas for $1 gfilesys_blocks=Blocks gfilesys_kbs=Kilobytes gfilesys_space=Disk space gfilesys_files=Files gfilesys_fs=Filesystem gfilesys_used=Used gfilesys_soft=Soft Limit gfilesys_hard=Hard Limit gfilesys_nogquota=Group $1 does not have quotas on any filesystem gfilesys_edit=Edit Quota On: gfilesys_copy=Copy Quotas gfilesys_editdesc=View and edit the quotas for this group on some other filesystem that it currently does not have quotas on. gfilesys_copydesc=Copy quota limits for this group on all filesystems to some or all other groups. ggracef_title=Grace Times ggracef_return=group list ggracef_ecannot=You cannot edit grace times on this filesystem ggracef_info=Each filesystem has a grace time for block and file quotas. The grace time determines how long a group can remain over the soft limit before no more files are allowed to be created. ggracef_graces=Group Grace Times for $1 ggracef_block=For block quota ggracef_file=For file quota ggracef_update=Update ggraces_esave=Failed to save grace times ggraces_eedit=You cannot edit grace times on this filesystem ggraces_enumber='$1' is not a number index_quser=User Quotas index_qgroup=Group Quotas index_qboth=User and Group Quotas index_active=Active index_disable=Disable Quotas index_inactive=Inactive index_enable=Enable Quotas index_mountonly=Can only enable at mount index_title=Disk Quotas index_fs=Filesystem index_type=Type index_mount=Mounted From index_status=Status index_action=Action index_return=index index_euser=Edit User Quotas: index_euserdesc=Enter or select a user, and click this button to view his quotas on all filesystems. index_egroup=Edit Group Quotas: index_egroupdesc=Enter or select a group, and click this button to view its quotas on all filesystems. index_nosupport=No local filesystems can support quotas. index_mountmod=You can enable quotas for a filesystem in the Disk and Network Filesystems module. lgroups_failed=Failed to list groups lgroups_tablist=Group list lgroups_eallow=You are not allowed to edit quotas on this filesystem lgroups_title=Filesystem Quotas lgroups_return=filesystems list lgroups_toomany=Too many groups have quotas on $1 to display on one page lgroups_quotas=All Group Quotas on $1 lgroups_blocks=Blocks lgroups_kbs=Kilobytes lgroups_space=Disk space lgroups_files=Files lgroups_group=Group lgroups_used=Used lgroups_soft=Soft Limit lgroups_hard=Hard Limit lgroups_noquota=No groups have quotas on $1 lgroups_equota=Edit Quota For: lgroups_grace=Edit Grace Times lgroups_check=Check Quotas lgroups_info=Webmin can be configured to automatically set the quotas on this filesystem when a new Unix group is created. This will only work when the $1 Webmin module is used to add groups. lgroups_newgroup=New Group Quotas lgroups_mass=Update Selected Groups lgroups_to=Email destination lgroups_tosame=Mailbox with same name as group lgroups_tofixed=Address $1 lgroups_emailheader=Email to groups approaching quota lgroups_email=Send email to groups? lgroups_tovirt=Virtualmin domain owner sgroup_egroup=You are not allowed to edit quotas for this group sgroup_efs=You are not allowed to edit quotas on this filesystem ssync_ecannot=You cannot set the default quota for this filesystem suser_euser=You are not allowed to edit quotas for this user suser_efs=You are not allowed to edit quotas on this filesystem suser_emaxblocks=You are not allowed to grant block limits above $1 suser_emaxfiles=You are not allowed to grant file limits above $1 ufilesys_title=User Quotas ufilesys_return=filesystems list ufilesys_ecannot=You cannot edit quotas for '$1' ufilesys_all=All Quotas for $1 ufilesys_blocks=Blocks ufilesys_kbs=Kilobytes ufilesys_space=Disk space ufilesys_files=Files ufilesys_fs=Filesystem ufilesys_used=Used ufilesys_soft=Soft Limit ufilesys_hard=Hard Limit ufilesys_nouquota=User $1 does not have quotas on any filesystem ufilesys_edit=Edit Quota On: ufilesys_editdesc=View and edit the quotas for this user on some other filesystem that he currently does not have quotas on. ufilesys_copydesc=Copy quota limits for this user on all filesystems to some or all other users. ufilesys_copy=Copy Quotas ufilesys_grace=Grace ugracef_title=Grace Times ugracef_return=user list ugracef_ecannot=You cannot edit grace times on this filesystem ugracef_info=Each filesystem has a grace time for block and file quotas. The grace time determines how long a user can remain over the soft limit before no more files are allowed to be created. ugracef_graces=User Grace Times for $1 ugracef_block=For block quota ugracef_file=For file quota ugracef_update=Update ugraces_esave=Failed to save grace times ugraces_eedit=You cannot edit grace times on this filesystem ugraces_enumber='$1' is not a number lusers_failed=Failed to list users lusers_tablist=User list lusers_tabdefault=Default quotas lusers_tabemail=Email notifications lusers_eallow=You are not allowed to edit quotas on this filesystem lusers_title=Filesystem Quotas lusers_return=filesystems list lusers_toomany=Too many users have quotas on $1 to display on one page lusers_qoutas=All User Quotas on $1 lusers_bsize=Quota block size : $1 bytes lusers_blocks=Blocks lusers_kbs=Kilobytes lusers_space=Disk space lusers_files=Files lusers_user=User lusers_used=Used lusers_soft=Soft Limit lusers_hard=Hard Limit lusers_grace=Grace lusers_noquota=No users have quotas on $1 lusers_equota=Edit Quota For: lusers_egrace=Edit grace times lusers_check=Check quotas lusers_info=Webmin can be configured to automatically set the quotas on this filesystem when a new Unix user is created. This will only work when the $1 Webmin module is used to add users. lusers_useradmin=Users and Groups lusers_newuser=New User Quotas lusers_sblimit=Soft limit lusers_hblimit=Hard limit lusers_sflimit=Soft file limit lusers_hflimit=Hard file limit lusers_pc_hblocks=Hard % lusers_pc_sblocks=Soft % lusers_apply=Apply lusers_emailheader=Email to users approaching quota lusers_email=Send email to users? lusers_interval=Interval between messages lusers_hours=hours lusers_ltype=Limit type lusers_percent=Warn when usage reaches lusers_domain=Domain for user addresses luser_virtualmin=Get domain from Virtualmin? lusers_from=From: address for email lusers_mass=Update Selected Users lusers_cc=Also Cc: email to lusers_nocc=Don't Cc grace_seconds=Seconds grace_minutes=Minutes grace_hours=Hours grace_days=Days grace_weeks=Weeks grace_months=Months log_activate_u=Enabled user quotas on $1 log_activate_g=Enabled group quotas on $1 log_activate_ug=Enabled user and group quotas on $1 log_deactivate_u=Disabled user quotas on $1 log_deactivate_g=Disabled group quotas on $1 log_deactivate_ug=Disabled user and group quotas on $1 log_save=Changed quotas for $1 on $2 log_sync=Changed new user quotas on $1 log_email_user=Change user email options on $1 log_email_group=Change group email options on $1 log_gsync=Changed new groups quotas on $1 log_grace_u=Changed user grace times on $1 log_grace_g=Changed group grace times on $1 log_check=Checked quotas on $1 log_copy_u=Copied user $1's quotas log_copy_g=Copied group $1's quotas email_err=Failed to save email options email_ecannot=You are not allowed to modify email options email_einterval=Missing or invalid interval email_epercent=Missing or invalid usage percentage email_edomain=Missing or invalid mail domain email_efrom=Missing or invalid From: address email_ecc=Missing or invalid Cc: address email_msg=Disk usage for user $1 on filesystem $2 has reached $3% of the\nallowed quota.\n\n$4 of disk space is being used, out of a maximum of $5. gemail_msg=Disk usage for group $1 on filesystem $2 has reached $3% of the\nallowed quota.\n\n$4 of disk space is being used, out of a maximum of $5. email_subject=Disk quota exceeded gemail_subject=Disk quota exceeded email_eto=Missing destination email address umass_title=Update User Quotas umass_header=Quota changes to apply to selected users umass_sblocks=Soft block limit umass_hblocks=Hard block limit umass_sfiles=Soft files limit umass_hfiles=Hard files limit umass_leave=Leave unchanged umass_unlimited=Set to unlimited umass_set=Set to umass_ok=Update Users umass_esblocks=Missing or invalid soft block limit umass_ehblocks=Missing or invalid hard block limit umass_esfiles=Missing or invalid soft file limit umass_ehfiles=Missing or invalid hard file limit umass_count=The changes below will apply to $1 selected users .. umass_err=Failed to update user quotas gmass_title=Update Group Quotas gmass_header=Quota changes to apply to selected groups gmass_count=The changes below will apply to $1 selected groups .. gmass_ok=Update Groups gmass_err=Failed to update group quotas quota/lang/zh_TW.UTF-80000664000567100000120000002246411140674061014402 0ustar jcameronwheelacl_fall=所有檔案系統 acl_fsel=已選取的.. acl_fss=這個使用者可編輯的檔案系統 acl_gall=所有群組 acl_gexcept=所有群組,除了 acl_ggrace=是否可編輯群組寬限次數? acl_gnone=沒有群組 acl_gonly=僅群組 acl_gquota=這個使用者可以編輯其磁碟配額的群組 acl_maxblocks=最大可用區塊配額 acl_maxfiles=最大可用檔案配額 acl_quotanew=是否為新使用者配置磁碟配額? acl_quotaon=是否可啟用和停用磁碟配額? acl_ro=可以檢視磁碟配額但不能編輯? acl_uall=所有使用者 acl_uexcept=所有使用者,除了 acl_ugrace=是否可編輯使用者寬限次數? acl_ugroup=主群組使用者 acl_unlimited=無限制 acl_uonly=僅使用者 acl_uquota=這個使用者可以編輯其磁碟配額的使用者中 acl_uuid=使用者在 UID 範圍是 acl_vtotal=是否可查看磁碟總空間? activate_eallow=您沒有權限在本檔案系統上啟用和停用磁碟配額 activate_eoff=關閉配額失敗 activate_eon=打開配額失敗 cgform_all=系統上的所有群組 cgform_contain=包含使用者的群組 cgform_copyto=複製所有檔案系統上 $1 的配額 cgform_doit=複製 cgform_ecannot=您沒有權限複製配額 cgform_egroup=您沒有權限複製這個群組的配額 cgform_return=群組配額 cgform_select=選取群組 cgform_title=複製配額 cgroup_eallowto=您沒有權限複製配額到 '$1' cgroup_ecannot=您沒有權限複製配額 cgroup_efail=複製配額失敗 cgroup_egallow=您沒有權限複製這個群組的配額 cgroup_enogroup=沒有群組可複製到 check_done=... 完成。 check_ecannot=您沒有權限檢查本檔案系統的配額 check_return=$1 列表 check_rgroup=群組 check_running=現在正在執行 quotacheck 命令以檢查 $1 上的磁碟區塊和檔案的使用情況。對於大型檔案系統,這需要很長時間。 check_ruser=使用者 check_title=檢查配額 cuform_all=系統上的所用使用者 cuform_copyto=複製 $1 在所用檔案系統的配額到 ... cuform_doit=複製 cuform_ecannot=您沒有權限複製配額 cuform_euallow=您沒有權限複製這個使用者的配額 cuform_members=選取群組的成員 cuform_return=使用者配額 cuform_select=選取的使用者 cuform_title=複製配額 cuser_eallowto=您沒有權限複製配額到 '$1' cuser_ecannot=您沒有權限複製配額 cuser_efail=複製配額失敗 cuser_enouser=沒有使用者複製到 cuser_euallow=您沒有權限複製這個使用者的配額 egroup_bused=已用區塊 egroup_eallowfs=您沒有權限編輯此檔案系統上的配額 egroup_eallowgr=您沒有權限編輯 '$1' 的配額 egroup_freturn=檔案系統列表 egroup_fused=使用的檔案 egroup_greturn=群組列表 egroup_hblimit=硬性檔案限制 egroup_hflimit=硬性檔案限制 egroup_hklimit=硬 KB 限制 egroup_kused=KB 使用 egroup_listall=列出所有配額 egroup_quotas=$1 在< tt>$2 上的配額 egroup_sblimit=軟性檔案限制 egroup_sflimit=軟性檔案限制 egroup_sklimit=軟 KB 限制 egroup_title=編輯配額 egroup_update=更新 euser_bdisk=在磁碟上可用的區塊 euser_bused=已用區塊 euser_eallowfs=您沒有權限編輯本檔案系統的配額 euser_eallowus=您沒有權限編輯 '$1' 的配額 euser_fdisk=在磁碟上可用的檔案 euser_freturn=檔案系統列表 euser_fused=已用檔案 euser_hblimit=硬性區塊限制 euser_hflimit=硬性檔案限制 euser_hklimit=硬 KB 限制 euser_kdisk=磁碟可用 KB euser_kused=已用 KB euser_listall=列表所用配額 euser_quotas=$1$2 上的配額 euser_sblimit=軟性區塊限制 euser_sflimit=軟性檔案限制 euser_sklimit=軟KB限制 euser_title=編輯配額 euser_update=更新 euser_ureturn=使用者列表 gfilesys_all=所有配額為 gfilesys_blocks=區塊 gfilesys_copy=複製配額 gfilesys_ecannot=您沒有權限編輯 '$1' 的檔案配額 gfilesys_edit=編輯限額於: gfilesys_files=檔案 gfilesys_fs=檔案系統 gfilesys_hard=硬性限制 gfilesys_kbs=KB gfilesys_nogquota=群組 $1 在任何檔案系統上都沒有配額 gfilesys_return=檔案列表 gfilesys_soft=軟性限制 gfilesys_title=群組配額 gfilesys_used=已用 ggracef_block=對區塊配額 ggracef_ecannot=您沒有權限編輯此檔案系統的寬限時間 ggracef_file=對檔案配額 ggracef_graces=$1 的群組寬限時間 ggracef_info=每個檔案系統都有對區塊和檔案配額的寬限時間。寬限時間決定一個群組可處於軟性限制狀態多久,然後再被禁止新增更多檔案。 ggracef_return=群組列表 ggracef_title=寬限時間 ggracef_update=更新 ggraces_eedit=您沒有權限編輯此檔案系統的寬限時間 ggraces_enumber='$1' 不是數字 ggraces_esave=保存寬限時間失敗 grace_days=天 grace_hours=小時 grace_minutes=分鐘 grace_months=月 grace_seconds=秒 grace_weeks=星期 index_action=動作 index_active=運作中 index_disable=停用配額 index_egroup=編輯群組配額: index_enable=啟用配額 index_euser=編輯使用者配額: index_fs=檔案系統 index_inactive=沒有運作的 index_mount=掛載自 index_mountonly=可以只在掛載時啟用 index_nosupport=本地檔案系統不支援配額 index_qboth=使用者和群組配額 index_qgroup=群組配額 index_quser=使用者配額 index_return=索引 index_status=狀態 index_title=磁碟配額 index_type=類型 lgroups_blocks=區塊 lgroups_check=檢查配額 lgroups_eallow=您沒有權限編輯這個檔案系統上的配額 lgroups_equota=編輯配額為: lgroups_failed=列出群組失敗 lgroups_files=檔案 lgroups_grace=編輯寬限時間 lgroups_group=群組 lgroups_hard=硬性限制 lgroups_info=Webmin 可以組態為當建立 Unix 群組時在檔案系統上自動設定磁碟配額,這只在用 $1 Webmin 模組新增群組有效。 lgroups_kbs=KB lgroups_newgroup=新群組配額 lgroups_noquota=沒有群組在 $1 上有配額 lgroups_quotas=所有群組在 $1 上的配額 lgroups_return=檔案系統列表 lgroups_soft=軟性限制 lgroups_title=檔案系統配額 lgroups_toomany=在 $1 上有配額的群組太多,無法顯示在一頁上。 lgroups_used=已用 log_activate_g=已在 $1 上啟用群組配額 log_activate_u=已在 $1 上啟用使用者配額 log_activate_ug=已在 $1 上啟用使用者和群組配額 log_check=在 $1 上檢查配額 log_copy_g=複製群組 $1 的配額 log_copy_u=複製使用者 $1 的配額 log_deactivate_g=已在 $1 上停用群組配額 log_deactivate_u=已在 $1 上停用使用者配額 log_deactivate_ug=已在 $1 上停用使用者和群組配額 log_grace_g=在 $1 上改變群組寬限時間 log_grace_u=在 $1 上改變使用者寬限時間 log_gsync=變更 $1 新群組配額 log_save=在 $2 上改變 $1 的配額 log_sync=在 $1 上改變新使用者的配額 lusers_apply=套用 lusers_blocks=區塊 lusers_bsize=配額區塊大小 : $1 位元組 lusers_check=檢查配額 lusers_eallow=您沒有權限編輯本檔案系統上的配額 lusers_egrace=編輯寬限時間 lusers_equota=編輯配額針對: lusers_failed=列出使用者失敗 lusers_files=檔案 lusers_hard=硬性限制 lusers_hblimit=硬性限制 lusers_hflimit=硬性檔案限制 lusers_info=Webmin 可以配置為在新增新 Unix 使用者時自動在本檔案系統上設定配額。只有在使用 $1 Webmin 模群組用來新增使用者時才能這樣做。 lusers_kbs=KB lusers_newuser=新使用者配額 lusers_noquota=沒有使用者在 $1 上有配額 lusers_qoutas=$1 上的所有使用者配額 lusers_return=檔案系統列表 lusers_sblimit=軟性限制 lusers_sflimit=軟性檔案限制 lusers_soft=軟性限制 lusers_title=檔案系統配額 lusers_toomany=在 $1 上有配額的使用者太多,無法顯示在一頁上。 lusers_used=已用 lusers_user=使用者 lusers_useradmin=使用者和群組 lusers_grace=寬限時間 quota_unlimited=無限制 sgroup_efs=您沒有權限編輯這個檔案系統的配額 sgroup_egroup=您沒有權限編輯這個群組的配額 ssync_ecannot=您沒有權限設置這個檔案系統的缺省配額 suser_efs=您沒有權限編輯這個檔案系統的配額 suser_emaxblocks=您沒有權限給予區塊限制在 $1 之上 suser_emaxfiles=您沒有權限給予檔案限制在 $1 之上 suser_euser=您沒有權限編輯這個使用者的配額 ufilesys_all=$1 的所有配額 ufilesys_blocks=區塊 ufilesys_copy=複製配額 ufilesys_ecannot=您沒有權限編輯 '$1' 的配額 ufilesys_edit=編輯配額在: ufilesys_files=檔案 ufilesys_fs=檔案系統 ufilesys_hard=硬性限制 ufilesys_kbs=KB ufilesys_nouquota=使用者 $1 在任何檔案系統都沒有配額 ufilesys_return=檔案系統列表 ufilesys_soft=軟性限制 ufilesys_title=使用者配額 ufilesys_used=已用 ufilesys_grace=寬限時間 ugracef_block=為區塊的配額 ugracef_ecannot=您沒有權限編輯本檔案系統的的寬限時間 ugracef_file=對檔案配額 ugracef_graces=$1 的使用者寬限時間 ugracef_info=每個檔案系統都有對區塊和檔案配額的寬限時間。寬限時間決定一個使用者可處於軟性限制狀態多久,然後再被禁止新增更多檔案。 ugracef_return=使用者列表 ugracef_title=寬限時間 ugracef_update=更新 ugraces_eedit=您沒有權限編輯本檔案系統上的寬限時間 ugraces_enumber='$1' 不是數字 ugraces_esave=保存寬限時間失敗 quota/lang/ru_RU0000664000567100000120000002362411140674061013600 0ustar jcameronwheellusers_apply= lgroups_check= euser_sblimit= acl_uuid= UID gfilesys_soft= egroup_sblimit= cuform_ecannot= lgroups_group= index_type= ggracef_return= ugracef_return= lgroups_eallow= index_mount= ggracef_file= egroup_eallowgr= '$1' cuform_doit= ufilesys_nouquota= $1 ggracef_title= gfilesys_blocks= acl_ugrace= ? lusers_noquota= $1 suser_efs= cuser_euallow= index_mountonly= ufilesys_used= gfilesys_copy= ugraces_eedit= check_title= lusers_hard= ggraces_esave= cgform_select= check_return= $1 acl_gquota=, log_deactivate_ug= $1 index_inactive= lgroups_grace= index_egroup= : lusers_blocks= index_status= grace_minutes= gfilesys_files= log_grace_g= $1 ugracef_file= lusers_toomany= $1, acl_fall= cuser_ecannot= lusers_title= ufilesys_soft= ufilesys_files= check_rgroup= lgroups_failed= egroup_update= acl_fsel=.. grace_weeks= gfilesys_return= log_grace_u= $1 cgroup_egallow= ugracef_title= gfilesys_all= $1 acl_uonly= acl_vtotal= ? cuform_select= egroup_quotas= $1 $2 lusers_qoutas= $1 index_fs= acl_fss= , ufilesys_copy= lusers_used= lgroups_title= acl_gnone= lusers_newuser= activate_eoff= log_check= $1 ugraces_esave= cuform_title= log_copy_g= $1 egroup_greturn= lusers_return= ggracef_ecannot= lusers_info=Webmin Unix. , $1. lusers_user= lusers_hflimit= cgform_all= ggracef_block= cgroup_eallowto= '$1' log_copy_u= $1 activate_eon= acl_quotanew= ? euser_hflimit= ggracef_graces= $1 egroup_hflimit= check_ecannot= ugraces_enumber='$1' gfilesys_edit= : acl_quotaon= ? log_activate_ug= $1 ufilesys_all= $1 lusers_soft= ugracef_graces= $1 ufilesys_fs= suser_euser= check_running= $1 quotacheck. ... index_nosupport= , lusers_useradmin= lusers_files= grace_seconds= euser_ureturn= acl_ggrace= ? cgform_copyto= $1 ... cgform_title= index_euser= : check_ruser= suser_emaxblocks= , $1 acl_gonly= cgform_return= ggracef_info= . , . cgform_contain=, lgroups_noquota= $1 gfilesys_nogquota= $1 lusers_sflimit= cgroup_enogroup= grace_days= lgroups_files= grace_months= lusers_equota= : activate_eallow= lgroups_blocks= gfilesys_fs= euser_sflimit= index_qboth= egroup_sflimit= ugracef_block= egroup_title= log_deactivate_g= $1 index_title= ufilesys_blocks= egroup_bused= lusers_eallow= ufilesys_edit= : acl_gexcept= , log_save= $1 $2 cuform_copyto= $1 ... euser_update= lgroups_toomany= $1, sgroup_efs= log_deactivate_u= $1 ugracef_info= . , . lgroups_hard= acl_maxblocks= cuform_return= ufilesys_ecannot= '$1' acl_uall= gfilesys_hard= euser_freturn= egroup_freturn= egroup_fused= euser_title= acl_unlimited= cuser_eallowto= '$1' acl_uquota=, euser_quotas= $1 $2 euser_eallowus= '$1' euser_bused= euser_bdisk= lgroups_quotas= $1 euser_eallowfs= index_quser= index_return= cgform_doit= euser_listall= index_enable= egroup_listall= lgroups_return= acl_uexcept= lusers_hblimit= index_active= cgform_ecannot= euser_fused= gfilesys_ecannot= '$1' log_activate_g= $1 euser_fdisk= ufilesys_return= cuser_efail= euser_hblimit= cuser_enouser= egroup_hblimit= lusers_failed= log_sync= $1 ggraces_enumber='$1' lgroups_used= log_activate_u= $1 cuform_all= acl_maxfiles= gfilesys_used= ssync_ecannot= lusers_check= index_action= cuform_euallow= ggraces_eedit= ufilesys_hard= index_disable= egroup_eallowfs= acl_ugroup= ggracef_update= lusers_egrace= cgform_egroup= quota_unlimited= ugracef_update= ugracef_ecannot= suser_emaxfiles= , $1 gfilesys_title= index_qgroup= cgroup_efail= lusers_sblimit= ufilesys_title= cgroup_ecannot= sgroup_egroup= acl_gall= grace_hours= check_done=... . lgroups_equota= : lgroups_soft= cuform_members= quota/lang/ja_JP.UTF-80000664000567100000120000002644511140674061014335 0ustar jcameronwheelquota_unlimited=無制限 acl_fss=このユーザが編集できるファイル システム acl_fall=すべてのファイル システム acl_fsel=選択.. acl_quotaon=クォータを有効/無効にできるようにしますか? acl_quotanew=新規ユーザにクォータを設定可能にしますか? acl_ugrace=ユーザの猶予時間を編集可能にしますか? acl_vtotal=合計ディスク領域を表示可能にしますか? acl_ggrace=グループの猶予時間を編集可能にしますか? acl_uquota=このユーザがクォータを編集可能なユーザ acl_gquota=このユーザがクォータを編集可能なグループ acl_uall= すべてのユーザ acl_uonly= 次のユーザのみ acl_uexcept= 次のユーザ以外すべて acl_ugroup= プライマリ グループのユーザ acl_gall= すべてのグループ acl_gnone= グループなし acl_gonly= グループのみ acl_gexcept= グループ以外すべて activate_eallow=このファイル システムではクォータを有効/無効にできません activate_eon=クォータをアクティブにできませんでした activate_eoff=クォータを非アクティブにできませんでした check_title=クォータの検査 check_return=$1 リスト check_ecannot=このファイル システムではクォータを検査できません check_running=quotacheck コマンドを実行して$1のブロックとファイル使用率を調べます。ファイル システムが非常に大きい場合はかなり時間がかかります... check_done=... 完了しました。 check_rgroup=グループ check_ruser=ユーザ cgroup_efail=クォータをコピーできませんでした cgroup_ecannot=クォータをコピーできません cgroup_egallow=このグループのクォータはコピーできません cgroup_enogroup=コピーするグループがありません cgroup_eallowto='$1' にクォータはコピーできません cgform_title=クォータのコピー cgform_return=グループ クォータ cgform_ecannot=クォータをコピーできません cgform_egroup=このグループのクォータはコピーできません cgform_copyto=すべてのファイル システムで$1 のクォータをコピー... cgform_all=システムのすべてのグループ cgform_select=選択されたグループ cgform_contain=ユーザを含むグループ cgform_doit=コピー cuser_efail=クォータをコピーできませんでした cuser_ecannot=クォータをコピーできません cuser_euallow=このユーザのクォータをコピーできません cuser_enouser=コピーするユーザがありません cuser_eallowto='$1' にクォータはコピーできません cuform_title=クォータのコピー cuform_return=ユーザ クォータ cuform_ecannot=クォータをコピーできません cuform_euallow=このユーザのクォータをコピーできません cuform_copyto=すべてのファイル システムで$1 のクォータをコピー... cuform_all=システムのすべてのユーザ cuform_select=選択されたユーザ cuform_members=選択されたグループのメンバー cuform_doit=コピー egroup_title=クォータの編集 egroup_freturn=ファイル システムのリスト egroup_greturn=グループ リスト egroup_eallowgr='$1' のクォータは編集できません egroup_eallowfs=このファイル システムではクォータを編集できません egroup_quotas=$1のクォータ($2) egroup_bused=使用されたブロック egroup_sblimit=ソフト ブロック制限 egroup_hblimit=ハード ブロック制限 egroup_fused=使用されたファイル egroup_sflimit=ソフト ファイル制限 egroup_hflimit=ハード ファイル制限 egroup_update=更新 egroup_listall=すべてのクォータをリスト euser_title=クォータの編集 euser_freturn=ファイル システムのリスト euser_ureturn=ユーザ リスト euser_eallowus='$1' のクォータは編集できません euser_eallowfs=このファイル システムではクォータを編集できません euser_quotas=$1のクォータ($2) euser_bused=使用されたブロック euser_bdisk=ディスクで使用可能なブロック euser_sblimit=ソフト ブロック制限 euser_hblimit=ハード ブロック制限 euser_fused=使用されたファイル euser_fdisk=ディスクで使用可能なファイル euser_sflimit=ソフト ファイル制限 euser_hflimit=ハード ファイル制限 euser_update=更新 euser_listall=すべてのクォータをリスト gfilesys_title=グループ クォータ gfilesys_return=ファイル システムのリスト gfilesys_ecannot='$1' のクォータは編集できません gfilesys_all=すべてのクォータ gfilesys_blocks=ブロック gfilesys_files=ファイル gfilesys_fs=ファイル システム gfilesys_used=使用済 gfilesys_soft=ソフト制限 gfilesys_hard=ハード制限 gfilesys_nogquota=グループ$1 はいずれのファイル システムでもクォータがありません gfilesys_edit=クォータの編集: gfilesys_copy=クォータのコピー ggracef_title=猶予時間 ggracef_return=グループ リスト ggracef_ecannot=このファイル システムでは猶予期間を編集できません ggracef_info=各ファイル システムにはブロックとファイル クォータの猶予時間があります。猶予時間は、それ以上ファイルを作成できないソフト制限上でグループが存続できる時間を定義します。 ggracef_graces=$1 のグループ猶予時間 ggracef_block=ブロック クォータ ggracef_file=ファイル クォータ ggracef_update=更新 ggraces_esave=猶予時間を保存できませんでした ggraces_eedit=このファイル システムでは猶予期間を編集できません ggraces_enumber='$1' は数ではありません index_quser=ユーザ クォータ index_qgroup=グループ クォータ index_qboth=ユーザとグループ クォータ index_active=アクティブ index_disable=クォータを無効 index_inactive=非アクティブ index_enable=クォータを有効 index_title=ディスク クォータ index_fs=ファイル システム index_type=種類 index_mount=マウント元 index_status=ステータス index_action=アクション index_return=インデックス index_euser=ユーザ クォータの編集: index_egroup=グループ クォータの編集: index_nosupport=ローカル ファイル システムはクォータをサポートできません lgroups_failed=グループをリストできませんでした lgroups_eallow=このファイル システムではクォータを編集できません lgroups_title=ファイル システム クォータ lgroups_return=ファイル システムのリスト lgroups_toomany=1 ページで表示するには$1 でクォータを持つグループが多すぎます lgroups_quotas=$1 のすべてのグループ クォータ lgroups_blocks=ブロック lgroups_files=ファイル lgroups_group=グループ lgroups_used=使用済 lgroups_soft=ソフト制限 lgroups_hard=ハード制限 lgroups_noquota=$1 でクォータを持つグループはありません lgroups_equota=クォータの編集: lgroups_grace=猶予時間を編集 lgroups_check=クォータを検査 sgroup_egroup=このグループのクォータは編集できません sgroup_efs=このファイル システムではクォータを編集できません ssync_ecannot=このファイル システムではデフォルト クォータを設定できません suser_euser=このユーザのクォータは編集できません suser_efs=このファイル システムではクォータを編集できません ufilesys_title=ユーザ クォータ ufilesys_return=ファイル システムのリスト ufilesys_ecannot='$1' のクォータは編集できません ufilesys_all=すべてのクォータ $1 ufilesys_blocks=ブロック ufilesys_files=ファイル ufilesys_fs=ファイル システム ufilesys_used=使用済 ufilesys_soft=ソフト制限 ufilesys_hard=ハード制限 ufilesys_nouquota=ユーザ$1 はいずれのファイル システムでもクォータがありません ufilesys_edit=クォータの編集: ufilesys_copy=クォータのコピー ugracef_title=猶予時間 ugracef_return=ユーザ リスト ugracef_ecannot=このファイル システムでは猶予期間を編集できません ugracef_info=各ファイル システムにはブロックとファイル クォータの猶予時間があります。猶予時間は、それ以上ファイルを作成できないソフト制限上でユーザが存続できる時間を定義します。 ugracef_graces=$1 のユーザ猶予時間 ugracef_block=ブロック クォータ ugracef_file=ファイル クォータ ugracef_update=更新 ugraces_esave=猶予時間を保存できませんでした ugraces_eedit=このファイル システムでは猶予期間を編集できません ugraces_enumber='$1' は数ではありません lusers_failed=ユーザをリストできませんでした lusers_eallow=このファイル システムではクォータを編集できません lusers_title=ファイル システム クォータ lusers_return=ファイル システムのリスト lusers_toomany=1 ページで表示するには$1でクォータを持つユーザが多すぎます lusers_qoutas=$1 のすべてのユーザ クォータ lusers_blocks=ブロック lusers_files=ファイル lusers_user=ユーザ lusers_used=使用済 lusers_soft=ソフト制限 lusers_hard=ハード制限 lusers_noquota=$1 でクォータを持つユーザはありません lusers_equota=クォータの編集: lusers_egrace=猶予時間の編集 lusers_check=クォータの検査 lusers_info=新規の Unix ユーザが作成されたときにこのファイル システムに自動的にクォータを設定するように Webmin を設定できます。これは、ユーザを追加するために $1 Webmin モジュールが使用されたときにのみ動作します。 lusers_useradmin=ユーザとグループ lusers_newuser=新規のユーザ クォータ lusers_sblimit=ソフト ブロック制限 lusers_hblimit=ハード ブロック制限 lusers_sflimit=ソフト ファイル制限 lusers_hflimit=ハード ファイル制限 lusers_apply=適用 grace_seconds=秒 grace_minutes=分 grace_hours=時 grace_days=日 grace_weeks=週 grace_months=月 log_activate_u=$1 でユーザのクォータを有効にしました log_activate_g=$1 でグループのクォータを有効にしました log_activate_ug=$1 でユーザとグループのクォータを有効にしました log_deactivate_u=$1 でユーザのクォータを無効にしました log_deactivate_g=$1 でグループのクォータを無効にしました log_deactivate_ug=$1 でユーザとグループのクォータを無効にしました log_save=$2 上の$1 のクォータを変更しました log_sync=$1 で新規のユーザ クォータを変更しました log_grace_u=$1 でユーザ猶予時間を変更しました log_grace_g=$1 でグループ猶予時間を変更しました log_check=$1 でクォータを検査しました log_copy_u=ユーザ $1 のクォータをコピーしました log_copy_g=グループ $1 のクォータをコピーしました quota/lang/en.bak0000644000567100000120000002055611140674061013701 0ustar jcameronwheelquota_unlimited=Unlimited acl_fss=Filesystems this user can edit acl_fall=All filesystems acl_fsel=Selected.. acl_quotaon=Can enable and disable quotas? acl_quotanew=Can configure quotas for new users? acl_ugrace=Can edit user grace times? acl_vtotal=Can view total disk space? acl_ggrace=Can edit group grace times? acl_uquota=Users this user can edit quotas for acl_gquota=Groups this user can edit quotas for acl_uall= All users acl_uonly= Only users acl_uexcept= All except users acl_ugroup= Users with primary group acl_gall= All groups acl_gnone= No groups acl_gonly= Only groups acl_gexcept= All except groups acl_uuid=Users with UID in range acl_maxblocks=Maximum grantable block quota acl_maxfiles=Maximum grantable file quota acl_unlimited=Unlimited activate_eallow=You are not allowed to enable or disable quotas on this filesystem activate_eon=Failed to turn on quotas activate_eoff=Failed to turn off quotas check_title=Check Quotas check_return=$1 list check_ecannot=You cannot check quotas on this filesystem check_running=The quotacheck command is now being run to check the block and file usage on $1. This may take a long time for a very large filesystem... check_done=... Done. check_rgroup=group check_ruser=user cgroup_efail=Failed to copy quotas cgroup_ecannot=You cannot copy quotas cgroup_egallow=You are not allowed to copy the quotas of this group cgroup_enogroup=No groups to copy to cgroup_eallowto=You are not allowed to copy quotas to '$1' cgform_title=Copy Quotas cgform_return=group quota cgform_ecannot=You cannot copy quotas cgform_egroup=You are not allowed to copy the quotas of this group cgform_copyto=Copy quotas for $1 on ALL filesystems to ... cgform_all=All groups on your system cgform_select=Selected groups cgform_contain=Groups containing users cgform_doit=Copy cuser_efail=Failed to copy quotas cuser_ecannot=You cannot copy quotas cuser_euallow=You are not allowed to copy the quotas of this user cuser_enouser=No users to copy to cuser_eallowto=You are not allowed to copy quotas to '$1' cuform_title=Copy Quotas cuform_return=user quota cuform_ecannot=You cannot copy quotas cuform_euallow=You are not allowed to copy the quotas of this user cuform_copyto=Copy quotas for $1 on ALL filesystems to ... cuform_all=All users on your system cuform_select=Selected users cuform_members=Members of selected groups cuform_doit=Copy egroup_title=Edit Quota egroup_freturn=filesystem list egroup_greturn=group list egroup_eallowgr=You are not allowed to edit quotas for '$1' egroup_eallowfs=You are not allowed to edit quotas on this filesystem egroup_quotas=Quota for $1 on $2 egroup_bused=Blocks Used egroup_sblimit=Soft Block Limit egroup_hblimit=Hard Block Limit egroup_fused=Files Used egroup_sflimit=Soft File Limit egroup_hflimit=Hard File Limit egroup_update=Update egroup_listall=List All Quotas euser_title=Edit Quota euser_freturn=filesystem list euser_ureturn=user list euser_eallowus=You are not allowed to edit quotas for '$1' euser_eallowfs=You are not allowed to edit quotas on this filesystem euser_quotas=Quota for $1 on $2 euser_bused=Blocks Used euser_bdisk=Available Blocks on Disk euser_sblimit=Soft Block Limit euser_hblimit=Hard Block Limit euser_fused=Files Used euser_fdisk=Available Files on Disk euser_sflimit=Soft File Limit euser_hflimit=Hard File Limit euser_update=Update euser_listall=List All Quotas gfilesys_title=Group Quotas gfilesys_return=filesystems list gfilesys_ecannot=You cannot edit quotas for '$1' gfilesys_all=All Quotas for $1 gfilesys_blocks=Blocks gfilesys_files=Files gfilesys_fs=Filesystem gfilesys_used=Used gfilesys_soft=Soft Limit gfilesys_hard=Hard Limit gfilesys_nogquota=Group $1 does not have quotas on any filesystem gfilesys_edit=Edit Quota On: gfilesys_copy=Copy Quotas ggracef_title=Grace Times ggracef_return=group list ggracef_ecannot=You cannot edit grace times on this filesystem ggracef_info=Each filesystem has a grace time for block and file quotas. The grace time determines how long a group can remain over the soft limit before no more files are allowed to be created. ggracef_graces=Group Grace Times for $1 ggracef_block=For block quota ggracef_file=For file quota ggracef_update=Update ggraces_esave=Failed to save grace times ggraces_eedit=You cannot edit grace times on this filesystem ggraces_enumber='$1' is not a number index_quser=User Quotas index_qgroup=Group Quotas index_qboth=User and Group Quotas index_active=Active index_disable=Disable Quotas index_inactive=Inactive index_enable=Enable Quotas index_mountonly=Enabled at mount index_title=Disk Quotas index_fs=Filesystem index_type=Type index_mount=Mounted From index_status=Status index_action=Action index_return=index index_euser=Edit User Quotas: index_egroup=Edit Group Quotas: index_nosupport=No local filesystems can support quotas lgroups_failed=Failed to list groups lgroups_eallow=You are not allowed to edit quotas on this filesystem lgroups_title=Filesystem Quotas lgroups_return=filesystems list lgroups_toomany=Too many groups have quotas on $1 to display on one page lgroups_quotas=All Group Quotas on $1 lgroups_blocks=Blocks lgroups_files=Files lgroups_group=Group lgroups_used=Used lgroups_soft=Soft Limit lgroups_hard=Hard Limit lgroups_noquota=No groups have quotas on $1 lgroups_equota=Edit Quota For: lgroups_grace=Edit Grace Times lgroups_check=Check Quotas sgroup_egroup=You are not allowed to edit quotas for this group sgroup_efs=You are not allowed to edit quotas on this filesystem ssync_ecannot=You cannot set the default quota for this filesystem suser_euser=You are not allowed to edit quotas for this user suser_efs=You are not allowed to edit quotas on this filesystem suser_emaxblocks=You are not allowed to grant block limits above $1 suser_emaxfiles=You are not allowed to grant file limits above $1 ufilesys_title=User Quotas ufilesys_return=filesystems list ufilesys_ecannot=You cannot edit quotas for '$1' ufilesys_all=All Quotas for $1 ufilesys_blocks=Blocks ufilesys_files=Files ufilesys_fs=Filesystem ufilesys_used=Used ufilesys_soft=Soft Limit ufilesys_hard=Hard Limit ufilesys_nouquota=User $1 does not have quotas on any filesystem ufilesys_edit=Edit Quota On: ufilesys_copy=Copy Quotas ugracef_title=Grace Times ugracef_return=user list ugracef_ecannot=You cannot edit grace times on this filesystem ugracef_info=Each filesystem has a grace time for block and file quotas. The grace time determines how long a user can remain over the soft limit before no more files are allowed to be created. ugracef_graces=User Grace Times for $1 ugracef_block=For block quota ugracef_file=For file quota ugracef_update=Update ugraces_esave=Failed to save grace times ugraces_eedit=You cannot edit grace times on this filesystem ugraces_enumber='$1' is not a number lusers_failed=Failed to list users lusers_eallow=You are not allowed to edit quotas on this filesystem lusers_title=Filesystem Quotas lusers_return=filesystems list lusers_toomany=Too many users have quotas on $1 to display on one page lusers_qoutas=All User Quotas on $1 lusers_blocks=Blocks lusers_files=Files lusers_user=User lusers_used=Used lusers_soft=Soft Limit lusers_hard=Hard Limit lusers_noquota=No users have quotas on $1 lusers_equota=Edit Quota For: lusers_egrace=Edit Grace Times lusers_check=Check Quotas lusers_info=Webmin can be configured to automatically set the quotas on this filesystem when a new Unix user is created. This will only work when the $1 Webmin module is used to add users. lusers_useradmin=Users and Groups lusers_newuser=New User Quotas lusers_sblimit=Soft Block Limit lusers_hblimit=Hard Block Limit lusers_sflimit=Soft File Limit lusers_hflimit=Hard File Limit lusers_apply=Apply grace_seconds=Seconds grace_minutes=Minutes grace_hours=Hours grace_days=Days grace_weeks=Weeks grace_months=Months log_activate_u=Enabled user quotas on $1 log_activate_g=Enabled group quotas on $1 log_activate_ug=Enabled user and group quotas on $1 log_deactivate_u=Disabled user quotas on $1 log_deactivate_g=Disabled group quotas on $1 log_deactivate_ug=Disabled user and group quotas on $1 log_save=Changed quotas for $1 on $2 log_sync=Changed new user quotas on $1 log_grace_u=Changed user grace times on $1 log_grace_g=Changed group grace times on $1 log_check=Checked quotas on $1 log_copy_u=Copied user $1's quotas log_copy_g=Copied group $1's quotas quota/lang/zh_TW.Big50000644000567100000120000001700011140674061014351 0ustar jcameronwheelacl_fall=Ҧɮרt acl_fsel=w.. acl_fss=oӨϥΪ̥is誺ɮרt acl_gall=Ҧs acl_gexcept=ҦsաAF acl_ggrace=O_issռeơH acl_gnone=Ss acl_gonly=ȸs acl_gquota=oӨϥΪ̥iHsϺаtBs acl_maxblocks=̤jiΰ϶tB acl_maxfiles=̤jiɮװtB acl_quotanew=O_sϥΪ̰tmϺаtBH acl_quotaon=O_iҥΩMκϺаtBH acl_ro=iH˵ϺаtBs? acl_uall=ҦϥΪ acl_uexcept=ҦϥΪ̡AF acl_ugrace=O_isϥΪ̼eơH acl_ugroup=DsըϥΪ acl_unlimited=L acl_uonly=ȨϥΪ acl_uquota=oӨϥΪ̥iHsϺаtBϥΪ̤ acl_uuid=ϥΪ̦b UID dO acl_vtotal=O_idݺϺ`ŶH activate_eallow=zSvbɮרtΤWҥΩMκϺаtB activate_eoff=tB activate_eon=}tB cgform_all=tΤWҦs cgform_contain=]tϥΪ̪s cgform_copyto=ƻsҦɮרtΤW $1 tB cgform_doit=ƻs cgform_ecannot=zSvƻstB cgform_egroup=zSvƻsoӸsժtB cgform_return=sհtB cgform_select=s cgform_title=ƻstB cgroup_eallowto=zSvƻstB '$1' cgroup_ecannot=zSvƻstB cgroup_efail=ƻstB cgroup_egallow=zSvƻsoӸsժtB cgroup_enogroup=Ssեiƻs check_done=... C check_ecannot=zSvˬdɮרtΪtB check_return=$1 C check_rgroup=s check_running={bb quotacheck ROHˬd $1 WϺа϶MɮתϥαpCjɮרtΡAoݭnܪɶC check_ruser=ϥΪ check_title=ˬdtB cuform_all=tΤWҥΨϥΪ cuform_copyto=ƻs $1 bҥɮרtΪtB ... cuform_doit=ƻs cuform_ecannot=zSvƻstB cuform_euallow=zSvƻsoӨϥΪ̪tB cuform_members=sժ cuform_return=ϥΪ̰tB cuform_select=ϥΪ cuform_title=ƻstB cuser_eallowto=zSvƻstB '$1' cuser_ecannot=zSvƻstB cuser_efail=ƻstB cuser_enouser=SϥΪ̽ƻs cuser_euallow=zSvƻsoӨϥΪ̪tB egroup_bused=wΰ϶ egroup_eallowfs=zSvs覹ɮרtΤWtB egroup_eallowgr=zSvs '$1' tB egroup_freturn=ɮרtΦC egroup_fused=ϥΪɮ egroup_greturn=sզC egroup_hblimit=wɮ׭ egroup_hflimit=wɮ׭ egroup_hklimit=w KB egroup_kused=KB ϥ egroup_listall=CXҦtB egroup_quotas=$1 b< tt>$2 WtB egroup_sblimit=nɮ׭ egroup_sflimit=nɮ׭ egroup_sklimit=n KB egroup_title=stB egroup_update=s euser_bdisk=bϺФWiΪ϶ euser_bused=wΰ϶ euser_eallowfs=zSvs襻ɮרtΪtB euser_eallowus=zSvs '$1' tB euser_fdisk=bϺФWiΪɮ euser_freturn=ɮרtΦC euser_fused=wɮ euser_hblimit=wʰ϶ euser_hflimit=wɮ׭ euser_hklimit=w KB euser_kdisk=ϺХi KB euser_kused=w KB euser_listall=CҥΰtB euser_quotas=$1 b $2 WtB euser_sblimit=nʰ϶ euser_sflimit=nɮ׭ euser_sklimit=nKB euser_title=stB euser_update=s euser_ureturn=ϥΪ̦C gfilesys_all=ҦtB gfilesys_blocks=϶ gfilesys_copy=ƻstB gfilesys_ecannot=zSvs '$1' ɮװtB gfilesys_edit=s譭BG gfilesys_files=ɮ gfilesys_fs=ɮרt gfilesys_hard=wʭ gfilesys_kbs=KB gfilesys_nogquota=s $1 bɮרtΤWStB gfilesys_return=ɮצC gfilesys_soft=nʭ gfilesys_title=sհtB gfilesys_used=w ggracef_block=϶tB ggracef_ecannot=zSvs覹ɮרtΪeɶ ggracef_file=ɮװtB ggracef_graces=$1 sռeɶ ggracef_info=Cɮרtγ϶MɮװtBeɶCeɶMw@ӸsեiBnʭAh[AMAQTsWhɮסC ggracef_return=sզC ggracef_title=eɶ ggracef_update=s ggraces_eedit=zSvs覹ɮרtΪeɶ ggraces_enumber='$1' OƦr ggraces_esave=Oseɶ grace_days= grace_hours=p grace_minutes= grace_months= grace_seconds= grace_weeks=P index_action=ʧ@ index_active=B@ index_disable=ΰtB index_egroup=ssհtBG index_enable=ҥΰtB index_euser=sϥΪ̰tBG index_fs=ɮרt index_inactive=SB@ index_mount= index_mountonly=iHubɱҥ index_nosupport=aɮרtΤ䴩tB index_qboth=ϥΪ̩MsհtB index_qgroup=sհtB index_quser=ϥΪ̰tB index_return= index_status=A index_title=ϺаtB index_type= lgroups_blocks=϶ lgroups_check=ˬdtB lgroups_eallow=zSvsoɮרtΤWtB lgroups_equota=stBG lgroups_failed=CXsե lgroups_files=ɮ lgroups_grace=seɶ lgroups_group=s lgroups_hard=wʭ lgroups_info=Webmin iHպAإ Unix sծɦbɮרtΤW۰ʳ]wϺаtBAoub $1 Webmin ҲշsWsզġC lgroups_kbs=KB lgroups_newgroup=ssհtB lgroups_noquota=Ssզb $1 WtB lgroups_quotas=Ҧsզb $1 WtB lgroups_return=ɮרtΦC lgroups_soft=nʭ lgroups_title=ɮרtΰtB lgroups_toomany=b $1 WtBsդӦhALkܦb@WC lgroups_used=w log_activate_g=wb $1 WҥθsհtB log_activate_u=wb $1 WҥΨϥΪ̰tB log_activate_ug=wb $1 WҥΨϥΪ̩MsհtB log_check=b $1 WˬdtB log_copy_g=ƻss $1 tB log_copy_u=ƻsϥΪ $1 tB log_deactivate_g=wb $1 WθsհtB log_deactivate_u=wb $1 WΨϥΪ̰tB log_deactivate_ug=wb $1 WΨϥΪ̩MsհtB log_grace_g=b $1 Wܸsռeɶ log_grace_u=b $1 WܨϥΪ̼eɶ log_gsync=ܧ $1 ssհtB log_save=b $2 W $1 tB log_sync=b $1 WܷsϥΪ̪tB lusers_apply=M lusers_blocks=϶ lusers_bsize=tB϶jp : $1 줸 lusers_check=ˬdtB lusers_eallow=zSvs襻ɮרtΤWtB lusers_egrace=seɶ lusers_equota=stBwG lusers_failed=CXϥΪ̥ lusers_files=ɮ lusers_hard=wʭ lusers_hblimit=wʭ lusers_hflimit=wɮ׭ lusers_info=Webmin iHtmbsWs Unix ϥΪ̮ɦ۰ʦbɮרtΤW]wtBCubϥ $1 Webmin ҸsեΨӷsWϥΪ̮ɤ~o˰C lusers_kbs=KB lusers_newuser=sϥΪ̰tB lusers_noquota=SϥΪ̦b $1 WtB lusers_qoutas=$1 WҦϥΪ̰tB lusers_return=ɮרtΦC lusers_sblimit=nʭ lusers_sflimit=nɮ׭ lusers_soft=nʭ lusers_title=ɮרtΰtB lusers_toomany=b $1 WtBϥΪ̤ӦhALkܦb@WC lusers_used=w lusers_user=ϥΪ lusers_useradmin=ϥΪ̩Ms lusers_grace=eɶ quota_unlimited=L sgroup_efs=zSvsoɮרtΪtB sgroup_egroup=zSvsoӸsժtB ssync_ecannot=zSv]moɮרtΪʬٰtB suser_efs=zSvsoɮרtΪtB suser_emaxblocks=zSv϶b $1 W suser_emaxfiles=zSvɮ׭b $1 W suser_euser=zSvsoӨϥΪ̪tB ufilesys_all=$1 ҦtB ufilesys_blocks=϶ ufilesys_copy=ƻstB ufilesys_ecannot=zSvs '$1' tB ufilesys_edit=stBbG ufilesys_files=ɮ ufilesys_fs=ɮרt ufilesys_hard=wʭ ufilesys_kbs=KB ufilesys_nouquota=ϥΪ $1 bɮרtγStB ufilesys_return=ɮרtΦC ufilesys_soft=nʭ ufilesys_title=ϥΪ̰tB ufilesys_used=w ufilesys_grace=eɶ ugracef_block=϶tB ugracef_ecannot=zSvs襻ɮרtΪeɶ ugracef_file=ɮװtB ugracef_graces=$1 ϥΪ̼eɶ ugracef_info=Cɮרtγ϶MɮװtBeɶCeɶMw@ӨϥΪ̥iBnʭAh[AMAQTsWhɮסC ugracef_return=ϥΪ̦C ugracef_title=eɶ ugracef_update=s ugraces_eedit=zSvs襻ɮרtΤWeɶ ugraces_enumber='$1' OƦr ugraces_esave=Oseɶ quota/lang/zh_CN.UTF-80000664000567100000120000002064711140674061014351 0ustar jcameronwheelquota_unlimited=不限 acl_fss=这个用户可编辑的文件系统 acl_fall=所有文件系统 acl_fsel=已选的.. acl_quotaon=是否可启用和禁用磁盘配额? acl_quotanew=是否为新用户配置磁盘配额? acl_ugrace=是否可编辑用户宽限次数? acl_vtotal=是否可查看磁盘总空间? acl_ggrace=是否可编辑组宽限次数? acl_uquota=这个用户可以编辑其磁盘配额的用户中 acl_gquota=这个用户可以编辑其磁盘配额的组 acl_uall=所有用户 acl_uonly=唯一用户 acl_uexcept=所有用户除了 acl_ugroup=主组中的用户 acl_gall=所有组 acl_gnone=没有组 acl_gonly=唯一组 acl_gexcept=所有组除了 acl_uuid=带有UID的用户范围 acl_maxblocks=最大的可授权块配置 acl_maxfiles=最大可授权的文件配额 acl_unlimited=不限 activate_eallow=您没有在本文件系统上启用和禁用磁盘配额的权限 activate_eon=打开配额失败 activate_eoff=关闭配额失败 check_title=检查配额 check_return=$1 列表 check_ecannot=您没有检查本文件系统的配额的权限 check_running=现在正在运行quotacheck命令以检查$1上的磁盘块和文件的利用情况。对于大型文件系统,这需要很长时间.. check_done=... 完成。 check_rgroup=组 check_ruser=用户 cgroup_efail=拷贝配额失败 cgroup_ecannot=您没有拷贝配额的权限 cgroup_egallow=您没有拷贝这个组的配额的权限 cgroup_enogroup=没有可拷贝的组到 cgroup_eallowto=您没有拷贝配额到 '$1'的权限 cgform_title=拷贝配额 cgform_return=组配额 cgform_ecannot=您无法拷贝配额 cgform_egroup=您没有拷贝这个组的配额的权限 cgform_copyto=拷贝所有文件系统上$1的配额 cgform_all=系统上的所有组 cgform_select=选定组 cgform_contain=包含用户的组 cgform_doit=拷贝 cuser_efail=拷贝配额失败 cuser_ecannot=您没有拷贝配额的权限 cuser_euallow=您没有拷贝这个用户的配额的权限 cuser_enouser=没有用户拷贝到 cuser_eallowto=您没有拷贝配额到'$1'的权限 cuform_title=拷贝配额 cuform_return=用户配额 cuform_ecannot=您无法拷贝配额 cuform_euallow=您没有拷贝这个用户配额的权限 cuform_copyto=拷贝$1在所有文件系统的配额到 ... cuform_all=系统上的所用用户 cuform_select=选定的用户 cuform_members=选定组的成员 cuform_doit=拷贝 egroup_title=编辑配额 egroup_freturn=文件系统列表 egroup_greturn=组列表 egroup_eallowgr=您没有编辑 '$1'的配额的权限 egroup_eallowfs=您没有编辑此文件系统上的配额的权限 egroup_quotas=$1$2上的配额 egroup_bused=已用块 egroup_sblimit=软性块限制 egroup_hblimit=硬性块限制 egroup_fused=使用的文件 egroup_sflimit=软文件限制 egroup_hflimit=硬文件限制 egroup_update=更新 egroup_listall=列出所有配额 euser_title=编辑配额 euser_freturn=文件系统列表 euser_ureturn=用户列表 euser_eallowus=您没有编辑'$1'的配额的权限 euser_eallowfs=您没有编辑本文件系统的配额的权限 euser_quotas=$1$2上的配额 euser_bused=已用块 euser_bdisk=磁盘上可用的块 euser_sblimit=软性块限制 euser_hblimit=硬性块限制 euser_fused=已用文件 euser_fdisk=磁盘上可用的文件 euser_sflimit=软性文件限制 euser_hflimit=硬性文件限制 euser_update=更新 euser_listall=列表所用配额 gfilesys_title=组配额 gfilesys_return=文件列表 gfilesys_ecannot=您没有编辑'$1'的文件配额的权限 gfilesys_all=$1的所有配额 gfilesys_blocks=块 gfilesys_files=文件 gfilesys_fs=文件系统 gfilesys_used=已用 gfilesys_soft=软性限制 gfilesys_hard=硬性限制 gfilesys_nogquota=组 $1 在任何文件系统上都没有配额 gfilesys_edit=编辑限额于: gfilesys_copy=拷贝配额 ggracef_title=宽限时间 ggracef_return=组列表 ggracef_ecannot=您没有编辑此文件系统宽限时间的权限 ggracef_info=每个文件系统都有对块和文件配额的宽限时间。宽限时间决定一个组被禁止创建更多文件之前处于软性限制状态的时间长短。 ggracef_graces=$1的组宽限时间 ggracef_block=对块配额 ggracef_file=对文件配额 ggracef_update=更新 ggraces_esave=保存宽限时间失败 ggraces_eedit=您没有编辑此文件系统的宽限时间的权限 ggraces_enumber='$1' 不是数字 index_quser=用户配额 index_qgroup=组配额 index_qboth=用户和组配额 index_active=活动的 index_disable=禁用配额 index_inactive=不活动的 index_enable=启用配额 index_mountonly=仅能在加载时启动 index_title=磁盘配额 index_fs=文件系统 index_type=类型 index_mount=加载自 index_status=状态 index_action=动作 index_return=索引 index_euser=编辑用户配额: index_egroup=编辑组配额: index_nosupport=本地文件系统不支持配额 lgroups_failed=列出组失败 lgroups_eallow=您没有编辑这个文件系统上的配额的权限 lgroups_title=文件系统配额 lgroups_return=文件系统列表 lgroups_toomany=在$1上有配额的组太多,一页无法全面显示。 lgroups_quotas=所有组在$1上的配额 lgroups_blocks=块 lgroups_files=文件 lgroups_group=组 lgroups_used=已用 lgroups_soft=软性限制 lgroups_hard=硬性限制 lgroups_noquota=没有组在$1上有配额 lgroups_equota=编辑配额为: lgroups_grace=编辑宽限时间 lgroups_check=检查配额 sgroup_egroup=您没有编辑这个组的配额的权限 sgroup_efs=您没有编辑这个文件系统的配额的权限 ssync_ecannot=您没有设置这个文件系统的默认配额的权限 suser_euser=您没有编辑这个用户的配额的权限 suser_efs=您没有编辑这个文件系统的配额的权限 suser_emaxblocks=您没有授权给$1区块限制的权限 suser_emaxfiles=您没有授权给$1文件限制的权限 ufilesys_title=用户配额 ufilesys_return=文件系统列表 ufilesys_ecannot=您没有编辑'$1'的配额的权限 ufilesys_all=$1的所有配额 ufilesys_blocks=块 ufilesys_files=文件 ufilesys_fs=文件系统 ufilesys_used=已用 ufilesys_soft=软性限制 ufilesys_hard=硬性限制 ufilesys_nouquota=用户$1 在任何文件系统都没有配额 ufilesys_edit=编辑配额在: ufilesys_copy=拷贝配额 ugracef_title=宽限时间 ugracef_return=用户列表 ugracef_ecannot=您没有编辑本文件系统的的宽限时间的权限 ugracef_info=每个文件系统都有对块和文件配额的宽限时间。宽限时间决定一个用户被禁止创建更多文件之前处于软限制状态的时间长短。 ugracef_graces=$1的用户宽限时间 ugracef_block=为块的配额 ugracef_file=对文件配额 ugracef_update=更新 ugraces_esave=保存宽限时间失败 ugraces_eedit=您没有编辑本文件系统上的宽限时间的权限 ugraces_enumber='$1' 不是数字 lusers_failed=列出用户失败 lusers_eallow=您没有编辑本文件系统上的配额的权限 lusers_title=文件系统配额 lusers_return=文件系统列表 lusers_toomany=$1上有配额的用户太多,一页无法全部显示。 lusers_qoutas=$1上的所有用户配额 lusers_blocks=块 lusers_files=文件 lusers_user=用户 lusers_used=已用 lusers_soft=软性限制 lusers_hard=硬性限制 lusers_noquota=没有用户在$1 上有配额 lusers_equota=编辑配额针对: lusers_egrace=编辑宽限时间 lusers_check=检查配额 lusers_info=创建新 Unix 用户后,Webmin 可以被配置自动在本文件系统上设置配额。只有在使用 $1 Webmin 模块添加用户时此功能才生效。 lusers_useradmin=用户和组 lusers_newuser=新用户配额 lusers_sblimit=软性块限制 lusers_hblimit=硬性块限制 lusers_sflimit=软性文件限制 lusers_hflimit=硬性文件限制 lusers_apply=应用 grace_seconds=秒 grace_minutes=分钟 grace_hours=小时 grace_days=天 grace_weeks=星期 grace_months=月 log_activate_u=已在 $1 上启用用户配额 log_activate_g=已在 $1 上启用组配额 log_activate_ug=已在 $1 上启用用户和组配额 log_deactivate_u=已在 $1 上禁用用户配额 log_deactivate_g=已在 $1 上禁用组配额 log_deactivate_ug=已在 $1 上禁用用户和组配额 log_save=在 $2 上改变 $1 的配额 log_sync=在 $1 上改变新用户的配额 log_grace_u=在 $1 上改变用户宽限时间 log_grace_g=在 $1 上改变组宽限时间 log_check=在 $1 上检查配额 log_copy_u=拷贝用户 $1 的配额 log_copy_g=拷贝组 $1 的配额 quota/lang/ko_KR.euc0000664000567100000120000002753611140674061014332 0ustar jcameronwheelacl_email≠ acl_fall= ý acl_fsel= ý.. acl_fss= ڰ ִ ý acl_gall= ׷ acl_gexcept=׷ acl_ggrace=׷ Ⱓ ֽϱ? acl_gnone=׷ acl_gonly=׷츸 acl_gquota= ڿ Ҵ緮 ׷ acl_maxblocks=ִ Ҵ緮 acl_maxfiles=ִ Ҵ緮 acl_quotanew= Ҵ緮 ֽϱ? acl_quotaon=Ҵ緮 / Ҵ ֽϱ? acl_ro=Ҵ緮 ʰ ⸸ ϰڽϱ? acl_uall= acl_uexcept=ڸ acl_ugrace= Ⱓ ֽϱ? acl_ugroup= ׷ ִ acl_unlimited= acl_uonly=ڸ acl_uquota= ڿ Ҵ緮 acl_uuid= UID : acl_vtotal= ũ ֽϱ? activate_eallow= ýۿ Ҵ緮 / Ҵ ϴ activate_eoff=Ҵ緮 Ȱȭ ߽ϴ activate_eon=Ҵ緮 Ȱȭ ߽ϴ cgform_all=ý ׷ cgform_contain=ڰ Ե ׷ cgform_copyto= ý $1 Ҵ緮 ... cgform_doit= cgform_ecannot=Ҵ緮 ϴ cgform_egroup= ׷ Ҵ緮 ϴ cgform_return=׷ Ҵ緮 cgform_select= ׷ cgform_title=Ҵ緮 cgroup_eallowto='$1' Ҵ緮 ϴ cgroup_ecannot=Ҵ緮 ϴ cgroup_efail=Ҵ緮 ߽ϴ cgroup_egallow= ׷ Ҵ緮 ϴ cgroup_enogroup= ׷ ϴ check_done=... ϷǾϴ. check_ecannot= ýۿ Ҵ緮 ˻ ϴ check_return=$1 check_rgroup=׷ check_running=$1 ˻ϴ quotacheck ǰ ֽϴ. ýۿ ð ɸ ֽϴ... check_ruser= check_title=Ҵ緮 ˻ cuform_all=ý cuform_copyto= ý $1 Ҵ緮 ... cuform_doit= cuform_ecannot=Ҵ緮 ϴ cuform_euallow= Ҵ緮 ϴ cuform_members= ׷ cuform_return= Ҵ緮 cuform_select= cuform_title=Ҵ緮 cuser_eallowto='$1' Ҵ緮 ϴ cuser_ecannot=Ҵ緮 ϴ cuser_efail=Ҵ緮 ߽ϴ cuser_enouser= ڰ ϴ cuser_euallow= Ҵ緮 ϴ egroup_bused= egroup_eallowfs= ýۿ Ҵ緮 ϴ egroup_eallowgr='$1' Ҵ緮 ϴ egroup_freturn= ý egroup_fused= egroup_greturn=׷ egroup_hblimit=ϵ egroup_hflimit=ϵ egroup_hklimit=Hard kilobyte egroup_kused=Kilobyte egroup_listall= Ҵ緮 egroup_quotas=$1 $2 Ҵ緮 egroup_sblimit=Ʈ egroup_sflimit=Ʈ egroup_sklimit=Soft kilobyte egroup_title=Ҵ緮 egroup_update=Ʈ email_ecannot≠ ɼ ϴ. email_edomain= ʾҰų ùٸ ʽϴ. email_efrom=From: ּҰ ʾҰų ùٸ ʽϴ. email_einterval= ʾҰų ùٸ ʽϴ. email_epercent= ۼƼ ʾҰų ùٸ ʽϴ. email_err≠ ɼ email_eto= ̸ ּҰ ʾҽϴ. email_msg=$2 Ͻý $1 ũ 뷮 㰡 Ҵ\n$3% ߽ϴ.\n\nũ $4 , ִ $5 ϴ. email_subject=ũ Ҵ緮 ʰ euser_bdisk= ũ euser_bused= euser_eallowfs= ýۿ Ҵ緮 ϴ euser_eallowus='$1' Ҵ緮 ϴ euser_fdisk= ũ euser_freturn= ý euser_fused= euser_hblimit=ϵ euser_hflimit=ϵ euser_hklimit=Hard kilobyte euser_kdisk=ũ kilobyte euser_kused=Kilobyte euser_listall= Ҵ緮 euser_quotas=$1 $2 Ҵ緮 euser_sblimit=Ʈ euser_sdisk=ũ euser_sflimit=Ʈ euser_sklimit=Soft kilobyte euser_title=Ҵ緮 euser_update=Ʈ euser_ureturn= gemail_msg=$2 Ͻý $1 ũ 뷮 㰡 Ҵ\n$3% ߽ϴ.\n\nũ $4 , ִ $5 ϴ. gemail_subject=ũ Ҵ緮 ʰ gfilesys_all= Ҵ緮 gfilesys_blocks= gfilesys_copy=Ҵ緮 gfilesys_ecannot='$1' Ҵ緮 ϴ gfilesys_edit=Ҵ緮 : gfilesys_files= gfilesys_fs= ý gfilesys_hard=ϵ gfilesys_kbs=Kilobyte gfilesys_nogquota=׷ $1() ƹ ýۿ Ҵ緮 ʽϴ gfilesys_return= ý gfilesys_soft=Ʈ gfilesys_space=Ʈ gfilesys_title=׷ Ҵ緮 gfilesys_used= ggracef_block= Ҵ緮 ggracef_ecannot= ý Ⱓ ϴ ggracef_file= Ҵ緮 ggracef_graces=$1 ׷ Ⱓ ggracef_info= ý۸ Ҵ緮 Ⱓ ֽϴ. Ⱓ ۼ ׷ Ʈ · Ǵ ⰣԴϴ. ggracef_return=׷ ggracef_title= Ⱓ ggracef_update=Ʈ ggraces_eedit= ý Ⱓ ϴ ggraces_enumber='$1'() ڰ ƴմϴ ggraces_esave= Ⱓ ߽ϴ gmass_count=õ $1 ׷쿡 ˴ϴ .. gmass_err=׷ Ҵ緮 Ʈ gmass_header=õ ׷쿡 Ҵ緮 gmass_ok=׷ Ʈ gmass_title=׷ Ҵ緮 Ʈ grace_days= grace_hours= grace_minutes= grace_months= grace_seconds= grace_weeks= index_action= index_active=Ȱ Դϱ? index_disable=Ҵ緮 Ҵ index_egroup=׷ Ҵ緮 : index_enable=Ҵ緮 index_euser= Ҵ緮 : index_fs= ý index_inactive=Ȱ index_mount=Ʈ ҽ index_mountmod=ũ Ʈũ ý ⿡ Ͻýۿ Ҵ緮 Ȱȭ Ȱ ֽϴ. index_mountonly=Ʈ ÿ index_nosupport=Ҵ緮 ִ ý ϴ index_qboth= ׷ Ҵ緮 index_qgroup=׷ Ҵ緮 index_quser= Ҵ緮 index_return=ε index_status= index_title=ũ Ҵ緮 index_type= lgroups_blocks= lgroups_check=Ҵ緮 ˻ lgroups_eallow= ýۿ Ҵ緮 ϴ lgroups_email=׷쿡 ϰڽϱ? lgroups_emailheader=Ҵ緮 ϸ ׷쿡 lgroups_equota=Ҵ緮 : lgroups_failed=׷ ߽ϴ lgroups_files= lgroups_grace= Ⱓ lgroups_group=׷ lgroups_hard=ϵ lgroups_info=ο unix ׷ Ǹ, Webmin ýۿ ߰ ׷쿡 Ͽ Ҵ緮 ڵ Ҵϵ ֽϴ. ׷ ߰ϱ $1 Webmin ġǾ ־ ۵ մϴ. lgroups_kbs=Kilobyte lgroups_mass=õ ׷ Ʈ lgroups_newgroup= ׷ Ҵ緮 lgroups_noquota=$1 Ҵ緮 ִ ׷ ϴ lgroups_quotas=$1 ׷ Ҵ緮 lgroups_return= ý lgroups_soft=Ʈ lgroups_space=ũ lgroups_title= ý Ҵ緮 lgroups_to= ּ lgroups_tofixed=ּ $1 lgroups_toomany=$1 Ҵ緮 ִ ׷ ʹ ǥ ϴ lgroups_tosame=׷ ̸ Ϲڽ lgroups_tovirt=Virtualmin lgroups_used= log_activate_g=$1 ׷ Ҵ緮 log_activate_u=$1 Ҵ緮 log_activate_ug=$1 ׷ Ҵ緮 log_check=$1 Ҵ緮 ˻ log_copy_g=׷ $1 Ҵ緮 log_copy_u= $1 Ҵ緮 log_deactivate_g=$1 ׷ Ҵ緮 Ҵ log_deactivate_u=$1 Ҵ緮 Ҵ log_deactivate_ug=$1 ׷ Ҵ緮 Ҵ log_email_group=$1 ׷ ̸ ɼ log_email_user=$1 ̸ ɼ log_grace_g=$1 ׷ Ⱓ log_grace_u=$1 Ⱓ log_gsync=$1 ׷ Ҵ緮 log_save=$2 $1 Ҵ緮 log_sync=$1 Ҵ緮 luser_virtualmin=Virtualmin lusers_apply= lusers_blocks= lusers_bsize=Ҵ緮 ũ : $1 byte lusers_check=Ҵ緮 ˻ lusers_domain= ּҸ lusers_eallow= ý Ҵ緮 ϴ lusers_egrace= Ⱓ lusers_email=ڿ ϰڽϱ? lusers_emailheader=Ҵ緮 ϸ ڿ lusers_equota=Ҵ緮 : lusers_failed=ڸ ߽ϴ lusers_files= lusers_from≠ From: ּ lusers_grace= lusers_hard=ϵ lusers_hblimit=ϵ lusers_hflimit=ϵ lusers_hours= lusers_info= н ۼ ýۿ Ҵ緮 ڵ ǵ Webmin ֽϴ. ̷ $1 Webmin ڸ ߰ϴ մϴ. lusers_interval=޽ ߼ lusers_kbs=Kilobyte lusers_ltype= lusers_mass=õ Ʈ lusers_newuser= Ҵ緮 lusers_noquota=$1 Ҵ緮 ִ ڰ ϴ lusers_pc_hblocks=Hard % lusers_pc_sblocks=Soft % lusers_percent=뷮 lusers_qoutas=$1 Ҵ緮 lusers_return= ý lusers_sblimit=Ʈ lusers_sflimit=Ʈ lusers_soft=Ʈ lusers_space=ũ lusers_title= ý Ҵ緮 lusers_toomany=$1 Ҵ緮 ִ ׷ ʹ Ƽ ǥ ϴ lusers_used= lusers_user= lusers_useradmin= ׷ quota_unlimited= sgroup_efs= ý Ҵ緮 ϴ sgroup_egroup= ׷ Ҵ緮 ϴ ssync_ecannot= ý ⺻ Ҵ緮 ϴ suser_efs= ý Ҵ緮 ϴ suser_emaxblocks=$1 ̻ ϴ. suser_emaxfiles=$1 ̻ ϴ. suser_euser= Ҵ緮 ϴ ufilesys_all=$1 Ҵ緮 ufilesys_blocks= ufilesys_copy=Ҵ緮 ufilesys_ecannot='$1' Ҵ緮 ϴ ufilesys_edit=Ҵ緮 : ufilesys_files= ufilesys_fs= ý ufilesys_grace= ufilesys_hard=ϵ ufilesys_kbs=Kilobyte ufilesys_nouquota= $1() ƹ ýۿ Ҵ緮 ʽϴ ufilesys_return= ý ufilesys_soft=Ʈ ufilesys_space=ũ ufilesys_title= Ҵ緮 ufilesys_used= ugracef_block= Ҵ緮 ugracef_ecannot= ý Ⱓ ϴ ugracef_file= Ҵ緮 ugracef_graces=$1 Ⱓ ugracef_info= ý۸ Ҵ緮 Ⱓ ֽϴ. Ⱓ ۼ ڰ Ʈ · Ǵ ⰣԴϴ. ugracef_return= ugracef_title= Ⱓ ugracef_update=Ʈ ugraces_eedit= ý Ⱓ ϴ ugraces_enumber='$1'() ڰ ƴմϴ ugraces_esave= Ⱓ ߽ϴ umass_count= õ $1 ڿ ˴ϴ .. umass_ehblocks=Hard ʾҰų ùٸ ʽϴ. umass_ehfiles=Hard ʾҰų ùٸ ʽϴ. umass_err= Ҵ緮 Ʈ umass_esblocks=Soft ʾҰų ùٸ ʽϴ. umass_esfiles=Soft ʾҰų ùٸ ʽϴ. umass_hblocks=Hard umass_header=õ ڿ Ҵ緮 umass_hfiles=Hard umass_leave= umass_ok= Ʈ umass_sblocks=Soft umass_set= : umass_sfiles=Soft umass_title= Ҵ緮 Ʈ umass_unlimited= quota/lang/pl0000644000567100000120000002331211140674061013147 0ustar jcameronwheelquota_unlimited=Brak acl_fss=Systemy plikw, ktre ten uytkownik moe zmienia acl_fall=Wszystkie acl_fsel=Wybrane.. acl_quotaon=Moe wcza i wycza quota? acl_quotanew=Moe zmienia ustawienia quota dla nowych uytkownikw? acl_ugrace=Moe zmienia czasy ulgi dla uytkownikw? acl_vtotal=Moe oglda czn ilo miejsca na dysku? acl_ggrace=Moe zmienia czasy ulgi dla grup? acl_uquota=Moe zmienia quota dla uytkownikw dla acl_gquota=Moe zmienia quota dla grup dla acl_uall= Wszystkich uytkownikw acl_uonly= Tylko dla uytkownikw acl_uexcept= Wszystkich oprcz uytkownikw acl_ugroup= Uytkownikw z grup gwn acl_gall= Wszystkich grup acl_gnone= adnej grupy acl_gonly= Tylko dla grup acl_gexcept= Wszystkich oprcz grup acl_uuid=Uytkownikw o nrach UID z zakresu acl_maxblocks=Maksymalna nadawana warto quota dla blokw acl_maxfiles=Maksymalna nadawana warto quota dla plikw acl_unlimited=Nieograniczona activate_eallow=Nie masz uprawnie do wczania ani wylczania quota dla tego systemu plikw activate_eon=Nie udao si wczy quota activate_eoff=Nie udao si wyczy quota check_title=Sprawd Quota check_return=listy $1 check_ecannot=Nie masz uprawnie do weryfikacji poprawnoci quota na tym systemie plikw check_running=Zosta uruchomiony program quotacheck w celu zbadania wykorzystania blokw i plikw na $1. Na duym systemie plikw moe to zaj sporo czasu... check_done=... Zakoczono. check_rgroup=grup check_ruser=uytkownikw cgroup_efail=Nie udao si skopiowa quota cgroup_ecannot=Nie masz uprawnie do kopiowania quota cgroup_egallow=Nie masz uprawnie do kopiowania quota tej grupy cgroup_enogroup=Nie podano grup, do ktrych kopiowa cgroup_eallowto=Nie masz uprawnie do kopiowania quota do '$1' cgform_title=Kopiuj quota cgform_return=quota dla grupy cgform_ecannot=Nie masz uprawnie do kopiowania quota cgform_egroup=Nie masz uprawnie do kopiowania quota tej grupy cgform_copyto=Kopiuj quota dla $1 na WSZYSTKICH systemach plikw do ... cgform_all=Wszystkich grup w systemie cgform_select=Wybranych grup cgform_contain=Grup zawierajcych uytkownikw cgform_doit=Kopiuj cuser_efail=Nie udao si skopiowa quota cuser_ecannot=Nie masz uprawnie do kopiowania quota cuser_euallow=Nie masz uprawnie do kopiowania quota tego uytkownika cuser_enouser=Nie podano uytkownikw, do ktrych kopiowa cuser_eallowto=Nie masz uprawnie do kopiowania quota do '$1' cuform_title=Kopiuj quota cuform_return=quota dla uytkownika cuform_ecannot=Nie masz uprawnie do kopiowania quota cuform_euallow=Nie masz uprawnie do kopiowania quota tego uytkownika cuform_copyto=Kopiuj quota dla $1 na WSZYSTKICH systemach plikw do ... cuform_all=Wszystkich uytkownikw systemu cuform_select=Wybranych uytkownikw cuform_members=Czonkw wybranych grup cuform_doit=Kopiuj egroup_title=Zmie quota egroup_freturn=listy systemw plikw egroup_greturn=listy grup egroup_eallowgr=Nie masz uprawnie do zmiany quota dla '$1' egroup_eallowfs=Nie masz uprawnie do zmiany quota na tym systemie plikw egroup_quotas=Quota dla $1 na $2 egroup_bused=Blokw uywanych egroup_sblimit=Mikki limit dla blokw egroup_hblimit=Twardy limit dla blokw egroup_fused=Plikw uywanych egroup_sflimit=Mikki limit dla plikw egroup_hflimit=Twardy limit dla plikw egroup_update=Aktualizuj egroup_listall=Poka wszystkie quota euser_title=Zmie quota euser_freturn=listy systemw plikw euser_ureturn=listy uytkownikw euser_eallowus=Nie masz uprawnie do zmiany quota dla '$1' euser_eallowfs=Nie masz uprawnie do zmiany quota na tym systemie plikw euser_quotas=Quota dla $1 na $2 euser_bused=Blokw uywanych euser_bdisk=Blokw dostpnych na dysku euser_sblimit=Mikki limit dla blokw euser_hblimit=Twardy limit dla blokw euser_fused=Plikw uywanych euser_fdisk=Plikw dostpnych na dysku euser_sflimit=Mikki limit dla plikw euser_hflimit=Twardy limit dla plikw euser_update=Aktualizuj euser_listall=Poka wszystkie quota gfilesys_title=Quota dla grup gfilesys_return=lista systemw plikw gfilesys_ecannot=Nie masz uprawnie do zmiany quota dla '$1' gfilesys_all=Wszystkie quota dla gfilesys_blocks=Blokw gfilesys_files=Plikw gfilesys_fs=System plikw gfilesys_used=Uywane gfilesys_soft=Mikki limit gfilesys_hard=Twardy limit gfilesys_nogquota=Grupa $1 nie posiada quota na adnym systemie plikw gfilesys_edit=Zmie quota na: gfilesys_copy=Kopiuj quota ggracef_title=Czasy ulgi ggracef_return=listy grup ggracef_ecannot=Nie masz uprawnie do zmiany czasw ulgi dla tego systemu plikw ggracef_info=Kady system plikw posiada czas ulgi dla blokw i dla plikw. Czas ulgi ukrela jak dugo mikki limit moe by przekroczony przez grup, zanim zostanie zablokowana moliwo tworzenia nowych plikw. ggracef_graces=Czasy ulgi dla grupy dla $1 ggracef_block=Dla quota dla blokw ggracef_file=Dla quota dla plikw ggracef_update=Aktualizuj ggraces_esave=Nie udao si zapisa czasw ulgi ggraces_eedit=Nie masz uprawnie do zmiany czasw ulgi dla tego systemu plikw ggraces_enumber='$1' nie jest liczb index_quser=Quota dla uytkownikw index_qgroup=Quota dla grup index_qboth=Quota dla uytkownikw i grup index_active=wczone index_disable=Wycz quota index_inactive=wyczone index_enable=Wcz quota index_title=Quota na dyskach index_fs=System plikw index_type=Rodzaj index_mount=Rezydujcy na index_status=Stan index_action=Dziaanie index_return=indeksu index_euser=Zmie quota dla uytkownika: index_egroup=Zmie quota dla grupy: index_nosupport=aden lokalny system plikw nie obsuguje quota lgroups_failed=Nie udao si pokaza listy grup lgroups_eallow=Nie masz uprawnie do zmiany quota na tym systemie plikw lgroups_title=Quota na systemie plikw lgroups_return=listy systemw plikw lgroups_toomany=Zbyt wiele grup posiada quota na $1, aby wywietli je na jednej stronie lgroups_quotas=Quota wszystkich grup na $1 lgroups_blocks=Blokw lgroups_files=Plikw lgroups_group=Grup lgroups_used=Uywane lgroups_soft=Mikki limit lgroups_hard=Twardy limit lgroups_noquota=adna grupa nie posiada quota na $1 lgroups_equota=Zmie quota dla: lgroups_grace=Zmie czasy ulgi lgroups_check=Sprawd quota sgroup_egroup=Nie masz uprawnie do zmiany quota dla tej grupy sgroup_efs=Nie masz uprawnie do zmiany quota na tym systemie plikw ssync_ecannot=Nie masz uprawnie do ustawiania domylnych limitw quota dla tego systemu plikow suser_euser=Nie masz uprawnie do zmiany quota dla tego uytkownika suser_efs=Nie masz uprawnie do zmiany quota na tym systemie plikw suser_emaxblocks=Nie masz uprawnie do ustawiania ograniczenia quota dla blokw ponad $1 suser_emaxfiles=Nie masz uprawnie do ustawiania ograniczenia quota dla plikw ponad $1 ufilesys_title=Quota dla uytkownikw ufilesys_return=listy systemw plikw ufilesys_ecannot=Nie masz uprawnie do zmiany quota dla '$1' ufilesys_all=Wszystkie quota dla $1 ufilesys_blocks=Blokw ufilesys_files=Plikw ufilesys_fs=System plikw ufilesys_used=Uywane ufilesys_soft=Mikki limit ufilesys_hard=Twardy limit ufilesys_nouquota=Uytkownik $1 nie posiada quota na zadnym systemie plikw ufilesys_edit=Zmie quota na: ufilesys_copy=Kopiuj quota ugracef_title=Czasy ulgi ugracef_return=listy uytkownikw ugracef_ecannot=Nie masz uprawnie do zmiany czasw ulgi dla tego systemu plikw ugracef_info=Kady system plikw posiada czas ulgi dla blokw i plikw. Czas ulgi ukrela jak dugo mikki limit moe by przekroczony przez uytkownika, zanim zostanie zablokowana moliwo tworzenia nowych plikw. ugracef_graces=Czasy ulgi dla uytkownika dla $1 ugracef_block=Dla quota dla blokw ugracef_file=Dla quota dla plikw ugracef_update=Aktualizuj ugraces_esave=Nie udao si zapisa czasw ulgi ugraces_eedit=Nie masz uprawnie do zmiany czasw ulgi dla tego systemu plikw ugraces_enumber='$1' nie jest liczb lusers_failed=Failed to list users lusers_eallow=Nie masz uprawnie do zmiany quota dla tego systemu plikw lusers_title=Quota dla systemu plikw lusers_return=listy systemw plikw lusers_toomany=Zbyt wielu uytkownikw posiada quota na $1, aby wywietli ich na jednej stronie lusers_qoutas=Quota wszystkich uytkownikw na $1 lusers_blocks=Blokw lusers_files=Plikw lusers_user=Uytkownik lusers_used=Uywane lusers_soft=Mikki limit lusers_hard=Twardy limit lusers_noquota=aden uytkownik nie ma quota na $1 lusers_equota=Zmie quota dla: lusers_egrace=Zmie czasy ulgi lusers_check=Sprawd quota lusers_info=Webmina mona skonfigurowa tak, aby automatycznie ustawia quota na tym systemie plikw podczas tworzenia nowego uytkownika Uniksa. Bdzie to dziaa jedynie gdy uytkownicy bd dodawani przy uyciu moduu Webmina $1. lusers_useradmin=Uytkownicy i grupy lusers_newuser=Quota dla nowego uytkownika lusers_sblimit=Mikki limit dla blokw lusers_hblimit=Twardy limit dla blokw lusers_sflimit=Mikki limit dla plikw lusers_hflimit=Twardy limit dla plikw lusers_apply=Zastosuj grace_seconds=Sekund grace_minutes=Minut grace_hours=Godzin grace_days=Dni grace_weeks=Tygodni grace_months=Miesicy log_activate_u=Wczono quota dla uytkownikw na $1 log_activate_g=Wczono quota dla grup na $1 log_activate_ug=Wczono quota dla uytkownikw i grup na $1 log_deactivate_u=Wyczono quota dla uytkownikw na $1 log_deactivate_g=Wyczono quota dla grup na $1 log_deactivate_ug=Wyczono quota dla uytkownikw i grup na $1 log_save=Zmieniono quota dla $1 na $2 log_sync=Zmieniono quota dla nowych uytkownikw na $1 log_grace_u=Zmieniono czasy ulgi dla uytkownikw na $1 log_grace_g=Zmieniono czasy ulgi dla grup na $1 log_check=Sprawdzono quota na $1 log_copy_u=Skopiowano quota uytkownika $1 log_copy_g=Skopiowano quota grupy $1 quota/lang/zh_CN0000644000567100000120000001545511140674061013546 0ustar jcameronwheelquota_unlimited= acl_fss=ûɱ༭ļϵͳ acl_fall=ļϵͳ acl_fsel=ѡ.. acl_quotaon=Ƿúͽô acl_quotanew=ǷΪûô acl_ugrace=Ƿɱ༭û޴ acl_vtotal=Ƿɲ鿴ܿռ䣿 acl_ggrace=Ƿɱ༭޴ acl_uquota=ûԱ༭û acl_gquota=ûԱ༭ acl_uall=û acl_uonly=Ψһû acl_uexcept=û acl_ugroup=еû acl_gall= acl_gnone=û acl_gonly=Ψһ acl_gexcept= acl_uuid=UIDûΧ acl_maxblocks=ĿȨ acl_maxfiles=Ȩļ acl_unlimited= activate_eallow=ûڱļϵͳúͽôȨ activate_eon=ʧ activate_eoff=رʧ check_title= check_return=$1 б check_ecannot=ûм鱾ļϵͳȨ check_running=quotacheckԼ$1ϵĴ̿ļڴļϵͳҪܳʱ.. check_done=... ɡ check_rgroup= check_ruser=û cgroup_efail=ʧ cgroup_ecannot=ûпȨ cgroup_egallow=ûпȨ cgroup_enogroup=ûпɿ鵽 cgroup_eallowto=ûп '$1'Ȩ cgform_title= cgform_return= cgform_ecannot=޷ cgform_egroup=ûпȨ cgform_copyto=ļϵͳ$1 cgform_all=ϵͳϵ cgform_select=ѡ cgform_contain=û cgform_doit= cuser_efail=ʧ cuser_ecannot=ûпȨ cuser_euallow=ûпûȨ cuser_enouser=ûû cuser_eallowto=ûп'$1'Ȩ cuform_title= cuform_return=û cuform_ecannot=޷ cuform_euallow=ûпûȨ cuform_copyto=$1ļϵͳ ... cuform_all=ϵͳϵû cuform_select=ѡû cuform_members=ѡijԱ cuform_doit= egroup_title=༭ egroup_freturn=ļϵͳб egroup_greturn=б egroup_eallowgr=ûб༭ '$1'Ȩ egroup_eallowfs=ûб༭ļϵͳϵȨ egroup_quotas=$1$2ϵ egroup_bused=ÿ egroup_sblimit=Կ egroup_hblimit=ӲԿ egroup_fused=ʹõļ egroup_sflimit=ļ egroup_hflimit=Ӳļ egroup_update= egroup_listall=г euser_title=༭ euser_freturn=ļϵͳб euser_ureturn=ûб euser_eallowus=ûб༭'$1'Ȩ euser_eallowfs=ûб༭ļϵͳȨ euser_quotas=$1$2ϵ euser_bused=ÿ euser_bdisk=ϿõĿ euser_sblimit=Կ euser_hblimit=ӲԿ euser_fused=ļ euser_fdisk=Ͽõļ euser_sflimit=ļ euser_hflimit=Ӳļ euser_update= euser_listall=б gfilesys_title= gfilesys_return=ļб gfilesys_ecannot=ûб༭'$1'ļȨ gfilesys_all=$1 gfilesys_blocks= gfilesys_files=ļ gfilesys_fs=ļϵͳ gfilesys_used= gfilesys_soft= gfilesys_hard=Ӳ gfilesys_nogquota= $1 κļϵͳ϶û gfilesys_edit=༭޶ڣ gfilesys_copy= ggracef_title=ʱ ggracef_return=б ggracef_ecannot=ûб༭ļϵͳʱȨ ggracef_info=ÿļϵͳжԿļĿʱ䡣ʱһ鱻ֹļ֮ǰ״̬ʱ䳤̡ ggracef_graces=$1ʱ ggracef_block=Կ ggracef_file=ļ ggracef_update= ggraces_esave=ʱʧ ggraces_eedit=ûб༭ļϵͳĿʱȨ ggraces_enumber='$1' index_quser=û index_qgroup= index_qboth=û index_active= index_disable= index_inactive= index_enable= index_mountonly=ڼʱ index_title= index_fs=ļϵͳ index_type= index_mount= index_status=״̬ index_action= index_return= index_euser=༭û index_egroup=༭ index_nosupport=ļϵͳ֧ lgroups_failed=гʧ lgroups_eallow=ûб༭ļϵͳϵȨ lgroups_title=ļϵͳ lgroups_return=ļϵͳб lgroups_toomany=$1̫࣬һҳ޷ȫʾ lgroups_quotas=$1ϵ lgroups_blocks= lgroups_files=ļ lgroups_group= lgroups_used= lgroups_soft= lgroups_hard=Ӳ lgroups_noquota=û$1 lgroups_equota=༭Ϊ lgroups_grace=༭ʱ lgroups_check= sgroup_egroup=ûб༭Ȩ sgroup_efs=ûб༭ļϵͳȨ ssync_ecannot=ûļϵͳĬȨ suser_euser=ûб༭ûȨ suser_efs=ûб༭ļϵͳȨ suser_emaxblocks=ûȨ$1ƵȨ suser_emaxfiles=ûȨ$1ļƵȨ ufilesys_title=û ufilesys_return=ļϵͳб ufilesys_ecannot=ûб༭'$1'Ȩ ufilesys_all=$1 ufilesys_blocks= ufilesys_files=ļ ufilesys_fs=ļϵͳ ufilesys_used= ufilesys_soft= ufilesys_hard=Ӳ ufilesys_nouquota=û$1 κļϵͳû ufilesys_edit=༭ڣ ufilesys_copy= ugracef_title=ʱ ugracef_return=ûб ugracef_ecannot=ûб༭ļϵͳĵĿʱȨ ugracef_info=ÿļϵͳжԿļĿʱ䡣ʱһûֹļ֮ǰ״̬ʱ䳤̡ ugracef_graces=$1ûʱ ugracef_block=Ϊ ugracef_file=ļ ugracef_update= ugraces_esave=ʱʧ ugraces_eedit=ûб༭ļϵͳϵĿʱȨ ugraces_enumber='$1' lusers_failed=гûʧ lusers_eallow=ûб༭ļϵͳϵȨ lusers_title=ļϵͳ lusers_return=ļϵͳб lusers_toomany=$1û̫࣬һҳ޷ȫʾ lusers_qoutas=$1ϵû lusers_blocks= lusers_files=ļ lusers_user=û lusers_used= lusers_soft= lusers_hard=Ӳ lusers_noquota=ûû$1 lusers_equota=༭ԣ lusers_egrace=༭ʱ lusers_check= lusers_info= Unix ûWebmin ԱԶڱļϵͳֻʹ $1 Webmin ģûʱ˹ܲЧ lusers_useradmin=û lusers_newuser=û lusers_sblimit=Կ lusers_hblimit=ӲԿ lusers_sflimit=ļ lusers_hflimit=Ӳļ lusers_apply=Ӧ grace_seconds= grace_minutes= grace_hours=Сʱ grace_days= grace_weeks= grace_months= log_activate_u= $1 û log_activate_g= $1 log_activate_ug= $1 û log_deactivate_u= $1 Ͻû log_deactivate_g= $1 Ͻ log_deactivate_ug= $1 Ͻû log_save= $2 ϸı $1 log_sync= $1 ϸıû log_grace_u= $1 ϸıûʱ log_grace_g= $1 ϸıʱ log_check= $1 ϼ log_copy_u=û $1 log_copy_g= $1 quota/lang/uk_UA0000664000567100000120000002351311140674061013545 0ustar jcameronwheellusers_apply= lgroups_check= euser_sblimit=˳ acl_uuid= UID gfilesys_soft=˳ egroup_sblimit=˳ cuform_ecannot= lgroups_group= index_type= ggracef_return= ugracef_return= lgroups_eallow= index_mount=ϳ ggracef_file= egroup_eallowgr= '$1' cuform_doit= ufilesys_nouquota= $1 ggracef_title=³ gfilesys_blocks= acl_ugrace= ? lusers_noquota= $1 suser_efs= cuser_euallow= index_mountonly= ufilesys_used= gfilesys_copy= ugraces_eedit= check_title= lusers_hard= ggraces_esave= cgform_select= check_return= $1 acl_gquota=, log_deactivate_ug= $1 index_inactive=³ lgroups_grace= index_egroup= : lusers_blocks= index_status= grace_minutes= gfilesys_files= log_grace_g= $1 ugracef_file= lusers_toomany= $1, acl_fall= cuser_ecannot= lusers_title= ufilesys_soft=˳ ufilesys_files= check_rgroup= lgroups_failed= egroup_update= acl_fsel=.. grace_weeks= gfilesys_return= log_grace_u= $1 cgroup_egallow= ugracef_title= gfilesys_all= $1 acl_uonly= ҳ acl_vtotal= ? cuform_select= egroup_quotas= $1 $2 lusers_qoutas= $1 index_fs= acl_fss= , ufilesys_copy= lusers_used= lgroups_title= acl_gnone= ͳ lusers_newuser= activate_eoff= log_check= $1 ugraces_esave= cuform_title= log_copy_g= $1 egroup_greturn= lusers_return= ggracef_ecannot= lusers_info=Webmin Unix. , $1. lusers_user= lusers_hflimit= cgform_all= ggracef_block= cgroup_eallowto= '$1' log_copy_u= $1 activate_eon= acl_quotanew= ? euser_hflimit= ggracef_graces= $1 egroup_hflimit= check_ecannot= ugraces_enumber='$1' gfilesys_edit= : acl_quotaon= ? log_activate_ug= $1 ufilesys_all= $1 lusers_soft=˳ ugracef_graces= $1 ufilesys_fs= suser_euser= check_running= $1 quotacheck. ... index_nosupport= , lusers_useradmin= lusers_files= grace_seconds= euser_ureturn= acl_ggrace= ? cgform_copyto= $1 Ѳ ... cgform_title= index_euser= : check_ruser= suser_emaxblocks= , $1 acl_gonly= ҳ cgform_return= ggracef_info= . , . cgform_contain=, lgroups_noquota= $1 gfilesys_nogquota= $1 lusers_sflimit=˳ cgroup_enogroup= grace_days= lgroups_files= grace_months=̳ lusers_equota= : activate_eallow= lgroups_blocks= gfilesys_fs= euser_sflimit=˳ index_qboth= egroup_sflimit=˳ ugracef_block= egroup_title= log_deactivate_g= $1 index_title= ufilesys_blocks= egroup_bused= lusers_eallow= ufilesys_edit= : acl_gexcept= , log_save= $1 $2 cuform_copyto= $1 Ѳ ... euser_update= lgroups_toomany= $1, sgroup_efs= log_deactivate_u= $1 ugracef_info= . , . lgroups_hard= acl_maxblocks= cuform_return= ufilesys_ecannot= '$1' acl_uall= gfilesys_hard= euser_freturn= egroup_freturn= egroup_fused= euser_title= acl_unlimited= cuser_eallowto= '$1' acl_uquota=, euser_quotas= $1 $2 euser_eallowus= '$1' euser_bused= euser_bdisk=³ lgroups_quotas= $1 euser_eallowfs= index_quser= index_return= cgform_doit= euser_listall= index_enable= egroup_listall= lgroups_return= acl_uexcept= lusers_hblimit= index_active= cgform_ecannot= euser_fused= gfilesys_ecannot= '$1' log_activate_g= $1 euser_fdisk= ufilesys_return= cuser_efail= euser_hblimit= cuser_enouser= egroup_hblimit= lusers_failed= log_sync= $1 ggraces_enumber='$1' lgroups_used= log_activate_u= $1 cuform_all= acl_maxfiles= gfilesys_used= ssync_ecannot= lusers_check= index_action=ij cuform_euallow= ggraces_eedit= ufilesys_hard= index_disable=³ egroup_eallowfs= acl_ugroup= ggracef_update= lusers_egrace= cgform_egroup= quota_unlimited= ugracef_update= ugracef_ecannot= suser_emaxfiles= , $1 gfilesys_title= index_qgroup= cgroup_efail= lusers_sblimit=˳ ufilesys_title= cgroup_ecannot= sgroup_egroup= acl_gall= grace_hours= check_done=... . lgroups_equota= : lgroups_soft=˳ cuform_members= quota/lang/cz0000664000567100000120000003175311140674062013163 0ustar jcameronwheelacl_email=Mono nastavovat upozorovn mailem? acl_fall=Vechny svazky acl_fsel=Zvolen .. acl_fss=Svazky, kter lze upravovat acl_gall=Vechny skupiny acl_gexcept=Vechny, krom skupin acl_ggrace=Me nastavovat skupinov grace times ? acl_gnone=dn skupiny acl_gonly=Pouze skupiny acl_gquota=Skupiny tohoto uivatele mohou upravovat kvty pro acl_maxblocks=Maximln pidliteln blokov kvta acl_maxfiles=Maximln pidliteln souborov kvta acl_quotanew=Me nastavovat kvty pro nov uivatele? acl_quotaon=Me zapnout a vypnout kvty ? acl_ro=Mono poze kvoty prohlet, ne vak editovat? acl_uall=Vichni uivatel acl_uexcept=Vichni, krom uivatel acl_ugrace=Me upravovat uivatelsk asov limit ? acl_ugroup=Uivatel se zkladn skupinou acl_unlimited=Neomezeno acl_uonly=Pouze uivatel acl_uquota=Uivatel tohoto uivatele mohou upravovat kvty pro acl_uuid=Uivatel s UID v rozmez acl_vtotal=Me prohlet celkov msto na disku ? activate_eallow=Nemte oprvnn zapnout/vypnout kvty na tomto svazku activate_eoff=chyba pi vypnut podpory kvt activate_eon=chyba pi zapnut podpory kvt cgform_all=vechny skupiny v systmu cgform_contain=skupiny obsahujc uivatele cgform_copyto=Koprovat kvty od skupiny $1 na VECH SVAZCCH pro cgform_doit=Koprovat cgform_ecannot=Nemete koprovat kvty cgform_egroup=Nemte oprvnn koprovat kvty tto skupiny cgform_return=skupinov kvty cgform_select=vybran skupiny cgform_title=Koprovn kvt cgroup_eallowto=Nemte oprvnn ke koprovn kvt pro '$1' cgroup_ecannot=Nemete koprovat kvty. cgroup_efail=Chyba pi koprovn kvt. cgroup_egallow=Nemte oprvnn koprovat kvty tto skupiny cgroup_enogroup=Neexistuje dna skupina ke koprovn check_done=... hotovo. check_ecannot=Nemete upravovat kvty na tomto svazku check_return=$1 seznam check_rgroup=skupina check_running=Pkaz quotacheck nyn kontroluje vyuit msto a poty soubor na svazku $1. Tato operace me chvli trvat ... check_ruser=uivatel check_title=Zkontrolovat kvty cuform_all=vechni uivatel v systmu cuform_copyto=Koprovat kvty od uivatele $1 na VECH SVAZCCH pro cuform_doit=Koprovat cuform_ecannot=Nemete koprovat kvty cuform_euallow=Nemte oprvnn koprovat kvty tohoto uivatele cuform_members=lenov vybranch skupin cuform_return=uivatelsk kvty cuform_select=vybran uivatel cuform_title=Koprovn kvt cuser_eallowto=Nemte oprvnn ke koprovn kvt pro '$1' cuser_ecannot=Nemete koprovat kvty. cuser_efail=Chyba pi koprovn kvt. cuser_enouser=dn uivatel ke koprovn cuser_euallow=Nemte oprvnn koprovat kvty tohoto uivatele. egroup_bused=Pouitch blok egroup_eallowfs=Nemte oprvnn upravovat kvty na tomto svazku egroup_eallowgr=Nemte oprvnn upravovat kvty pro '$1' egroup_freturn=seznam svazk egroup_fused=Pouitch soubor egroup_greturn=seznam skupin egroup_hblimit=Pevn blokov limit egroup_hflimit=Pevn souborov limit egroup_hklimit=Nepekroiteln limit v kilobytech egroup_kused=Pouito kilobyt egroup_listall=Seznam vech kvt egroup_quotas=Kvta pro skupinu $1 na svazku $2 egroup_sblimit=Doasn blokov limit egroup_sflimit=Doasn souborov limit egroup_sklimit=Pekroiteln limit v kilobytech egroup_title=Upravit kvtu egroup_update=Aktualizovat email_ecannot=Nemte oprvnn upravovat nastaven emailu email_edomain=Chybjc nebo neplatn domna mailu email_efrom=Chybjc nebo neplatn From: adresa email_einterval=Chybjc nebo neplatn interval email_epercent=Chybjc nebo neplatn vyuit v procentech email_err=Nepodailo se uloen nastaven mailu email_eto=Chybjc clov adresa email_msg=Vyuit disku pro uivatele $1 na systmu $2 doshlo $3% z celkov povolen kvoty. \n\nJe vyuito $4 msta z celkovho maxima $5. email_subject=Pekroena diskov kvota. euser_bdisk=Dostupnch blok na disku euser_bused=Pouitch blok euser_eallowfs=Nemte oprvnn upravovat kvty na tomto svazku euser_eallowus=Nemte oprvnn upravovat kvty pro '$1' euser_fdisk=Dostupnch soubory na disku euser_freturn=seznam svazk euser_fused=Pouitch soubor euser_hblimit=Pevn blokov limit euser_hflimit=Pevn souborov limit euser_hklimit=Nepekroiteln limit v kilobytech euser_kdisk=Dostupn msto (kilobyty) na disku euser_kused=Vyuito kilobyt euser_listall=Seznam vech kvt euser_quotas=Kvta pro uivatele $1 na svazku $2 euser_sblimit=Doasn blokov limit euser_sdisk=Dostupn msto na disku euser_sflimit=Doasn souborov limit euser_sklimit=Pekroiteln limit v kilobytech euser_title=Upravit kvtu euser_update=Aktualizovat euser_ureturn=seznam uivatel gemail_msg=Vyuit disku pro skupinu $1 na systmu $2 doshlo $3% z celkov povolen kvoty. \n\nJe vyuito $4 msta z celkovho maxima $5. gemail_subject=Pekroena diskov kvota gfilesys_all=Vechny kvty pro gfilesys_blocks=Blok gfilesys_copy=Koprovat kvty gfilesys_ecannot=Nemte oprvnn upravovat kvty pro '$1' gfilesys_edit=Upravit kvtu na svazku: gfilesys_files=Soubor gfilesys_fs=Svazek gfilesys_hard=Pevn limit gfilesys_kbs=Kilobyt gfilesys_nogquota=Skupina $1 nem kvtu na dnm svazku gfilesys_return=seznam svazk gfilesys_soft=Doasn limit gfilesys_space=Msto na disku gfilesys_title=Skupinov kvty gfilesys_used=Pouito ggracef_block=Pro blokovou kvtu ggracef_ecannot=Nemte oprvnn upravovat asov limit na tomto svazku ggracef_file=Pro souborovou kvtu ggracef_graces=Skupinov asov limit pro $1 ggracef_info=Kad svazek m asov limit pro blokov a souborov kvty. asov limit uruje, jak dlouho me mt skupina pekroen doasn blokov a souborov limit dokud nebude moci vytvoit dal nov soubory. ggracef_return=seznam skupin ggracef_title=asov limit ggracef_update=Aktualizovat ggraces_eedit=Nemte oprvnn upravovat asov limit na tomto svazku ggraces_enumber='$1' nen platn slo ggraces_esave=Chyba pi ukldn asovho limitu gmass_count=Ne uveden zmny se aplikuj na $1 vybranch skupin ... gmass_err=Nepodailo aktualizovat skupinov kvoty gmass_header=Aplikovat zmny kvot na vybran skupiny gmass_ok=Aktualizovat skupiny gmass_title=Aktualizovat kvoty skupin grace_days=dn grace_hours=hodin grace_minutes=minut grace_months=msc grace_seconds=sekund grace_weeks=tdn index_action=Akce index_active=jsou aktivn index_disable=zakzat kvty index_egroup=Upravit skupinov kvty: index_enable=povolit kvty index_euser=Upravit uivatelsk kvty: index_fs=Svazek index_inactive=nejsou aktivn index_mount=Pipojeno z index_mountmod=Kvoty mete povolit v modulu Disk and Network Filesystems module. index_mountonly=Mono povolit jen pi mountovn index_nosupport=dn svazek nepodporuje kvty index_qboth=uivatelsk a skupinov kvty index_qgroup=skupinov kvty index_quser=uivatelsk kvty index_return=index index_status=Status index_title=Diskov kvty index_type=Typ lgroups_blocks=Blok lgroups_check=Zkontrolovat kvty lgroups_eallow=Nemte oprvnn upravovat kvty na tomto svazku lgroups_email=Zaslat email skupinm? lgroups_emailheader=Email pro skupiny ve kvotach lgroups_equota=Upravit kvtu pro: lgroups_failed=Chyba pi vypsn seznamu skupin lgroups_files=Soubor lgroups_grace=Upravit asov limit lgroups_group=Skupina lgroups_hard=Pevn limit lgroups_info=Webmin se me nastavit tak, aby automaticky nastavoval kvoty na systmu vdy, kdy je vytvoena nov unixov skupina. Toto nastaven bude fungovat jen, kdy modul $1 bude pouvm pro pdvn skupin. lgroups_kbs=Kilobyty lgroups_mass=Aktualizovat vybran skupiny lgroups_newgroup=Nov skupinov kvoty lgroups_noquota=dn skupiny nemaj kvty na svazku $1 lgroups_quotas=Vechny skupinov kvty na svazku $1 lgroups_return=seznam svazk lgroups_soft=Doasn limit lgroups_space=Msto na disku lgroups_title=Kvty svazku lgroups_to=Email lgroups_tofixed=Adresa $1 lgroups_toomany=Pli mnoho skupin m kvtu na $1 pro zobrazen na jedn strnce lgroups_tosame=Potovn schrnka se stejnm jmnem jako skupina lgroups_tovirt=Virtuln webmin vlastnk domny lgroups_used=Pouito log_activate_g=Povoleny skupinov kvty na svazku $1 log_activate_u=Povoleny uivatelsk kvty na svazku $1 log_activate_ug=Povoleny uivatelsk a skupinov kvty na svazku $1 log_check=Zkontrolovny kvty na svazku $1 log_copy_g=Zkoprovny kvty skupiny $1 log_copy_u=Zkoprovny kvty uivatele $1 log_deactivate_g=Zakzny skupinov kvty na svazku $1 log_deactivate_u=Zakzny uivatelsk kvty na svazku $1 log_deactivate_ug=Zakzny uivatelsk a skupinov kvty na svazku $1 log_email_group=Zmnit nastaven skupinovho emailu na $1 log_email_user=Zmnit nastaven uivatelskho mailu na $1 log_grace_g=Zmnn skupinov asov limit na svazku $1 log_grace_u=Zmnn uivatelsk asov limit na svazku $1 log_gsync=Zmnit nov skupinov kvoty na $1 log_save=Zmnna kvta pro $1 na svazku $2 log_sync=Zmnny kvty novho uivatele na svazku $1 luser_virtualmin=Zskat domnu od Virtulnho webmina? lusers_apply=Pout lusers_blocks=Blok lusers_bsize=Velikost kvoty bloku: $1 byt lusers_check=Zkontrolovat kvty lusers_domain=Domna pro adresy uivatel lusers_eallow=Nemte oprvnn upravovat kvty na tomto svazku lusers_egrace=Upravit asov limit lusers_email=Zaslat uivatelm email? lusers_emailheader=Email uivatelm s kvotami lusers_equota=Upravit kvtu pro: lusers_failed=Chyba pi vypsn seznamu uivatel lusers_files=Soubor lusers_from=Od: emailov adresa lusers_grace=Doba Grace - doba, po kterou me bt pekroen Pekroiteln limit lusers_hard=Pevn limit lusers_hblimit=Pevn blokov limit lusers_hflimit=Pevn souborov limit lusers_hours=hodiny lusers_info=Webmin me bt nakonfigurovn tak, e automaticky nastav kvtu na tomto svazku pokud je vytvoen nov uivatel. Toto nastaven bude fungovat pouze tehdy, je-li pouit modul Webminu $1 k pidvn novch uivatel. lusers_interval=Interval mezi zprvami lusers_kbs=Kilobyty lusers_ltype=Typ limitu lusers_mass=Aktualizovat vybran uivatele lusers_newuser=Nov uivatelsk kvty lusers_noquota=dn uivatel nem kvtu na $1 lusers_pc_hblocks=Nepekroiteln % lusers_pc_sblocks=Pekroiteln % lusers_percent=Varovat, kdy vyuit doshne lusers_qoutas=Vechny uivatelsk kvty na svazku $1 lusers_return=seznam svazk lusers_sblimit=Doasn blokov limit lusers_sflimit=Doasn souborov limit lusers_soft=Doasn limit lusers_space=Msto na disku lusers_title=Kvty svazku lusers_toomany=Pli mnoho uivatel m kvtu na $1 pro zobrazen na jedn strnce lusers_used=Pouito lusers_user=Uivatel lusers_useradmin=Uivatel a skupiny quota_unlimited=bez omezen sgroup_efs=Nemte oprvnn upravovat kvty na tomto svazku sgroup_egroup=Nemte oprvnn upravovat kvty pro tuto skupinu ssync_ecannot=Nemte oprvnn nastavit vchoz kvtu pro tento svazek suser_efs=Nemte oprvnn upravovat kvty na tomto svazku suser_emaxblocks=Nemte oprvnn pidlit blokov limity vce n $1 suser_emaxfiles=Nemte oprvnn pidlit souborov limity vce ne $1 suser_euser=Nemte oprvnn upravovat kvtu pro tohoto uivatele ufilesys_all=Vechny kvty pro $1 ufilesys_blocks=Blok ufilesys_copy=Koprovat kvty ufilesys_ecannot=Nemte oprvnn upravovat kvty pro '$1' ufilesys_edit=Upravit kvtu na svazku: ufilesys_files=Soubor ufilesys_fs=Svazek ufilesys_grace=Doba Grace - doba, po kterou me bt pekroen Pekroiteln limit ufilesys_hard=Pevn limit ufilesys_kbs=Kilobyty ufilesys_nouquota=Uivatel $1 nem kvty na dnm souborovm svazku ufilesys_return=seznam souborovch svazk ufilesys_soft=Doasn limit ufilesys_space=Msto na disku ufilesys_title=Uivatelsk kvty ufilesys_used=Pouito ugracef_block=Pro blokovou kvtu ugracef_ecannot=Nemte oprvnn upravovat asov limit na tomto svazku ugracef_file=Pro souborovou kvtu ugracef_graces=Uivatelsk asov limit pro $1 ugracef_info=Kad svazek m asov limit pro blokov a souborov kvty. The asov limit uruje, jak dlouho me mt uivatel pekroen doasn blokov a souborov limit dokud nebude moci vytvoit dal nov soubory. ugracef_return=seznam uivatel ugracef_title=asov limit ugracef_update=Aktualizovat ugraces_eedit=Nemte oprvnn upravovat asov limit na tomto svazku ugraces_enumber='$1' nen platn slo ugraces_esave=Chyba pi ukldn asov limit umass_count=Zmny ne se aplikuj na $1 vybranch uivatel umass_ehblocks=Chybjc nebo neplatn nepekroiteln blokov limit umass_ehfiles=Chybjc nebo neplatn nepekroiteln souborov limit umass_err=Nepodailo se aktulizovat uivatelsk kvoty umass_esblocks=Chybjc nebo neplatn pekroiteln blokov limit umass_esfiles=Chybjc nebo neplatn pekroiteln souborov limit umass_hblocks=Nepekroiteln blokov limit umass_header=Zmny kvot se aplikuj na vybran uivatele umass_hfiles=Nepekroiteln souborov limit umass_leave=Ponechat beze zmn umass_ok=Aktualizovat uivatele umass_sblocks=Pekroiteln blokov limit umass_set=Nastavit umass_sfiles=Pekroiteln souborov limit umass_title=Aktualizovat uivatelsk kvoty umass_unlimited=Nastavit na neomezeno quota/lang/ru_SU0000644000567100000120000002365411140674062013603 0ustar jcameronwheelquota_unlimited= acl_fss= , acl_fall= acl_fsel=.. acl_quotaon= ? acl_quotanew= ? acl_ugrace= ? acl_vtotal= ? acl_ggrace= ? acl_uquota=, acl_gquota=, acl_uall= acl_uonly= acl_uexcept= acl_ugroup= acl_gall= acl_gnone= acl_gonly= acl_gexcept= , acl_uuid= UID acl_maxblocks= acl_maxfiles= acl_unlimited= activate_eallow= activate_eon= activate_eoff= check_title= check_return= $1 check_ecannot= check_running= $1 quotacheck. ... check_done=... . check_rgroup= check_ruser= cgroup_efail= cgroup_ecannot= cgroup_egallow= cgroup_enogroup= cgroup_eallowto= '$1' cgform_title= cgform_return= cgform_ecannot= cgform_egroup= cgform_copyto= $1 ... cgform_all= cgform_select= cgform_contain=, cgform_doit= cuser_efail= cuser_ecannot= cuser_euallow= cuser_enouser= cuser_eallowto= '$1' cuform_title= cuform_return= cuform_ecannot= cuform_euallow= cuform_copyto= $1 ... cuform_all= cuform_select= cuform_members= cuform_doit= egroup_title= egroup_freturn= egroup_greturn= egroup_eallowgr= '$1' egroup_eallowfs= egroup_quotas= $1 $2 egroup_bused= egroup_sblimit= egroup_hblimit= egroup_fused= egroup_sflimit= egroup_hflimit= egroup_update= egroup_listall= euser_title= euser_freturn= euser_ureturn= euser_eallowus= '$1' euser_eallowfs= euser_quotas= $1 $2 euser_bused= euser_bdisk= euser_sblimit= euser_hblimit= euser_fused= euser_fdisk= euser_sflimit= euser_hflimit= euser_update= euser_listall= gfilesys_title= gfilesys_return= gfilesys_ecannot= '$1' gfilesys_all= $1 gfilesys_blocks= gfilesys_files= gfilesys_fs= gfilesys_used= gfilesys_soft= gfilesys_hard= gfilesys_nogquota= $1 gfilesys_edit= : gfilesys_copy= ggracef_title= ggracef_return= ggracef_ecannot= ggracef_info= . , . ggracef_graces= $1 ggracef_block= ggracef_file= ggracef_update= ggraces_esave= ggraces_eedit= ggraces_enumber='$1' index_quser= index_qgroup= index_qboth= index_active= index_disable= index_inactive= index_enable= index_mountonly= index_title= index_fs= index_type= index_mount= index_status= index_action= index_return= index_euser= : index_egroup= : index_nosupport= , lgroups_failed= lgroups_eallow= lgroups_title= lgroups_return= lgroups_toomany= $1, lgroups_quotas= $1 lgroups_blocks= lgroups_files= lgroups_group= lgroups_used= lgroups_soft= lgroups_hard= lgroups_noquota= $1 lgroups_equota= : lgroups_grace= lgroups_check= sgroup_egroup= sgroup_efs= ssync_ecannot= suser_euser= suser_efs= suser_emaxblocks= , $1 suser_emaxfiles= , $1 ufilesys_title= ufilesys_return= ufilesys_ecannot= '$1' ufilesys_all= $1 ufilesys_blocks= ufilesys_files= ufilesys_fs= ufilesys_used= ufilesys_soft= ufilesys_hard= ufilesys_nouquota= $1 ufilesys_edit= : ufilesys_copy= ugracef_title= ugracef_return= ugracef_ecannot= ugracef_info= . , . ugracef_graces= $1 ugracef_block= ugracef_file= ugracef_update= ugraces_esave= ugraces_eedit= ugraces_enumber='$1' lusers_failed= lusers_eallow= lusers_title= lusers_return= lusers_toomany= $1, lusers_qoutas= $1 lusers_blocks= lusers_files= lusers_user= lusers_used= lusers_soft= lusers_hard= lusers_noquota= $1 lusers_equota= : lusers_egrace= lusers_check= lusers_info=Webmin Unix. , $1. lusers_useradmin= lusers_newuser= lusers_sblimit= lusers_hblimit= lusers_sflimit= lusers_hflimit= lusers_apply= grace_seconds= grace_minutes= grace_hours= grace_days= grace_weeks= grace_months= log_activate_u= $1 log_activate_g= $1 log_activate_ug= $1 log_deactivate_u= $1 log_deactivate_g= $1 log_deactivate_ug= $1 log_save= $1 $2 log_sync= $1 log_grace_u= $1 log_grace_g= $1 log_check= $1 log_copy_u= $1 log_copy_g= $1 quota/lang/ca0000644000567100000120000003321011140674062013116 0ustar jcameronwheelquota_unlimited=Illimitada acl_fss=Sistemes de fitxers que aquest usuari pot editar acl_fall=Tots els sistemes de fitxers acl_fsel=Seleccionats... acl_ro=Pot veure noms la quota, no editar-la acl_quotaon=Pot activar i desactivar quotes acl_quotanew=Pot configurar quotes per als usuaris nous acl_ugrace=Pot editar els perodes de grcia dels usuaris acl_vtotal=Pot veure el total d'espai al disc acl_ggrace=Pot editar els perodes de grcia dels grups acl_uquota=Usuaris dels quals aquest usuari pot modificar quotes acl_gquota=Grups dels quals aquest usuari pot modificar quotes acl_uall=Tots els usuaris acl_uonly=Noms els usuaris acl_uexcept=Tots excepte els usuaris acl_ugroup=Els usuaris amb grup primari acl_gall=Tots els grups acl_gnone=Cap grup acl_gonly=Noms els grups acl_gexcept=Tots excepte els grups acl_uuid=Usuaris amb UID en el rang acl_maxblocks=Quota mxima de blocs concedible acl_maxfiles=Quota mxima de fitxers concedible acl_unlimited=Illimitada acl_email=Pot configurar les notificacions de correu activate_eallow=No tens perms per activar o desactivar quotes en aquest sistema de fitxers activate_eon=No he pogut activar les quotes activate_eoff=No he pogut desactivar les quotes check_title=Comprovaci de Quotes check_return=a la llista $1 check_ecannot=No pots verificar les quotes d'aquest sistema de fitxers check_running=Ara s'est executant l'ordre quotacheck per verificar l's dels blocs i els fitxers a $1. Aix pot trigar molt si el sistema de fitxers s molt gran... check_done=...Fet. check_rgroup=grup check_ruser=usuari cgroup_efail=No he pogut copiar les quotes cgroup_ecannot=No pots copiar quotes cgroup_egallow=No tens perms per copiar les quotes d'aquest grup cgroup_enogroup=No ha cap grup de destinaci cgroup_eallowto=No tens perms per copiar quotes a '$1' cgform_title=Cpia de Quotes cgform_return=a la quota de grup cgform_ecannot=No pots copiar quotes cgform_egroup=No tens perms per copiar les quotes d'aquest grup cgform_copyto=Copia les quotes de $1 de TOTS els sistemes de fitxers a... cgform_all=Tots els grups del sistema cgform_select=Grups seleccionats cgform_contain=Grups que contenen els usuaris cgform_doit=Copia cuser_efail=No he pogut copiar les quotes cuser_ecannot=No pots copiar quotes cuser_euallow=No tens perms per copiar les quotes d'aquest usuari cuser_enouser=No ha cap usuari de destinaci cuser_eallowto=No tens perms per copiar quotes a '$1' cuform_title=Cpia de Quotes cuform_return=a la quota d'usuari cuform_ecannot=No pots copiar quotes cuform_euallow=No tens perms per copiar les quotes d'aquest usuari cuform_copyto=Copia les quotes de $1 de TOTS els sistemes de fitxers a... cuform_all=Tots els usuaris del sistema cuform_select=Usuaris seleccionats cuform_members=Membres dels grups seleccionats cuform_doit=Copia egroup_title=Edici de Quota egroup_freturn=llista de sistemes de fitxers egroup_greturn=llista de grups egroup_eallowgr=No tens perms per editar les quotes de '$1' egroup_eallowfs=No tens perms per editar les quotes d'aquest sistema de fitxers egroup_quotas=Quota de $1 a $2 egroup_bused=Blocs Utilitzats egroup_kused=Kilobytes Utilitzats egroup_sblimit=Lmit Lax de nlock egroup_hblimit=Lmit Estricte de nlock egroup_sklimit=Lmit Lax de kilobytes egroup_hklimit=Lmit Estricte de kilobytes egroup_fused=Fitxers emprats egroup_sflimit=Lmit Lax de fitxer egroup_hflimit=Lmit Estricte de fitxer egroup_update=Actualitza egroup_listall=Llista totes les Quotes euser_title=Edici de Quota euser_freturn=llista de sistemes de fitxers euser_ureturn=llista d'usuaris euser_eallowus=No tens perms per editar les quotes de '$1' euser_eallowfs=No tens perms per editar les quotes d'aquest sistema de fitxers euser_quotas=Quota de $1 a $2 euser_bused=Blocs utilitzats euser_kused=Kilobytes utilitzats euser_bdisk=Blocs disponibles al disc euser_kdisk=Kilobytes disponibles al disc euser_sdisk=Espai disponible al disc euser_sblimit=Lmit Lax de blocs euser_hblimit=Lmit Estricte de blocs euser_sklimit=Lmit Lax de kilobytes euser_hklimit=Lmit Estricte de kilobytes euser_fused=Fitxers emprats euser_fdisk=Fitxers disponibles al disc euser_sflimit=Lmit Lax de fitxers euser_hflimit=Lmit Estricte de fitxers euser_update=Actualitza euser_listall=Llista Totes les Quotes gfilesys_title=Quotes de Grup gfilesys_return=a la llista de sistemes de fitxers gfilesys_ecannot=No pots editar les quotes de '$1' gfilesys_all=Totes les Quotes de $1 gfilesys_blocks=Blocs gfilesys_kbs=Kilobytes gfilesys_space=Espai en disc gfilesys_files=Fitxers gfilesys_fs=Sistema de fitxers gfilesys_used=Usat gfilesys_soft=Lmit Lax gfilesys_hard=Lmit Estricte gfilesys_nogquota=El grup $1 no t quotes a cap sistema de fitxers gfilesys_edit=Edita la Quota a: gfilesys_copy=Copia les Quotes ggracef_title=Perodes de Grcia ggracef_return=a la llista de grups ggracef_ecannot=No pots editar els perodes de grcia en aquest sistema de fitxers ggracef_info=Cada sistema de fitxers t un periode de grcia per a les quotes de blocs i fitxers. El periode de grcia determina quant temps pot estar un grup per damunt del lmit de programari abans no se li permeti de seguir creant fitxers. ggracef_graces=Perodes de Grcia de Grup de $1 ggracef_block=De la quota de blocs ggracef_file=De la quota de fitxers ggracef_update=Actualitza ggraces_esave=No he pogut desar els perodes de grcia ggraces_eedit=No pots editar els perodes de grcia d'aquest sistema de fitxers ggraces_enumber='$1' no s un nmero index_quser=Quotes d'Usuari index_qgroup=Quotes de Grup index_qboth=Quotes d'Usuari i Grup index_active=Activa index_disable=Desactiva les Quotes index_inactive=Inactiva index_enable=Activa les Quotes index_mountonly=Noms es pot activar en muntar index_title=Quotes de Disc index_fs=Sistema de fitxers index_type=Tipus index_mount=Muntat des de index_status=Estat index_action=Acci index_return=a l'ndex index_euser=Edita les Quotes d'Usuari: index_egroup=Edita les Quotes de Grup: index_nosupport=No hi ha cap sistema de fitxers local que suporti quotes. index_mountmod=Pots activar les quotes d'un sistema de fitxers al mdul Sistemes de Fitxers en Xarxa i Disc. lgroups_failed=No he pogut llistar els grups lgroups_eallow=No tens perms per editar les quotes d'aquest sistema de fitxers lgroups_title=Quotes de Sistema de Fitxers lgroups_return=a la llista de sistemes de fitxers lgroups_toomany=Hi ha massa grups amb quotes a $1 per mostrar-los en una sola pgina lgroups_quotas=Totes les quotes de grups de $1 lgroups_blocks=Blocs lgroups_kbs=Kilobytes lgroups_space=Espai en disc lgroups_files=Fitxers lgroups_group=Grup lgroups_used=Usat lgroups_soft=Lmit Lax lgroups_hard=Lmit Estricte lgroups_noquota=No hi cap grup amb quotes a $1 lgroups_equota=Edita la Quota de: lgroups_grace=Edita els Perodes de Grcia lgroups_check=Comprova les Quotes lgroups_info=Webmin es pot configurar per tal d'establir automticament quotes en aquest sistema de fitxers quan es crea un nou grup Unix. Aix noms funcionar quan s'utilitzi el mdul $1 de Webmin per afegir grups. lgroups_newgroup=Quotes de Nou Grup lgroups_mass=Actualitza els Grups Seleccionats lgroups_to=Destinaci del correu lgroups_tosame=Bstia amb el mateix nom del grup lgroups_tofixed=Adrea $1 lgroups_emailheader=Envia correu als grups que s'acostin a la quota lgroups_email=Envia correu als grups lgroups_tovirt=Propietari del domini de Virtualmin sgroup_egroup=No tens perms per editar les quotes d'aquest grup sgroup_efs=No tens perms per editar les quotes d'aquest sistema de fitxers ssync_ecannot=No tens perms per establir la quota per defecte d'aquest sistema de fitxers suser_euser=No tens perms per editar les quotes d'aquest usuari suser_efs=No tens perms per editar les quotes d'aquest sistema de fitxers suser_emaxblocks=No tens perms per concedir lmits de blocs per sobre de $1 suser_emaxfiles=No tens perms per concedir lmits de fitxers per sobre de $1 ufilesys_title=Quotes d'Usuari ufilesys_return=a la llista de sistemes de fitxers ufilesys_ecannot=No pots editar les quotes de '$1' ufilesys_all=Totes les Quotes de $1 ufilesys_blocks=Blocs ufilesys_kbs=Kilobytes ufilesys_space=Espai en disc ufilesys_files=Fitxers ufilesys_fs=Sistema de fitxers ufilesys_used=Usat ufilesys_soft=Lmit Lax ufilesys_hard=Lmit Estricte ufilesys_nouquota=L'usuari $1 no t quotes a cap sistema de fitxers ufilesys_edit=Edita la Quota de: ufilesys_copy=Copia les Quotes ufilesys_grace=Grcia ugracef_title=Perodes de Grcia ugracef_return=a la llista d'usuaris ugracef_ecannot=No pots editar els perodes de grcia d'aquest sistema de fitxers ugracef_info=Cada sistema de fitxers t un periode de grcia per a les quotes de blocs i fitxers. El periode de grcia determina quant temps pot estar un usuari per damunt del lmit de programari abans no se li permeti de seguir creant fitxers. ugracef_graces=Perodes de Grcia d'Usuari de $1 ugracef_block=De la quota de blocs ugracef_file=De la quota de fitxers ugracef_update=Actualitza ugraces_esave=No he pogut desar els perodes de grcia ugraces_eedit=No pots editar els perodes de grcia d'aquest sistema de fitxers ugraces_enumber='$1' no s un nmero lusers_failed=No he pogut llistar els usuaris lusers_eallow=No tens perms per editar les quotes d'aquest sistema de fitxers lusers_title=Quotes de Sistema de Fitxers lusers_return=a la llista de sistemes de fitxers lusers_toomany=Hi ha massa usuaris amb quotes a $1 per mostrar-los en una sola pgina lusers_qoutas=Totes les quotes d'usuaris de $1 lusers_bsize=Mida de bloc de la quota: $1 bytes lusers_blocks=Blocs lusers_kbs=Kilobytes lusers_space=Espai en disc lusers_files=Fitxers lusers_user=Usuari lusers_used=Usat lusers_soft=Lmit Lax lusers_hard=Lmit Estricte lusers_grace=Grcia lusers_noquota=No hi ha cap usuari amb quotes a $1 lusers_equota=Edita la Quota de: lusers_egrace=Edita els Perodes de Grcia lusers_check=Comprova les Quotes lusers_info=Webmin es pot configurar per establir automticament les quotes d'aquest sistema de fitxers quan es crea un nou usuari Unix. Aix funcionar noms quan es faci servir el mdul $1 de Webmin per afegir usuaris. lusers_useradmin=Usuaris i Grups lusers_newuser=Noves Quotes d'Usuari lusers_sblimit=Lmit lax lusers_hblimit=Lmit estricte lusers_sflimit=Lmit lax de fitxers lusers_hflimit=Lmit estricte de fitxers lusers_pc_hblocks=% estricte lusers_pc_sblocks=% lax lusers_apply=Aplica lusers_emailheader=Envia correu als usuaris que s'acostin a la quota lusers_email=Envia correu a tots els usuaris lusers_interval=Interval entre missatges lusers_hours=hores lusers_ltype=Tipus de lmit lusers_percent=Avisa quan l's arribi a lusers_domain=Domini de les adreces d'usuari luser_virtualmin=Obtingues el domini de Virtualmin lusers_from=Adrea From: del correu lusers_mass=Actualitza els Usuaris Seleccionats lusrs_cc=Fes tamb Cc: a lusers_nocc=No facis Cc grace_seconds=Segons grace_minutes=Minuts grace_hours=Hores grace_days=Dies grace_weeks=Setmanes grace_months=Mesos log_activate_u=He activat les quotes d'usuari a $1 log_activate_g=He activat les quotes de grup a $1 log_activate_ug=He activat les quotes d'usuari i grup a $1 log_deactivate_u=He desactivat les quotes d'usuari a $1 log_deactivate_g=He desactivat les quotes de grup a $1 log_deactivate_ug=He desactivat les quotes d'usuari i grup a $1 log_save=He canviat les quotes de $1 a $2 log_sync=He canviat les noves quotes d'usuari a $1 log_email_user=Canvia les opcions de correu de l'usuari a $1 log_email_group=Canvia les opcions de correu del grup a $1 log_gsync=He canviat les quotes dels grups nous a $1 log_grace_u=He canviat els perodes de grcia d'usuari a $1 log_grace_g=He canviat els perodes de grcia de grup a $1 log_check=He comprovat les quotes de $1 log_copy_u=He copiat les quotes de l'usuari $1 log_copy_g=He copiat les quotes del grup $1 email_err=No he pogut desar les opcions de correu email_ecannot=No tens perms per modificar les opcions de correu email_einterval=Hi falta l'interval o b s invlid email_epercent=Hi falta el percentatge d's o b s invlid email_edomain=Hi falta el domini de correu o b s invlid email_efrom=Hi falta l'adrea From: o b s invlida email_ecc=hi falta l'adrea Cc: o b s invlida email_msg=L's del disc per part de l'usuari $1 al sistema de fitxers $2\nha ats el $3% de la quota permesa.\n\nS'estan utilitzant $4 de l'espai en disc d'un total de $5. gemail_msg=L's de disc del grup $1 al sistema de fitxers $2 ha ats el $3% de la \nquota permesa.\n\nS'est utilitzant $4 de l'espi en disc, d'un mxim de $5. email_subject=S'ha excedit la quota de disc gemail_subject=S'ha excedit la quota de disc email_eto=Hi falta l'adrea de destinaci umass_title=Actualitzaci de Quotes d'Usuari umass_header=Canvis de la quota a aplicar als usuaris seleccionats umass_sblocks=Lmit lax de bloc umass_hblocks=Lmit estricte de bloc umass_sfiles=Lmit lax de fitxers umass_hfiles=Lmit estricte de fitxers umass_leave=Deixa-ho sense canvis umass_unlimited=Posa-ho a illimitat umass_set=Posa-ho a umass_ok=Actualitza els usuaris umass_esblocks=Hi falta el lmit lax de bloc o b s invlid umass_ehblocks=Hi falta el lmit estricte de bloc o b s invlid umass_esfiles=Hi falta el lmit lax de fitxers o b s invlid umass_ehfiles=Hi falta el lmit estricte de fitxers o b s invlid umass_count=Els canvis de sota s'aplicaran als $1 usuaris seleccionats... umass_err=No he pogut actualitzar les quotes d'usuari gmass_title=Actualitzaci de Quotes de Grup gmass_header=Canvis de la quota a aplicar als grups seleccionats gmass_count=Els canvis de sota s'aplicaran als $1 grups seleccionats... gmass_ok=Actualitza els Grups gmass_err=No he pogut actualitzar les quotes de grup quota/lang/da0000644000567100000120000003203711140674062013125 0ustar jcameronwheelacl_email=Kan opsætte email beskeder? acl_fall=Alle filsystemer acl_fsel=Valgte.. acl_fss=Filsystemer som denne bruger kan redigere acl_gall=Alle grupper acl_gexcept=Alle undtagen grupper acl_ggrace=Kan redigere gruppe frist tider? acl_gnone=Ingen grupper acl_gonly=Kun grupper acl_gquota=Grupper som denne bruger kan redigere kvoter for acl_maxblocks=Maksimal tilladelig blok kvote acl_maxfiles=Maksimal tilladelig filkvote acl_quotanew=Kan konfigurere kvoter for nye brugere? acl_quotaon=Kan aktivere og deaktivere kvoter? acl_ro=Kan kun se kvoter, ikke redigere? acl_uall=Alle brugere acl_uexcept=Alle undtagen brugere acl_ugrace=Kan redigere bruger frist tider? acl_ugroup=Brugere med primær gruppe acl_unlimited=Ubegrænset acl_uonly=Kun brugere acl_uquota=Brugere som denne bruger kan redigere kvoter for acl_uuid=Bruger med UID i området acl_vtotal=Kan se total diskplads activate_eallow=Du har ikke tilladelse til at aktivere eller deaktivere kvoter på dette filsystem activate_eoff=Kunne ikke slå kvoter fra activate_eon=Kunne ikke slå kvoter til cgform_all=Alle grupper på dit system cgform_contain=Grupper indeholdende brugere cgform_copyto=Kopier kvotaer for $1 på ALLE filsystemer til ... cgform_doit=Kopier cgform_ecannot=Du kan ikke kopiere kvoter cgform_egroup=Du har ikke tilladelse til at kopiere kvoter fra denne gruppe cgform_return=gruppekvote cgform_select=Valgte grupper cgform_title=Kopier Kvoter cgroup_eallowto=Du har ikke tilladelse til at kopiere kvoter til '$1' cgroup_ecannot=Du kan ikke kopiere kvoter cgroup_efail=Kunne ikke kopiere kvoter cgroup_egallow=Du har ikke tilladelse til at kopiere kvoterne fra denne gruppe cgroup_enogroup=Ingen grupper at kopiere til check_done=... Færdig. check_ecannot=Du kan ikke tjekke kvoter på dette filsystem check_return=$1 list check_rgroup=gruppe check_running=Kommandoen kvotatjek køres nu for at tjekke blok of fil forbruget på $1. Dette kan tage lang tid for et meget stort filsystem... check_ruser=bruger check_title=Tjek Kvoter cuform_all=Alle bruger på dit system cuform_copyto=Kopier kvoter for $1 på ALLE filsystemer til ... cuform_doit=Kopier cuform_ecannot=Du kan ikke kopere kvoter cuform_euallow=Du har ikke tilladelse til at kopiere kvoterne for denne bruger cuform_members=Medlemmer af valgte grupper cuform_return=brugerkvote cuform_select=Valgte brugere cuform_title=Kopier kvoter cuser_eallowto=Du har ikke tilladelese til at kopiere kvoter til '$1' cuser_ecannot=Du kan ikke kopere kvoter cuser_efail=Kunne ikke kopiere kvoter cuser_enouser=Ingen brugere at kopiere til cuser_euallow=Du har ikke tilladelse til at kopiere kvoterne for denne bruger egroup_bused=Brugte blokke egroup_eallowfs=Du har ikke tilladelse til at rediger kvoter på dette filsystem egroup_eallowgr=Du har ikke tilladelse til at redigere kvoter for '$1' egroup_freturn=filsystem liste egroup_fused=Brugte filer egroup_greturn=gruppeliste egroup_hblimit=Hård nlock grænse egroup_hflimit=Hård filgrænse egroup_hklimit=Hård kilobyte grænse egroup_kused=Brugte kilobyte egroup_listall=List alle kvoter egroup_quotas=Kvote for $1$2 egroup_sblimit=Blød nlock grænse egroup_sflimit=Blød filgrænse egroup_sklimit=Blød kilobyte grænse egroup_title=Rediger kvote egroup_update=Opdater email_ecannot=Du har ikke tilladelse til at redigere email indstillinger email_edomain=Manglende eller ugyldig mail domæne email_efrom=Manglende eller ugyldig fra: adresse email_einterval=Manglende eller ugyldigt interval email_epercent=Manglende eller ugyldig bruger procent email_err=Kunne ikke gemme email indstillinger email_eto=Manglende email modtager adresse email_msg=Disk forbrug for $1 på filsystem $2 har nået $3% af den\ntilladte kvote.\n\n$4 af diskplads er brugt, ud af et maksimum på $5. email_subject=Diskkvote overskredet euser_bdisk=Tilgængelige blokke på disk euser_bused=Brugte blokke euser_eallowfs=Du har ikke tilladelse til at redigere kvoter på dette filsystem euser_eallowus=Du har ikke tilladelse til at redigere kvoter for '$1' euser_fdisk=Tilgængelige filer på disk euser_freturn=filsystem liste euser_fused=Filer brugt euser_hblimit=Hård blok grænse euser_hflimit=Hård fil grænse euser_hklimit=Hård kilobyte grænse euser_kdisk=Tilgængelige kilobyte på disk euser_kused=Kliobyte brugt euser_listall=Liste alle kvoter euser_quotas=Kvote for $1$2 euser_sblimit=Blød blok grænse euser_sdisk=Tilgængelig plads på disk euser_sflimit=Blød fil grænse euser_sklimit=Blød kilobyte grænse euser_title=Rediger kvoter euser_update=Opdater euser_ureturn=brugerliste gemail_msg=Disk forbrug for gruppe $1 på filsystem $2 har nået $3% af den\ntilladte kvote.\n\n$4 af diskpladsen er brugt, ud af et maksimum på $5. gemail_subject=Diskkvoter overskredet gfilesys_all=Alle kvoter for $1 gfilesys_blocks=Blokke gfilesys_copy=Kopier kvoter gfilesys_ecannot=Du kan ikke redigere kvoter for '$1' gfilesys_edit=Rediger kvoter på: gfilesys_files=Filer gfilesys_fs=Filsystem gfilesys_hard=Hård grænse gfilesys_kbs=Kilobyte gfilesys_nogquota=Gruppe $1 har ikke kvoter på noget filsystem gfilesys_return=filsystemsliste gfilesys_soft=Blød grænse gfilesys_space=Diskplads gfilesys_title=Gruppe kvoter gfilesys_used=Bruger ggracef_block=For blok kvote ggracef_ecannot=Du kan ikke redigere frist tider på dette filsystem ggracef_file=For fil kvote ggracef_graces=Gruppe frist tider for $1 ggracef_info=Hvert filsystem har en tidsfrist for blok og filgrænser. Tidsfristen bestemmer hvor længe en gruppe kan forblive over den bløde grænse inden der ikke kan oprettes flere filer. ggracef_return=gruppeliste ggracef_title=Tidsfrister ggracef_update=Opdater ggraces_eedit=Du kan ikke redigere tidsfrister for dette filsystem ggraces_enumber='$1' er ikke et tal ggraces_esave=Kunne ikke gemme tidsfrister gmass_count=Ændringerne nedenunder anvendes på $1 valgte grupper .. gmass_err=Kunne ikke opdatere gruppe kvoter gmass_header=Kvoteændringer der skal anvendes på valgte grupper gmass_ok=Opdater grupper gmass_title=Opdater gruppe kvoter grace_days=Dage grace_hours=Timer grace_minutes=Minutter grace_months=Måneder grace_seconds=Sekunder grace_weeks=Uger index_action=Handling index_active=Aktiv index_disable=Deaktiver kvoter index_egroup=Rediger gruppe kvoter: index_enable=Aktiver kvoter index_euser=Rediger bruger kvoter: index_fs=Filsystem index_inactive=Inaktiv index_mount=Monteret fra index_mountmod=Du kan aktivere kvoter for et filsystem i modulet Disk og netværk filsystemer. index_mountonly=Kan kun aktivere ved montering index_nosupport=Intet lokalt filsystem kan understøtte kvoter. index_qboth=Bruger og gruppe kvoter index_qgroup=Gruppe kvoter index_quser=Bruger kvoter index_return=indeks index_status=Status index_title=Disk kvoter index_type=Type lgroups_blocks=Blokke lgroups_check=Tjek kvoter lgroups_eallow=Du har ikke tilladelse til at redigere kvoter på dette filsystem lgroups_email=Send email til gruppe? lgroups_emailheader=Email til grupper der nærmer sig kvote lgroups_equota=Rediger kvote for: lgroups_failed=Kunne ikke liste grupper lgroups_files=Filer lgroups_grace=Rediger tidsfrister lgroups_group=Gruppe lgroups_hard=Hård grænse lgroups_info=Webmin kan konfigureres til at sætte kvoter på dette filsystem automatisk når en ny Unix gruppe oprettes. Det virker kun hvis Webmin modulet $1 bliver brugt til at tilføje grupper. lgroups_kbs=Kilobyte lgroups_mass=Opdater valgte grupper lgroups_newgroup=Nye gruppe kvoter lgroups_noquota=Ingen grupper har kvoter på $1 lgroups_quotas=Alle gruppe kvoter på $1 lgroups_return=filsystemsliste lgroups_soft=Blød grænse lgroups_space=Diskplads lgroups_title=Filsystemskvoter lgroups_to=Email modtager lgroups_tofixed=Adresse $1 lgroups_toomany=For mange grupper har kvoter på $1 til at de kan vises på en side lgroups_tosame=Mailboks med samme navn som gruppe lgroups_tovirt=Virtualmin domæne ejer lgroups_used=Brugt log_activate_g=Aktiver gruppe kvoter på $1 log_activate_u=Aktiver bruger kvoter på $1 log_activate_ug=Aktiver bruger og gruppe kvoter på $1 log_check=Tjekkede kvoter på $1 log_copy_g=Kopiered gruppe $1's kvoter log_copy_u=Kopierede bruger $1's kvoter log_deactivate_g=Deaktivered gruppe kvoter på $1 log_deactivate_u=Deaktivered bruger kvoter på $1 log_deactivate_ug=Deaktiverede bruger og gruppe kvoter på $1 log_email_group=Skift gruppe email indstillinger på $1 log_email_user=Skift bruger email indstillinger på $1 log_grace_g=Skiftede gruppe tidsfrister på $1 log_grace_u=Skiftede bruger tidsfrister på $1 log_gsync=Skiftede nye gruppe kvoter på $1 log_save=Skiftede kvoter for $1 på $2 log_sync=Skiftede ny bruger kvoter på $1 luser_virtualmin=Få domæne fra Virtualmin? lusers_apply=Anvend lusers_blocks=Blokke lusers_bsize=Kvote blok størrelse : $1 byte lusers_check=Tjek kvoter lusers_domain=Domæne for bruger adresser lusers_eallow=Du har ikke tilladelse til at redigere kvoter på dette filsystem lusers_egrace=Rediger tidsfrister lusers_email=Send email til brugere? lusers_emailheader=Email til brugere der nærmer sig kvote lusers_equota=Rdiger kvote for: lusers_failed=Kunne ikke liste brugere lusers_files=Filer lusers_from=Fra : adresse for email lusers_grace=Frist lusers_hard=Hård grænse lusers_hblimit=Hård grænse lusers_hflimit=Hård filgrænse lusers_hours=timer lusers_info=Webmin kan konfigureres til at sætte kvoter på dette filsystem automatisk når en ny Unix bruger oprettes. Dette virker kun hvis Webmin modulet $1 bruges til at tilføje brugere. lusers_interval=Interval mellem beskeder lusers_kbs=Kilobyte lusers_ltype=Grænse type lusers_mass=Opdater valgte brugere lusers_newuser=Ny bruger kvoter lusers_noquota=Ingen brugere har kvoter på $1 lusers_pc_hblocks=Hård % lusers_percent=Advar når forbrug når lusers_qoutas=Alle bruger kvoter på $1 lusers_return=filsystemsliste lusers_sblimit=Blød grænse lusers_sflimit=Blød filgrænse lusers_soft=Blød grænse lusers_space=Diskplads lusers_title=Filsystemskvoter lusers_toomany=For mange brugere har kvoter på $1 til at de kan vises på en side lusers_used=Brugt lusers_user=Bruger lusers_useradmin=Brugere og grupper quota_unlimited=Ubegrænset sgroup_efs=Du har ikke tilladelse til at redigere kvoter på dette filsystem sgroup_egroup=Du har ikke tilladelse til at redigere kvoter for denne gruppe ssync_ecannot=Du kan ikke sætte standard kvote for dette filsystem suser_efs=Du har ikke tilladelse til at redigere kvoter på dette filsystem suser_emaxblocks=Du har ikke tilladelse til at give blok størrelse over $1 suser_emaxfiles=Du har ikke tilladelse til at give filgrænser over $1 suser_euser=Du har ikke tilladelse til at redigere kvoter for denne bruger ufilesys_all=Alle kvoter for $1 ufilesys_blocks=Blokke ufilesys_copy=Kopier kvoter ufilesys_ecannot=Du kan ikke redigere kvoter for '$1' ufilesys_edit=Rediger kvote på: ufilesys_files=Filer ufilesys_fs=Filsystem ufilesys_grace=Frist ufilesys_hard=Hård grænse ufilesys_kbs=Kilobyte ufilesys_nouquota=Bruger $1 har ikke kvoter på noget filsystem ufilesys_return=filsystemsliste ufilesys_soft=Blød grænse ufilesys_space=Diskplads ufilesys_title=Bruger kvoter ufilesys_used=Brugt ugracef_block=For blok kvote ugracef_ecannot=Du kan ikke rediger tidsfrister på dette filsystem ugracef_file=For fil kvoter ugracef_graces=Bruger tidsfrister for $1 ugracef_info=Hvert filsystem har en tidsfrist for blok og filgrænser. Denne tidsfrist bestemmer hvor længe hver bruger kan forblive over den bløde grænse inden der ikke kan oprettes flere filer. ugracef_return=brugerliste ugracef_title=Tidsfrister ugracef_update=Opdater ugraces_eedit=Du kan ikke redigere tidsfrister på dette filsystem ugraces_enumber='$2' er ikke et tal ugraces_esave=Kunne ikke gemme tidsfrister umass_count=Ændringerne nedenunder vil gælde for $1 brugere .. umass_ehblocks=Manglende eller ugyldig hård blok grænse umass_ehfiles=Manglende eller ugyldig hård filgrænse umass_err=Kunne ikke opdatere bruger kvoter umass_esblocks=Manglende eller ugyldig blød blok grænse umass_esfiles=Manglende eller ugyldig blød fil grænse umass_hblocks=Hård blok grænse umass_header=Kvote ændringer der skal anvendes på valgte brugere umass_hfiles=Hårde filgrænser umass_leave=Efterlad uændret umass_ok=Opdater brugere umass_sblocks=Blød blok grænse umass_set=Sæt til umass_sfiles=Blød fil grænse umass_title=Opdater bruger kvoter umass_unlimited=Sæt til ubegrænset quota/lang/sv0000644000567100000120000002044711140674062013173 0ustar jcameronwheelquota_unlimited=Obegrnsad acl_fss=Filsystem som denna anvndare fr ndra i acl_fall=Alla filsystem acl_fsel=Angivna ... acl_quotaon=Kunna sl p och av quota? acl_quotanew=Kunna stlla in quota fr nya anvndare? acl_ugrace=Kunna ndra tidsintervall fr anvndare? acl_vtotal=Kunna se totalt diskutrymme? acl_ggrace=Kunna ndra tidsintervall fr grupper? acl_uquota=Anvndare som denna anvndare fr ndra quota fr acl_gquota=Grupper som denna anvndare fr ndra quota fr acl_uall= Alla anvndare acl_uonly= Endast anvndarna acl_uexcept= Alla anvndare utom acl_ugroup= Anvndare med primr grupp acl_gall= Alla grupper acl_gnone= Inga grupper acl_gonly= Endast grupperna acl_gexcept= Alla grupper utom activate_eallow=Du fr inte sl p och av quota p detta filsystem activate_eon=Det gick inte att sl p quota activate_eoff=Det gick inte att sl av quota check_title=Kontrollera quota check_return=Lista ver $1 check_ecannot=Du fr inte kontrollera quota p detta filsystem check_running=Kommandot quotacheck krs nu fr att kontrollera block- och filanvndningen p $1. Om det r ett stort filsystem kan detta ta en stund ... check_done=... Klart. check_rgroup=grupp check_ruser=anvndare cgroup_efail=Det gick inte att kopiera quota cgroup_ecannot=Du fr inte kopiera quota cgroup_egallow=Du fr inte kopiera denna grupps quota cgroup_enogroup=Du har inte angivit ngon grupp att kopiera till cgroup_eallowto=Du fr inte kopiera quota till '$1' cgform_title=Kopiera quota cgform_return=gruppquota cgform_ecannot=Du fr inte kopiera quota cgform_egroup=Du fr inte kopiera denna grupps quota cgform_copyto=Kopiera quota fr $1 p ALLA filsystem till ... cgform_all=Alla grupper p ditt system cgform_select=Angivna grupper cgform_contain=Grupper med fljande anvndare cgform_doit=Kopiera cuser_efail=Det gick inte att kopiera quota cuser_ecannot=Du fr inte kopiera quota cuser_euallow=Du fr inte kopiera denna anvndares quota cuser_enouser=Du har inte angivit ngon anvndare att kopiera till cuser_eallowto=Du fr inte kopiera quota till '$1' cuform_title=Kopiera quota cuform_return=anvndarquota cuform_ecannot=Du fr inte kopiera quota cuform_euallow=Du fr inte kopiera denna anvndares quota cuform_copyto=Kopiera quota fr $1 p ALLA filsystem till ... cuform_all=Alla anvndare p ditt system cuform_select=Angivna anvndare cuform_members=Medlemmar i angivna grupper cuform_doit=Kopiera egroup_title=ndra quota egroup_freturn=filsystemslista egroup_greturn=grupplista egroup_eallowgr=Du fr inte ndra quota fr '$1' egroup_eallowfs=Du fr inte ndra quota p detta filsystem egroup_quotas=Quota fr $1 p $2 egroup_bused=Anvnda block egroup_sblimit=Mjuk blockgrns egroup_hblimit=Hrd blockgrns egroup_fused=Anvnda filer egroup_sflimit=Mjuk filgrns egroup_hflimit=Hrd filgrns egroup_update=Uppdatera egroup_listall=Lista alla quota euser_title=ndra quota euser_freturn=filsystemslista euser_ureturn=anvndarlista euser_eallowus=Du fr inte ndra quota fr '$1' euser_eallowfs=Du fr inte ndra quota p detta filsystem euser_quotas=Quota fr $1 p $2 euser_bused=Anvnda block euser_sblimit=Mjuk blockgrns euser_hblimit=Hrd blockgrns euser_fused=Anvnda filer euser_sflimit=Mjuk filgrns euser_hflimit=Hrd filgrns euser_update=Uppdatera euser_listall=Lista alla quota gfilesys_title=Gruppquota gfilesys_return=filsystemslista gfilesys_ecannot=Du fr inte ndra quota fr '$1' gfilesys_all=Alla quota fr gfilesys_blocks=Block gfilesys_files=Filer gfilesys_fs=Filsystem gfilesys_used=Anvnda gfilesys_soft=Mjuk grns gfilesys_hard=Hrd grns gfilesys_nogquota=Gruppen $1 har ingen quota p ngot filsystem gfilesys_edit=ndra quota p: gfilesys_copy=Kopiera quota ggracef_title=Tidsintervall ggracef_return=grupplista ggracef_ecannot=Du fr inte ndra tidsintervall p detta filsystem ggracef_info=Varje filsystem har ett tidsintervall fr block- och filquota. Detta tidsintervall anger hur lnge en grupp fr verskrida sin mjuka grns innan den hindras att skapa fler filer. ggracef_graces=Grupptidsintervall fr $1 ggracef_block=Fr blockquota ggracef_file=Fr filquota ggracef_update=Uppdatera ggraces_esave=Det gick inte att spara tidsintervall ggraces_eedit=Du fr inte ndra tidsintervall p detta filsystem ggraces_enumber='$1' r inte ett antal index_quser=Anvndarquota index_qgroup=Gruppquota index_qboth=Anvndar- och gruppquota index_active=Aktiv index_disable=Sl av quota index_inactive=Inaktiv index_enable=Sl p quota index_title=Diskquota index_fs=Filsystem index_type=Typ index_mount=Monterad frn index_status=Status index_action=Funktion index_return=index index_euser=ndra anvndarquota: index_egroup=ndra gruppquota: index_nosupport=Inget lokalt filsystem stdjer quota lgroups_failed=Det gick inte att lista grupper lgroups_eallow=Du fr inte ndra quota p detta filsystem lgroups_title=Filsystemsquota lgroups_return=filsystemslista lgroups_toomany=Det r fr mnga grupper som har quota p $1 fr att det ska g att visa p en sida lgroups_quotas=Alla gruppquota p $1 lgroups_blocks=Block lgroups_files=Filer lgroups_group=Grupp lgroups_used=Anvnd lgroups_soft=Mjuk grns lgroups_hard=Hrd grns lgroups_noquota=Ingen grupp har quota p $1 lgroups_equota=ndra quota fr: lgroups_grace=ndra tidsintervall lgroups_check=Kontrollera quota sgroup_egroup=Du fr inte ndra quota fr denna grupp sgroup_efs=Du fr inte ndra quota p detta filsystem ssync_ecannot=Du fr inte stlla in standardquota fr detta filsystem suser_euser=Du fr inte ndra quota fr denna anvndare suser_efs=Du fr inte ndra quota p detta filsystem ufilesys_title=Anvndarquota ufilesys_return=filsystemslista ufilesys_ecannot=Du fr inte ndra quota fr '$1' ufilesys_all=All quota fr $1 ufilesys_blocks=Block ufilesys_files=Filer ufilesys_fs=Filsystem ufilesys_used=Anvnd ufilesys_soft=Mjuk grns ufilesys_hard=Hrd grns ufilesys_nouquota=Anvndare $1 har ingen quota p ngot filsystem ufilesys_edit=ndra quota p: ufilesys_copy=Kopiera quota ugracef_title=Tidsintervall ugracef_return=anvndarlista ugracef_ecannot=Du fr inte ndra tidsintervall p detta filsystem ugracef_info=Varje filsystem har ett tidsintervall fr block- och filquota. Detta tidsintervall anger hur lnge en anvndare fr verskrida sin mjuka grns innan den hindras att skapa fler filer. ugracef_graces=Anvndartidsintervall fr $1 ugracef_block=Fr blockquota ugracef_file=Fr filquota ugracef_update=Uppdatera ugraces_esave=Det gick inte att spara tidsintervall ugraces_eedit=Du fr inte ndra tidsintervall p detta filsystem ugraces_enumber='$1' r inte ett antal lusers_failed=Det gick inte att lista anvndare lusers_eallow=Du fr inte ndra quota p detta filsystem lusers_title=Filsystemsquota lusers_return=filsystemslista lusers_toomany=Det r fr mnga anvndare som har quota p $1 fr att det ska g att visa p en sida lusers_qoutas=All anvndarquota p $1 lusers_blocks=Block lusers_files=Filer lusers_user=Anvndare lusers_used=Anvnd lusers_soft=Mjuk grns lusers_hard=Hrd grns lusers_noquota=Ingen anvndare har quota p $1 lusers_equota=ndra quota fr: lusers_egrace=ndra tidsintervall lusers_check=Kontrollera quota lusers_info=Webmin kan stllas in att automatiskt stta quota p detta filsystem nr en ny Unix-anvndare skapas. Detta fungerar endast d Webmin-modulen $1 anvnds fr att lgga till anvndare. lusers_useradmin=Anvndare och grupper lusers_newuser=Quota fr nya anvndare lusers_sblimit=Mjuk blockgrns lusers_hblimit=Hrd blockgrns lusers_sflimit=Mjuk filgrns lusers_hflimit=Hrd filgrns lusers_apply=Ta i drift grace_seconds=Sekunder grace_minutes=Minuter grace_hours=Timmar grace_days=Dagar grace_weeks=Veckor grace_months=Mnader log_activate_u=Slog p anvndarquota p $1 log_activate_g=Slog p gruppquota p $1 log_activate_ug=Slog p anvndar- och gruppquota p $1 log_deactivate_u=Slog av anvndarquota $1 log_deactivate_g=Slog av gruppquota p $1 log_deactivate_ug=Slog av anvndar- och gruppquota p $1 log_save=ndrade quota fr $1 p $2 log_sync=ndrade quota fr nya anvndare p $1 log_grace_u=ndrade tidsintervall fr anvndare p $1 log_grace_g=ndrade tidsintervall fr grupper p $1 log_check=Kontrollerade quota p $1 log_copy_u=Kopierade anvndaren $1s quota log_copy_g=Kopierade gruppen $1s quota quota/lang/fr0000644000567100000120000003435711140674062013157 0ustar jcameronwheelacl_email=Peut configurer les notifications par courrier électronique ? acl_fall=Tous les systèmes de fichiers acl_fsel=Sélectionnés... acl_fss=Systèmes de fichiers que cet utilisateur peut modifier acl_gall=Tous les groupes acl_gexcept=Tous les groupes sauf acl_ggrace=Peut modifier les délais de grâce des groupes ? acl_gnone=Aucun goupe acl_gonly=Seulement les groupes acl_gquota=Groupes pour lesquels cet utilisateur peut modifier les quotas acl_maxblocks=Quota maximal de blocs qu'il est possible d'accorder acl_maxfiles=Quota maximal de fichiers qu'il est posible d'accorder acl_quotanew=Peut configurer les quotas des nouveaux utilisateurs ? acl_quotaon=Peut activer et désactiver les quotas ? acl_ro=Peut seulement voir les quotas, et non les modifier ? acl_uall=Tous les utilisateurs acl_uexcept=Tous les utilisateurs sauf acl_ugrace=Peut modifier les délais de grâce des utilisateurs ? acl_ugroup=Utilisateurs dans le groupe primaire acl_unlimited=Illimité acl_uonly=Seulement les utilisateurs acl_uquota=Utilisateurs pour lesquels cet utilisateur peut modifier les quotas acl_uuid=Utilisateurs ayant un UID dans l'intervalle acl_vtotal=Peut voir l'espace disque total ? activate_eallow=Vous n'êtes pas autorisé à activer ou désactiver les quotas sur ce système de fichiers activate_eoff=Impossible de désactiver les quotas activate_eon=Impossible d'activer les quotas cgform_all=Tous les groupes présents sur votre système cgform_contain=Groupes contenant des utilisateurs cgform_copyto=Copie des quotas de $1 sur TOUS les systèmes de fichiers en cours... cgform_doit=Copier cgform_ecannot=Vous ne pouvez pas copier les quotas cgform_egroup=Vous n'êtes pas autorisé à copier les quotas de ce groupe cgform_return=aux quotas de groupes cgform_select=Groupes sélectionnés cgform_title=Copie des quotas cgroup_eallowto=Vous n'êtes pas autorisé à copier les quotas dans '$1' cgroup_ecannot=Vous ne pouvez pas copier les quotas cgroup_efail=Échec de la copie des quotas cgroup_egallow=Vous n'êtes pas autorisé à copier les quotas de ce groupe cgroup_enogroup=Pas de groupes sur lesquels effectuer la copie check_done=... effectué. check_ecannot=Vous ne pouvez pas vérifier les quotas sur ce système de fichiers check_return=à la liste $1 check_rgroup=groupe check_running=La commande quotacheck va maintenant être exécutée pour vérifier l'utilisation des blocs et fichiers sur $1. Cette opération peut prendre du temps sur un système de fichiers très étendu... check_ruser=utilisateur check_title=Vérification des quotas cuform_all=Tous les utilisateurs présents sur votre système cuform_copyto=Copie des quotas de $1 sur TOUS les systèmes de fichiers en cours ... cuform_doit=Copier cuform_ecannot=Vous ne pouvez pas copier les quotas cuform_euallow=Vous n'êtes pas autorisé à copier les quotas de cet utilisateur cuform_members=Membres des groupes sélectionnés cuform_return=aux quotas utilisateur cuform_select=Utilisateurs sélectionnés cuform_title=Copie des quotas cuser_eallowto=Vous n'êtes pas autorisé à copier les quotas dans '$1' cuser_ecannot=Vous ne pouvez pas copier les quotas cuser_efail=Échec de la copie des quotas cuser_enouser=Pas d'utilisateurs vers lesquels effectuer la copie cuser_euallow=Vous n'êtes pas autorisé à copier les quotas de cet utilisateur egroup_bused=Blocs utilisés egroup_eallowfs=Vous n'êtes pas autorisé à modifier les quotas sur ce système de fichiers egroup_eallowgr=Vous n'êtes pas autorisé à modifier les quotas de '$1' egroup_freturn=à la liste des systèmes de fichiers egroup_fused=Fichiers utilisés egroup_greturn=à la liste des groupes egroup_hblimit=Limite de blocs dure egroup_hflimit=Limite de fichiers dure egroup_hklimit=Limite en kilo-octets dure egroup_kused=Kilo-octets utilisés egroup_listall=Répertorier tous les quotas egroup_quotas=Quota de $1 sur $2 egroup_sblimit=Limite de blocs douce egroup_sflimit=Limite de fichiers douce egroup_sklimit=Limite en kilo-octets douce egroup_title=Édition des quotas egroup_update=Mettre à jour email_ecannot=Vous n'êtes pas autorisé à modifier les options de courrier électronique email_edomain=Domaine de messagerie manquant ou invalide email_efrom=Adresse pour le champ De: manquante ou invalide email_einterval=Intervalle manquant ou invalide email_epercent=Pourcentage d'utilisation manquant ou invalide email_err=Impossible d'enregistrer les options de courrier électronique email_msg=L'utilisation d'espace disque pour l'utilisateur $1 sur le \n système de fichier $2 a atteint $3% du quota autorisé.\n\n $4 d'espace disque est utilisé, sur un maximum de $5. email_subject=Quota d'espace disque dépassé euser_bdisk=Blocs disponibles sur le disque euser_bused=Blocs utilisés euser_eallowfs=Vous n'êtes pas autorisé à modifier les quotas sur ce système de fichiers euser_eallowus=Vous n'êtes pas autorisé à modifier les quotas de '$1' euser_fdisk=Fichiers disponibles sur le disque euser_freturn=à la liste des systèmes de fichiers euser_fused=Fichiers utilisés euser_hblimit=Limite de blocs dure euser_hflimit=Limite de fichiers dure euser_hklimit=Limite en kilo-octets dure euser_kdisk=Kilo-octets disponibles sur le disque euser_kused=Kilo-octets utilisés euser_listall=Répertorier tous les quotas euser_quotas=Quota de $1 sur $2 euser_sblimit=Limite de blocs douce euser_sdisk=Espace disponible sur le disque euser_sflimit=Limite de fichiers douce euser_sklimit=Limite en kilo-octets douce euser_title=Édition des quotas euser_update=Mettre à jour euser_ureturn=à la liste des utilisateurs gfilesys_all=Tous les quotas de '$1' gfilesys_blocks=Blocs gfilesys_copy=Copier les quotas gfilesys_ecannot=Vous ne pouvez pas modifier les quotas de '$1' gfilesys_edit=Modifier les quotas sur : gfilesys_files=Fichiers gfilesys_fs=Système de fichiers gfilesys_hard=Limite dure gfilesys_kbs=Kilo-octets gfilesys_nogquota=Le groupe $1 n'a de quotas sur aucun système de fichiers gfilesys_return=à la liste des systèmes de fichiers gfilesys_soft=Limite douce gfilesys_space=Espace disque gfilesys_title=Quotas de groupe gfilesys_used=Utilisé ggracef_block=Pour les quotas de bloc ggracef_ecannot=Vous ne pouvez pas modifier les délais de grâce sur ce système de fichiers ggracef_file=Pour les quotas de fichier ggracef_graces=Délais de grâce du groupe pour $1 ggracef_info=Chaque système de fichiers a un délai de grâce pour les quotas de bloc et de fichier. Le délai de grâce détermine combien de temps un groupe peut rester au-dessus de la limite douce avant qu'il ne soit plus permis de créer un fichier. ggracef_return=à la liste des groupes ggracef_title=Délais de grâce ggracef_update=Mettre à jour ggraces_eedit=Vous ne pouvez pas modifier les délais de grâce sur ce système de fichiers ggraces_enumber='$1' n'est pas un nombre ggraces_esave=Échec de l'enregistrement des délais de grâce grace_days=Jours grace_hours=Heures grace_minutes=Minutes grace_months=Mois grace_seconds=Secondes grace_weeks=Semaines index_action=Action index_active=Actifs index_disable=Désactiver les quotas index_egroup=Modifier les quotas de groupe : index_enable=Activer les quotas index_euser=Modifier les quotas utilisateur : index_fs=Système de fichiers index_inactive=Inactifs index_mount=Monté à partir de index_mountmod=Vous pouvez activer les quotas pour un système de fichiers dans le module Systèmes de fichiers des disques et des réseaux. index_mountonly=Peut uniquement les activer au montage index_nosupport=Aucun système de fichiers local ne peut gérer les quotas. index_qboth=Quotas utilisateur et groupe index_qgroup=Quotas de groupe index_quser=Quotas utilisateur index_return=à l'index index_status=État index_title=Quotas de disque index_type=Type lgroups_blocks=Blocs lgroups_check=Vérifier les quotas lgroups_eallow=Vous n'êtes pas autorisé à modifier les quotas sur ce système de fichiers lgroups_equota=Modifier les quotas de : lgroups_failed=Impossible de répertorier les groupes lgroups_files=Fichiers lgroups_grace=Modifier les délais de grâce lgroups_group=Groupe lgroups_hard=Limite dure lgroups_info=Il est possible de configurer Webmin pour fixer automatiquement les quotas sur ce système de fichiers lors de la création d'un nouveau groupe Unix. Cela ne fonctionnera que si l'on utilise le module Webmin $1 pour ajouter des groupes. lgroups_kbs=Kilo-octets lgroups_newgroup=Quotas du nouveau groupe lgroups_noquota=Aucun groupe n'a de quotas sur $1 lgroups_quotas=Tous les quotas de groupe sur $1 lgroups_return=à la liste des systèmes de fichiers lgroups_soft=Limite douce lgroups_space=Espace disque lgroups_title=Quotas système de fichiers lgroups_toomany=Trop de groupes ont des quotas sur $1 pour les afficher sur une seule page lgroups_used=Utilisés log_activate_g=Activé les quotas de groupe sur $1 log_activate_u=Activé les quotas utilisateur sur $1 log_activate_ug=Activé les quotas utilisateur et groupe sur $1 log_check=Vérifié les quotas sur $1 log_copy_g=Copié les quotas du groupe $1 log_copy_u=Copié les quotas de l'utilisateur $1 log_deactivate_g=Désactivé les quotas de groupe sur $1 log_deactivate_u=Désactivé les quotas utilisateur sur $1 log_deactivate_ug=Désactivé les quotas utilisateur et groupe sur $1 log_email=Changé les options de courrier électronique sur $1 log_grace_g=Changé les délais de grâce de groupe sur $1 log_grace_u=Changé les délais de grâce utilisateur sur $1 log_gsync=Changé les quotas des nouveaux groupes sur $1 log_save=Changé les quotas de $1 sur $2 log_sync=Changé les quotas des nouveaux utilisateurs sur $1 lusers_apply=Appliquer lusers_blocks=Blocs lusers_bsize=Taille des blocs de quotas : $1 octet(s) lusers_check=Vérifier les quotas lusers_domain=Domaine des adresses utilisateur lusers_eallow=Vous n'êtes pas autorisé à modifier des quotas sur ce système de fichiers lusers_egrace=Modifier les délais de grâce lusers_email=Envoyer un message électronique aux utilisateurs ? lusers_emailheader=Message électronique aux utilisateurs approchant du quota lusers_equota=Modifier le quota de : lusers_failed=Impossible de répertorier les utilisateurs lusers_files=Fichiers lusers_from=Adresse De: pour le courrier électronique lusers_grace=Grâce lusers_hard=Limite dure lusers_hblimit=Limite de blocs dure lusers_hflimit=Limite de fichiers dure lusers_hours=heures lusers_info=Il est possible de configurer Webmin pour fixer automatiquement les quotas sur ce système de fichiers lors de la création d'un nouvel utilisateur Unix. Cela ne fonctionnera que si l'on utilise le module Webmin $1 pour ajouter des utilisateurs. lusers_interval=Intervalle entre deux messages lusers_kbs=Kilo-octets lusers_ltype=Type de limite lusers_newuser=Nouveaux quotas utilisateur lusers_noquota=Aucun utilisateur n'a de quotas sur $1 lusers_pc_hblocks=% dure lusers_percent=Avertir quand l'utilisation atteint lusers_qoutas=Tous les quotas utilisateur sur $1 lusers_return=à la liste des systèmes de fichiers lusers_sblimit=Limite de blocs douce lusers_sflimit=Limite de fichiers douce lusers_soft=Limite douce lusers_space=Espace disque lusers_title=Quotas système de fichiers lusers_toomany=Trop d'utilisateurs ont des quotas sur $1 pour les afficher sur une seule page lusers_used=Utilisés lusers_user=Utilisateur lusers_useradmin=Utilisateurs et groupes quota_unlimited=Illimités sgroup_efs=Vous n'êtes pas autorisé à modifier des quotas de ce système de fichiers sgroup_egroup=Vous n'êtes pas autorisé à modifier des quotas pour ce groupe ssync_ecannot=Vous ne pouvez pas fixer les quotas par défaut de ce système de fichiers suser_efs=Vous n'êtes pas autorisé à modifier les quotas sur ce système de fichiers suser_emaxblocks=Vous n'êtes pas autorisé à accorder des limites de blocs au-dessus de $1 suser_emaxfiles=Vous n'êtes pas autorisé à accorder des limites de fichiers au-dessus de $1 suser_euser=Vous n'êtes pas autorisé à modifier les quotas de cet utilisateur ufilesys_all=Tous les quotas de $1 ufilesys_blocks=Blocs ufilesys_copy=Copier les quotas ufilesys_ecannot=Vous ne pouvez pas modifier les quotas de '$1' ufilesys_edit=Modifier les quotas sur : ufilesys_files=Fichiers ufilesys_fs=Système de fichiers ufilesys_grace=Grâce ufilesys_hard=Limite dure ufilesys_kbs=Kilo-octets ufilesys_nouquota=L'utilisateur $1 n'a de quotas sur aucun système de fichiers ufilesys_return=à la liste des systèmes de fichiers ufilesys_soft=Limite douce ufilesys_space=Espace disque ufilesys_title=Quotas utilisateur ufilesys_used=Utilisé ugracef_block=Pour les quotas bloc ugracef_ecannot=Vous ne pouvez pas modifier les délais de grâce sur ce système de fichiers ugracef_file=Pour les quotas de fichier ugracef_graces=Délais de grâce des utilisateurs pour $1 ugracef_info=Chaque système de fichiers a un délai de grâce pour les quotas bloc et fichier. Le délai de grâce détermine combien de temps un utilisateur peut rester au-dessus de la limite douce avant qu'il ne soit plus permis de créer des fichiers. ugracef_return=à la liste d'utilisateurs ugracef_title=Délais de grâce ugracef_update=Mettre à jour ugraces_eedit=Vous ne pouvez pas modifier des délais de grâce sur ce système de fichiers ugraces_enumber='$1' n'est pas un nombre ugraces_esave=Impossible d'enregistrer les délais de grâce quota/lang/nl0000644000567100000120000003217511140674062013155 0ustar jcameronwheelacl_email=Kan email notificaties opzetten? acl_fall=Alle bestands systemen acl_fsel=Geselecteerd.. acl_fss=File systemen die deze gebruiker kan wijzigen acl_gall=Alle groepen acl_gexcept=Alle groepen behalve acl_ggrace=Kan waarschuwingstijd van groepen wijzigen? acl_gnone=Geen groepen acl_gonly=Alleen groepen acl_gquota=Groepen, waarvan deze gebruiker het quotum kan wijzigen acl_maxblocks=Maximum toe te wijzen blok quotum acl_maxfiles=Maximum toe te wijzen bestands quotum acl_quotanew=Kan quota configureren voor nieuwe gebruikers? acl_quotaon=Kan quota aan- en uitzetten? acl_ro=Kan alleen quota bekijken, niet bewerken? acl_uall=Alle gebruikers acl_uexcept=Alle gebruikers behalve acl_ugrace=Kan waarschuwingstijd van gebruiker wijzigen? acl_ugroup=Gebruikers met primaire groep acl_unlimited=Onbeperkt acl_uonly=Alleen gebruikers acl_uquota=Gebruikers, waarvan deze gebruiker het quotum kan wijzigen acl_uuid=Gebruikers met UID binnen bereik acl_vtotal=Kan totale schijf capaciteit zien? activate_eallow=U bent niet gerechtigd quota voor dit filesysteem aan- of uit te zetten activate_eoff=Het uitzetten van quota is mislukt activate_eon=Het aanzetten van quota is mislukt cgform_all=Alle groepen op uw systeem cgform_contain=Groepen met gebruikers cgform_copyto=Kopiëren van quota voor $1 op ALLE filesystemen naar ... cgform_doit=Kopieer cgform_ecannot=U kunt geen quota kopiëren cgform_egroup=U mag het quota van deze groep niet kopiëren cgform_return=groep quota cgform_select=Geselecteerde groepen cgform_title=Kopieer Quota cgroup_eallowto=U mag geen quota kopiëren naar '$1' cgroup_ecannot=U kunt geen quota kopiëren cgroup_efail=Kopiëren van quota mislukt cgroup_egallow=U mag het quota van deze groep niet kopiëren cgroup_enogroup=Geen groepen om naar te kopiëren check_done=... Klaar. check_ecannot=U mag de quota voor dit filesysteem niet controleren check_return=$1 lijst check_rgroup=groep check_running=Het quotacheck commando wordt nu uitgevoerd om het verbruik aan blokken en bestanden te controleren op $1. Dit kan een geruime tijd duren voor een groot bestands systeem... check_ruser=gebruiker check_title=Controleer Quota cuform_all=Alle gebruikers op uw systeem cuform_copyto=Kopiëren van quotum voor $1 op ALLE filesystemen naar ... cuform_doit=Kopieer cuform_ecannot=U kunt geen quotum kopiëren cuform_euallow=U mag het quotum van deze gebruiker niet kopiëren cuform_members=Leden van geselecteerde groepen cuform_return=gebruiker quota cuform_select=Geselecteerde gebruikers cuform_title=Kopieer Quota cuser_eallowto=U mag geen quota kopiëren naar '$1' cuser_ecannot=U kunt geen quota kopiëren cuser_efail=Kopiëren van quota mislukt cuser_enouser=Geen gebruikers om naar te kopiëren cuser_euallow=U mag het quota van deze gebruiker niet kopiëren egroup_bused=Gebruikte blokken egroup_eallowfs=U mag geen quota wijzigen op dit bestands systeem egroup_eallowgr=U mag geen quota wijzigen voor '$1' egroup_freturn=lijst van bestands systeem egroup_fused=Gebruikte Bestanden egroup_greturn=groep lijst egroup_hblimit=Harde blok Limiet egroup_hflimit=Harde Bestand Limiet egroup_hklimit=Harde kilobyte limieten egroup_kused=Kilobytes gebruikt egroup_listall=Lijst Alle Quota egroup_quotas=Quota voor $1 op $2 egroup_sblimit=Zachte Blok Limiet egroup_sflimit=Zachte file Limiet egroup_sklimit=Zachte kilobyte limieten egroup_title=Wijzig Quotum egroup_update=Wijzig email_ecannot=U bent niet bevoegd om email opties te bewerken email_ecc=Ontbrekende of ongeldige Cc: adres email_edomain=Ontbrekende of ongeldige mail domein email_efrom=Ontbrekende of ongeldige Van: adres email_einterval=Ontbrekende of ongeldige interval email_epercent=Ontbrekende of ongeldige bruikbaar percentage email_err=Mislukt om email opties op te slaan email_eto=Ontbrekende bestemming email adres email_msg=Disk gebruik voor gebruiker $1 op filesysteem $2 heeft $3% bereikt\nvan de toegestane quota.\n\n$4 disk ruimte is gebruikt van het maximum van $5. email_subject=Disk quota overschreden euser_bdisk=Beschikbare Blokken op Disk euser_bused=Gebruikte blokken euser_eallowfs=U mag geen quota wijzigen op dit bestands systeem euser_eallowus=U mag geen quota wijzigen voor '$1' euser_fdisk=Beschikbare Bestanden op Disk euser_freturn=filesysteem lijst euser_fused=Gebruikte files euser_hblimit=Harde blok limiet euser_hflimit=Harde file limiet euser_hklimit=Harde kilobyte limieten euser_kdisk=Beschikbare kilobytes op disk euser_kused=Kilobytes gebruikt euser_listall=Lijst Alle Quota euser_quotas=Quota voor $1 op $2 euser_sblimit=Zachte blok limiet euser_sdisk=Beschikbare ruimte op disk euser_sflimit=Zachte file limiet euser_sklimit=Zachte kilobyte limieten euser_title=Wijzig Quota euser_update=Update euser_ureturn=gebruikers lijst gemail_msg=Disk gebruik voor groep $1 op filesysteem $2 heeft $3% bereikt van de\n toegestane quota.\n\n$4 disk ruimte is gebruikt van het maximum van $5. gemail_subject=Disk quota overschreden gfilesys_all=Alle Quota voor gfilesys_blocks=Blokken gfilesys_copy=Kopieer Quota gfilesys_ecannot=U kan geen quota wijzigen voor '$1' gfilesys_edit=Wijzig Quota Op: gfilesys_files=Bestanden gfilesys_fs=Bestand systeem gfilesys_hard=Harde Limiet gfilesys_kbs=Kilobytes gfilesys_nogquota=Groep $1 quota op geen enkel filesysteem gfilesys_return=filesystemen lijst gfilesys_soft=Zachte Limiet gfilesys_space=Disk ruimte gfilesys_title=Groep Quota gfilesys_used=Gebruikt ggracef_block=Voor Blok quota ggracef_ecannot=U mag de waarschuwingstijd niet wijzigen op dit filesysteem ggracef_file=Voor file quota ggracef_graces=Groep waarschuwingstijd voor $1 ggracef_info=Elk filesysteem heeft een waarschuwingstijd voor blok- en file quota. De waarschuwingstijd bepaalt hoe lang een groep boven de zachte limiet kan zijn voordat er geen bestanden meer kunnen worden aangemaakt. ggracef_return=groepen lijst ggracef_title=Waarschuwingstijd ggracef_update=Wijzigen ggraces_eedit=U kunt de waarschuwingstijd niet wijzigen op dit filesysteem ggraces_enumber='$1' is geen getal ggraces_esave=Opslaan waarschuwingstijd mislukt gmass_count=De veranderingen hieronder zullen worden toegevoegd aan $1 geselecteerde groepen .. gmass_err=Mislukt om groep quota's te updaten gmass_header=Quota veranderingen om toe te voegen aan de geselecteerde groepen gmass_ok=Update Groepen gmass_title=Update Groepen Quota's grace_days=Dagen grace_hours=Uren grace_minutes=Minuten grace_months=Maanden grace_seconds=Seconden grace_weeks=Weken index_action=Actie index_active=Actief index_disable=Quota Uitzetten index_egroup=Wijzig Groep Quota: index_enable=Quota Aanzetten index_euser=Wijzig Gebruikers Quota: index_fs=Filesysteem index_inactive=Inactief index_mount=gemount vanaf index_mountmod=U kunt quota's aanzetten voor een filesysteem in de Disk en Netwerk Filesystemen module. index_mountonly=Kan alleen aangezet worden bij mount index_nosupport=Geen enkel lokaal filesysteem ondersteunt quota index_qboth=Gebruikers- and Groep Quota index_qgroup=Groep Quota index_quser=Gebruikers Quota index_return=index index_status=Status index_title=Disk Quota index_type=Type lgroups_blocks=Blokken lgroups_check=Controleer Quota lgroups_eallow=U mag geen quotum wijzigen op dit filesysteem lgroups_email=Stuur email naar groepen? lgroups_emailheader=Email aan groepen die hun quota bereiken lgroups_equota=Wijzig Quotum Voor: lgroups_failed=Lijst van groepen mislukt lgroups_files=bestanden lgroups_grace=Wijzig Waarschuwingstijd lgroups_group=Groep lgroups_hard=Harde Limiet lgroups_info=Webmin kan zo geconfigureerd worden dat automatisch een quota gemaakt word op dit filesysteem wanneer een nieuwe Unix groep word gemaakt. Dit zal alleen werken indien de $1 Webmin module word gebruikt om groepen toe te voegen lgroups_kbs=Kilobytes lgroups_mass=Update geselecteerde Groepen lgroups_newgroup=Nieuwe Groep Quota's lgroups_noquota=Er zijn geen groepen met quota op $1 lgroups_quotas=Alle Groep Quota op $1 lgroups_return=filesystemen lijst lgroups_soft=Zachte Limiet lgroups_space=Disk ruimte lgroups_title=Filesysteem Quota lgroups_to=Email bestemming lgroups_tofixed=Adres $1 lgroups_toomany=Te veel groepen hebben quota op $1 om op één pagina te tonen lgroups_tosame=Mailbox met dezelfde naam als een groep lgroups_tovirt=Virtualmin domein eigenaar lgroups_used=gebruikt log_activate_g=Groep quota op $1 aangezet log_activate_u=Gebruikers quota op $1 aangezet log_activate_ug=Gebruikers- en groeps quota op $1 aangezet log_check=Quota op $1 gecontroleerd log_copy_g=Quota van groep $1 gekopieerd log_copy_u=Quota van gebruiker $1 gekopieerd log_deactivate_g=Groep quota op $1 uitgezet log_deactivate_u=Gebruikers quota op $1 uitgezet log_deactivate_ug=Gebruikers- en groep quota op $1 uitgezet log_email_group=Verander groep email opties op $1 log_email_user=Verander gebruiker email opties op $1 log_grace_g=Groep waarschuwingstijd op $1 gewijzigd log_grace_u=Gebruikers waarschuwingstijd op $1 gewijzigd log_gsync=Veranderde nieuwe groepen quota's op $1 log_save=Quota voor $1 op $2 gewijzigd log_sync=Nieuw gebruikers quota op $1 gewijzigd luser_virtualmin=Krijg domein van Virtualmin? lusers_apply=Toepassen lusers_blocks=Blokken lusers_bsize=Quota blok grote : $1 bytes lusers_cc=Ook Cc: email naar lusers_check=Controleer Quota lusers_domain=Domein voor gebruiker adressen lusers_eallow=U mag geen quotum wijzigen op dit filesysteem lusers_egrace=Wijzig Waarschuwingstijd lusers_email=Zend email naar gebruikers? lusers_emailheader=Email naar gebruikers die hun quota bereiken lusers_equota=Wijzig Quotum voor: lusers_failed=Gebruikers lijst maken mislukt lusers_files=Bestanden lusers_from=Van: adres voor email lusers_grace=Grace (Gunst) lusers_hard=Harde Limiet lusers_hblimit=Harde limiet lusers_hflimit=Harde file limiet lusers_hours=uren lusers_info=Webmin kan worden geconfigureerd om automatisch de quota te zetten op dit filesysteem als een nieuwe Unix gebruiker wordt aangemaakt. Dit werkt alleen als het $1 Webmin module wordt gebruikt om gebruikers aan te maken. lusers_interval=Interval tussen berichten lusers_kbs=Kilobytes lusers_ltype=Limiet type lusers_mass=Update Geselecteerde Gebruikers lusers_newuser=Nieuw Gebruikers Quotum lusers_nocc=Geen Cc lusers_noquota=Er zijn geen gebruikers met quota op $1 lusers_pc_hblocks=Harde % lusers_pc_sblocks=Zachte % lusers_percent=Waarschuwen wanneer gebruikt bereikt lusers_qoutas=Quota alle gebruikers op $1 lusers_return=filesystemen lijst lusers_sblimit=Zachte Blok Limiet lusers_sflimit=Zachte file limiet lusers_soft=Zachte Limiet lusers_space=Disk ruimte lusers_title=Quota Filesysteem lusers_toomany=Te veel gebruikers hebben quotum op $1 om op één pagina te tonen lusers_used=Gebruikt lusers_user=Gebruiker lusers_useradmin=Gebruikers and Groepen quota_unlimited=Onbeperkt sgroup_efs=U mag geen quota wijzigen op dit filesysteem sgroup_egroup=U mag geen quotum wijzigen voor deze groep ssync_ecannot=U mag de standaard quota voor dit filesysteem niet wijzigen suser_efs=U mag het quotum voor dit filesysteem niet wijzigen suser_emaxblocks=U bent niet bevoegd om het blok limiet boven $1 in te stellen suser_emaxfiles=U bent niet bevoegd om file limieten boven $1 in te stellen suser_euser=U bent niet bevoegd om quota te wijzigen voor deze gebruiker ufilesys_all=Alle Quota voor $1 ufilesys_blocks=Blokken ufilesys_copy=Kopieer Quota ufilesys_ecannot=U kan geen quota wijzigen voor '$1' ufilesys_edit=Wijzig Quota Op: ufilesys_files=Bestanden ufilesys_fs=Filesysteem ufilesys_grace=Grace (Gunst) ufilesys_hard=Harde Limiet ufilesys_kbs=Kilobytes ufilesys_nouquota=Gebruiker $1 heeft quota op geen enkel filesysteem ufilesys_return=filesystemen lijst ufilesys_soft=Zachte Limiet ufilesys_space=Disk ruimte ufilesys_title=Gebruikers Quota ufilesys_used=Gebruikt ugracef_block=Voor blok quota ugracef_ecannot=U kunt de waarschuwingstijd op dit filesysteem niet wijzigen ugracef_file=Voor file quota ugracef_graces=Gebruiker Waarschuwingstijd voor $1 ugracef_info=Elk filesysteem heeft een waarschuwingstijd voor blok- and file quota. De waarschuwingstijd bepaalt hoe lang een groep boven de zachte limiet kan zijn voordat er geen bestanden meer kunnen worden aangemaakt. ugracef_return=gebruiker lijst ugracef_title=Waarschuwingstijd ugracef_update=Wijzigen ugraces_eedit=U kunt de waarschuwingstijd op dit filesysteem niet wijzigen ugraces_enumber='$1' is geen getal ugraces_esave=Opslaan waarschuwingstijd mislukt umass_count=De veranderingen hieronder worden toegevoegd aan de $1 geselecteerde gebruikers umass_ehblocks=Ontbrekende of ongeldige harde blokken limieten umass_ehfiles=Ontbrekende of ongeldige harde file limieten umass_err=Mislukt om gebruiker quota te updaten umass_esblocks=Ontbrekende of ongeldige zachte blokken limieten umass_esfiles=Ontbrekende of ongeldige zachte file limieten umass_hblocks=Harde blokken limieten umass_header=Quota veranderingen om toe te voegen aan geselecteerde gebruikers umass_hfiles=Harde file limieten umass_leave=Laat onveranderd umass_ok=Update gebruikers umass_sblocks=Zachte blokken limieten umass_set=Zet naar umass_sfiles=Zachte files limieten umass_title=Update Gebruiker Quota umass_unlimited=Zet naar ongelimiteerd quota/lang/it0000644000567100000120000002674611140674062013167 0ustar jcameronwheelacl_email=Permetti la configurazione delle notifiche email? acl_fall=Tutti i filesystem acl_fsel=Selezionato.. acl_fss=I filesystem che questo utente può modificare acl_gall=Tutti i gruppi acl_gexcept=Tutti eccetto i gruppi acl_ggrace=Permetti la modifica dei tempi di dilazione per i gruppi? acl_gnone=Nessun gruppo acl_gonly=Solo i gruppi acl_gquota=I gruppi di cui l'utente può modificare le quote acl_maxblocks=Massima dimensione di quota garantita acl_maxfiles=Massimo numero di file garantiti acl_quotanew=Permetti la configurazione delle quote per i nuovi utenti? acl_quotaon=Permetti l'abilitazione e la disabilitazione delle quote? acl_ro=Permetti solo di vedere le quote e di non modificarle? acl_uall=Tutti gli utenti acl_uexcept=Tutti eccetto gli utenti acl_ugrace=Permetti di modificare i tempi di dilazione degli utenti? acl_ugroup=Utenti con gruppo primario acl_unlimited=Illimitato acl_uonly=Solo utenti acl_uquota=Questo utente può modificare le quote degli utenti acl_uuid=Utenti con UID nell'intervallo acl_vtotal=Permetti la visualizzazione dello spazio totale del disco? activate_eallow=Non sei abilitato ad attivare o disattivare le quote su questo filesystem activate_eoff=Impossibile disabilitare le quote activate_eon=Impossibile abilitare le quote cgform_all=Tutti i gruppi sul tuo sistema cgform_contain=Gruppi contenenti gli utenti cgform_copyto=Copia delle quote $1 su TUTTI i filesystem verso .. cgform_doit=Copia cgform_ecannot=Tu non puoi copiare le quote cgform_egroup=Non sei abilitato a copiare le quote di questo gruppo cgform_return=quota del gruppo cgform_select=Gruppi selezionati cgform_title=Copia le quote cgroup_eallowto=Non sei abilitato a copiare le quote verso '$1' cgroup_ecannot=Non puoi copiare le quote cgroup_efail=Impossibile copiare le quote cgroup_egallow=Non sei abilitato a copiare le quote per questo gruppo cgroup_enogroup=Nessun gruppo verso cui copiare check_done=... Completato. check_ecannot=Non puoi esaminare le quote su questo filesystem check_return=lista $1 check_rgroup=gruppo check_running=Il comando quotacheck si sta apprestando ad esaminare lo spazio ed il numero di file utilizzati su $1. Questo potrebbe richiedere molto tempo su un filesystem molto grande... check_ruser=utente check_title=Esamina quote cuform_all=Tutti gli utenti sul tuo sistema cuform_copyto=Copia delle quote per $1 su TUTTI i filesystem verso ... cuform_doit=Copia cuform_ecannot=Non puoi copiare le quote cuform_euallow=Non sei abilitato a copiare le quote per questo utente cuform_members=Membri dei gruppi selezionati cuform_return=quota dell'utente cuform_select=Utenti selezionati cuform_title=Copia le quote cuser_eallowto=Non sei abilitato a copiare le quote verso '$1' cuser_ecannot=Non puoi copiare le quote cuser_efail=Impossibile copiare le quote cuser_enouser=Nessun utente verso cui copiare cuser_euallow=Non sei abilitato a copiare le quote di questo utente egroup_bused=Blocchi usati egroup_eallowfs=Non sei abilitato a modificare le quote su questo filesystem egroup_eallowgr=Non sei abilitato a modificare le quote per '$1' egroup_freturn=lista dei filesystem egroup_fused=File usati egroup_greturn=lista dei gruppi egroup_hblimit=Limite Hard nlock egroup_hflimit=Limite Hard file egroup_hklimit=Limite Hard kilobyte egroup_kused=Kilobyte usati egroup_listall=Elenca tutte le quote egroup_quotas=Quota per $1 su $2 egroup_sblimit=Limite Soft nlock egroup_sflimit=Limite Soft file egroup_sklimit=Limite Soft kilobyte egroup_title=Modifica Quota egroup_update=Aggiorna email_ecannot=Non sei abilitato a modificare le opzioni email email_edomain=Dominio di posta mancante o non valido email_efrom=Indirizzo From: mancante o non valido email_einterval=Intervallo mancante o non valido email_epercent=Percentuale d'uso mancante o non valida email_err=Impossibile salvare le opzioni email email_msg=L'utilizzo del disco per l'utente $1 sul filesystem $2 ha raggiunto il $3% della quota permessa.\n\n$4 del spazio su disco è in uso, in eccesso rispetto al massimo per $5. email_subject=Quota di disco superata euser_bdisk=Blocchi disponibili su disco euser_bused=Blocchi usati euser_eallowfs=Non sei abilitato a modificare le quote su questo filesystem euser_eallowus=Non sei abilitato a modificare le quote per '$1' euser_fdisk=File disponibili su disco euser_freturn=lista dei filesystem euser_fused=File usati euser_hblimit=Limite Hard block euser_hflimit=Limite Hard file euser_hklimit=Limite Hard kilobyte euser_kdisk=Kilobyte disponibili su disco euser_kused=Kilobyte usati euser_listall=Elenca tutte le quote euser_quotas=Quota per $1 su $2 euser_sblimit=Limite Soft block euser_sdisk=Spazio disponibile su disco euser_sflimit=Limite Soft file euser_sklimit=Limite Soft kilobyte euser_title=Modifica Quota euser_update=Aggiorna euser_ureturn=lista utenti gfilesys_all=Tutte le quote per $1 gfilesys_blocks=Blocchi gfilesys_copy=Copia le Quote gfilesys_ecannot=Non puoi modificare le quote per '$1' gfilesys_edit=Modifica quota su: gfilesys_files=File gfilesys_fs=Filesystem gfilesys_hard=Limite Hard gfilesys_kbs=Kilobyte gfilesys_nogquota=Il gruppo $1 non ha quote su nessun filesystem gfilesys_return=lista filesystem gfilesys_soft=Limite Soft gfilesys_space=Spazio su disco gfilesys_title=Quote dei gruppi gfilesys_used=Usato ggracef_block=Per quota di blocchi ggracef_ecannot=Non puoi modificare i tempi di dilazione su questo filesystem ggracef_file=Per quota di file ggracef_graces=Tempi di dilazione di gruppo per $1 ggracef_info=Ogni filesystem ha un tempo di dilazione per quote di blocchi e di file. Il tempo di dilazione determina quanto a lungo un gruppo può rimanere oltre il limite Soft ed in cui non può essere creato nessun file. ggracef_return=lista gruppi ggracef_title=Tempi di dilazione ggracef_update=Aggiorna ggraces_eedit=Non puoi modificare i tempi di dilazione su questo filesystem ggraces_enumber='$1' non è un numero ggraces_esave=Impossibile salvare i tempi di dilazione grace_days=Giorni grace_hours=Ore grace_minutes=Minuti grace_months=Mesi grace_seconds=Secondi grace_weeks=Settimane index_action=Azione index_active=Attivo index_disable=Disattiva Quote index_egroup=Modifica le quote per gruppi: index_enable=Attiva Quote index_euser=Modifica le quote per utenti: index_fs=Filesystem index_inactive=Non attivo index_mount=Montato Da index_mountmod=Tu puoi attivare le quote per un filesystem nel modulo Disk and Network Filesystems index_mountonly=Puoi solo attivare al montaggio index_nosupport=Nessun filesystem può supportare le quote index_qboth=Quote per Utenti e Gruppi index_qgroup=Quote Gruppi index_quser=Quote Utenti index_return=indice index_status=Stato index_title=Quote Disco index_type=Tipo lgroups_blocks=Blocchi lgroups_check=Esamina Quote lgroups_eallow=Non sei abilitato a modificare le quote su questo filesystem lgroups_equota=Modifica Quota per: lgroups_failed=Impossibile elencare i gruppi lgroups_files=File lgroups_grace=Modifica Tempi di Dilazione lgroups_group=Gruppo lgroups_hard=Limite Hard lgroups_info=Webmin può essere configurato per fissare automaticamente le quote su questo filesystem quando è creato un nuovo gruppo Unix. Questo funziona solo quando viene utilizzato il modulo Webmin $1 per creare i gruppi. lgroups_kbs=Kilobyte lgroups_newgroup=Nuove quote gruppi lgroups_noquota=Nessun gruppo ha quote su $1 lgroups_quotas=Tutte le quote per gruppi su $1 lgroups_return=lista filesystem lgroups_soft=Limite Soft lgroups_space=Spazio su disco lgroups_title=Quote Filesystem lgroups_toomany=Troppi gruppi hanno quote su $1 per visualizzarli su un'unica pagina lgroups_used=Usato log_activate_g=Quote gruppo attivate su $1 log_activate_u=Quote utente attivate su $1 log_activate_ug=Quote utente e gruppo attivate su $1 log_check=Quote esaminate su $1 log_copy_g=Quote del gruppo $1 copiate log_copy_u=Quote dell'utente $1 copiate log_deactivate_g=Quote gruppo disabilitate su $1 log_deactivate_u=Quote utente disabilitate su $1 log_deactivate_ug=Quote utente e gruppo disabilitate su $1 log_email=Cambia le opzioni email su $1 log_grace_g=Tempi di dilazione gruppo cambiati su $1 log_grace_u=Tempi di dilazione utente cambiati su $1 log_gsync=Quote nuovi gruppi cambiate su $1 log_save=Quote cambiate per $1 su $2 log_sync=Quote nuovi utenti cambiate su $1 lusers_apply=Applica lusers_blocks=Blocchi lusers_bsize=Dimensione blocco quota : $1 byte lusers_check=Esamina Quote lusers_domain=Dominio per indirizzi utente lusers_eallow=Non sei abilitato a modificare le quote su questo filesystem lusers_egrace=Modifica Tempi di Dilazione lusers_email=Invia email agli utenti? lusers_emailheader=Invia email agli utenti che stanno raggiungendo la quota lusers_equota=Modifica Quota Per: lusers_failed=Impossibile elencare gli utenti lusers_files=File lusers_from=Indirizzo From: per email lusers_grace=Dilazione lusers_hard=Limite Hard lusers_hblimit=Limite Hard lusers_hflimit=Limite Hard file lusers_hours=ore lusers_info=Webmin può essere configurato per stabilire automaticamente le quote su questo filesystem quando è creato un nuovo utente Unix. Questo funzionerà solamente quando sarà usato il modulo Webmin $1 per creare nuovi utenti. lusers_interval=Intervallo tra messaggi lusers_kbs=Kilobyte lusers_ltype=Tipo di limite lusers_newuser=Quote nuovi utenti lusers_noquota=Nessun utente ha quote su $1 lusers_pc_hblocks=Hard % lusers_percent=Avvisa quando l'utilizzo raggiunge lusers_qoutas=Tutte le quote utente su $1 lusers_return=elenco filesystem lusers_sblimit=Limite Soft lusers_sflimit=Limite Soft file lusers_soft=Limite Soft lusers_space=Spazio su disco lusers_title=Quote Filesystem lusers_toomany=Troppi utenti hanno quote su $1 per essere visualizzati su una pagina lusers_used=Usati lusers_user=Utente lusers_useradmin=Utenti e Gruppi quota_unlimited=Illimitato sgroup_efs=Non sei abilitato a modificare le quote su questo filesystem sgroup_egroup=Non sei abilitato a modificare le quote per questo gruppo ssync_ecannot=Non puoi stabilire la quota predefinita per questo filesystem suser_efs=Non sei abilitato a modificare le quote su questo filesystem suser_emaxblocks=Tu non sei abilitato a garantire limite per blocchi al di sopra di $1 suser_emaxfiles=Non sei abilitato a garantire limiti per file al di sopra di $1 suser_euser=Non sei abilitato a modificare le quote per questo utente ufilesys_all=Tutte le quote per $1 ufilesys_blocks=Blocchi ufilesys_copy=Copia Quote ufilesys_ecannot=Non puoi modificare le quote per '$1' ufilesys_edit=Modifica quota su: ufilesys_files=File ufilesys_fs=Filesystem ufilesys_grace=Dilazione ufilesys_hard=Limite Hard ufilesys_kbs=Kilobyte ufilesys_nouquota=L'utente $1 non ha quote su nessun filesystem ufilesys_return=lista filesystem ufilesys_soft=Limite Soft ufilesys_space=Spazio su disco ufilesys_title=Quote utente ufilesys_used=Usato ugracef_block=Per quota blocchi ugracef_ecannot=Non puoi modificare i tempi di dilazione su questo filesystem ugracef_file=Per quota file ugracef_graces=Tempi di dilazione utente per $1 ugracef_info=Ogni filesystem ha un tempo di dilazione per quote blocchi e file. Il tempo di dilazione determina quanto a lungo un utente può oltrepassare il limite soft ed in cui non può creare più file. ugracef_return=lista utenti ugracef_title=Tempi di dilazione ugracef_update=Aggiorna ugraces_eedit=Non puoi modificare i tempi di dilazione su questo filesystem ugraces_enumber='$1' non è un numero ugraces_esave=Impossibile salvare i tempi di dilazione quota/lang/pt_BR0000664000567100000120000002345111140674062013551 0ustar jcameronwheelquota_unlimited=Ilimitado acl_fss=Sistemas de arquivo que o usurio pode editar acl_fall=Todos os Sistemas de arquivos acl_fsel=Selecionado.. acl_quotaon=Pode habilitar ou desabilitar quotas? acl_quotanew=Pode configurar cotas para novos usurios? acl_ugrace=Pode editar grace times dos usurios? acl_vtotal=Pode ver o total de espao em disco? acl_ggrace=Pode editar tempo de tolerncia dos grupos? acl_uquota=Usurios para os quais esse usurio pode editar cotas acl_gquota=Grupos para os quais esse usurio pode editar cotas acl_uall= Todos usurios acl_uonly= Somente usurios acl_uexcept= Todos usurios exceto acl_ugroup= Usurios com grupo primrio acl_gall= Todos os grupos acl_gnone= Nenhum grupo acl_gonly= Somente grupos acl_gexcept= Todos exceto grupos acl_uuid=Usurios com UID na faixa acl_maxblocks=Limite mxima de cota de blocos acl_maxfiles=Limite mximo de cota de arquivos acl_unlimited=Ilimitado activate_eallow=Voc no tem permisso para habilitar ou disabilitar cotas nesse sistema de arquivos activate_eon=Falhou ao iniciar cotas activate_eoff=Falhou ao desabilitar cotas check_title=Verificar Cotas check_return=$1 lista check_ecannot=Voc no pode verificar cotas nesse sistema de arquivos check_running=O comando quotacheck est verificando a utilizao de blocos e arquivos em $1. Isso deve gastar bastante tempo para um sistema de arquivos grande... check_done=... Concludo. check_rgroup=grupo check_ruser=usurio cgroup_efail=Falha ao copiar cotas cgroup_ecannot=Voc no pode copiar cotas cgroup_egallow=Voc no tem permisso de copiar cotas desse grupo cgroup_enogroup=Nenhum grupo destino para copiar cgroup_eallowto=Voc no tem permisso de copiar cotas para '$1' cgform_title=Copiar Cotas cgform_return=cota de grupo cgform_ecannot=Voc no pode copiar cotas cgform_egroup=Voc no tem permisso de copiar cotas desse grupo cgform_copyto=Copiar cotas de $1 em TODOS os sistemas de arquivos para ... cgform_all=Todos os grupos em seu sistema cgform_select=Grupos selecionados cgform_contain=Grupos contendo usurios cgform_doit=Copiar cuser_efail=Falhou ao copiar cotas cuser_ecannot=Voc no pode copiar cotas cuser_euallow=Voc no tem permisso de copiar cotas desse usurio cuser_enouser=Nenhum usurio destino para copiar cuser_eallowto=Voc no tem permisso para copiar cotas para '$1' cuform_title=Copiar Cotas cuform_return=Cota de usurio cuform_ecannot=Voc no pode copiar cotas cuform_euallow=Voc no tem permisso para copiar as cotas desse usurio cuform_copyto=Copiar cotas de $1 em TODOS os sistemas de arquivos para ... cuform_all=Todos os usurios do sistema cuform_select=Usurios selecionados cuform_members=Membros dos Grupos selecionados cuform_doit=Copiar egroup_title=Editar Cota egroup_freturn=lista de sistema de arquivo egroup_greturn=lista de grupo egroup_eallowgr=Voc no tem permisso para editar cotas para '$1' egroup_eallowfs=Voc no tem permisso para editar cotas nesse sistema de arquivos egroup_quotas=Cota para $1 em $2 egroup_bused=Blocos usados egroup_sblimit=Limite flexvel de blocos egroup_hblimit=Limite rgido de blocos egroup_fused=Arquivos usados egroup_sflimit=Limite flexvel de arquivos egroup_hflimit=Limite rgido de arquivos egroup_update=Atualizar egroup_listall=Lista todas as Cotas euser_title=Editar Cota euser_freturn=Lista de sistemas de arquivo euser_ureturn=lista de usurios euser_eallowus=Voc no tem permisso para editar cotas para '$1' euser_eallowfs=Voc no tem permisso para editar cotas nesse sistema de arquivos euser_quotas=Cota para $1 em $2 euser_bused=Blocos Usados euser_bdisk=Blocos disponveis no Disco euser_sblimit=Limite flexvel de blocos euser_hblimit=Limite rgido de blocos euser_fused=Arquivos usados euser_fdisk=Arquivos disponveis no Disco euser_sflimit=Limite flexvel de arquivos euser_hflimit=Limite flexvel de arquivos euser_update=Atualizar euser_listall=Lista todas as Cotas gfilesys_title=Cotas de Grupo gfilesys_return=lista de sistemas de arquivo gfilesys_ecannot=Voc no pode editar cotas para '$1' gfilesys_all=Todas as Cotas de $1 gfilesys_blocks=Blocos gfilesys_files=Arquivos gfilesys_fs=Sistema de Arquivo gfilesys_used=Usado gfilesys_soft=Limite flexvel gfilesys_hard=Limite rgido gfilesys_nogquota=Grupo $1 no tem cotas nesse sistema de arquivos gfilesys_edit=Editar Cota em: gfilesys_copy=Copiar Cotas ggracef_title=Tempo de tolerncia ggracef_return=lista de grupos ggracef_ecannot=Voc no pode editar o tempo de tolerncia nesse sistema de arquivos ggracef_info=Cada sistema de arquivos tem um tempo de tolerncia para cotas de bloco ou arquivo. O tempo de tolerncia determina quanto tempo um grupo pode ficar acima do limite flexvel de cota antes que no seja permitido criar novos arquivos. ggracef_graces=Tempo de tolerncia para o grupo em $1 ggracef_block=Para cota de bloco ggracef_file=Para cota de arquivo ggracef_update=Atualizar ggraces_esave=Falha ao salvar tempo de tolerncia ggraces_eedit=Voc no pode editar o tempo de tolerncia nesse sistema de arquivos ggraces_enumber='$1' no um nmero index_quser=Cotas de Usurios index_qgroup=Cotas de Grupos index_qboth=Cotas de Usurios e Grupos index_active=Ativo index_disable=Desabilitar Cotas index_inactive=Inativo index_enable=Habilitar Cotas index_mountonly=S pode habilitar ao montar index_title=Cotas de Disco index_fs=Sistema de Arquivo index_type=Tipo index_mount=Montado a partir de index_status=Estado index_action=Ao index_return=ndice index_euser=Editar Cotas do Usurio: index_egroup=Edita Cotas do Grupo: index_nosupport=Nenhum sistema de arquivos local que suporte cotas lgroups_failed=Falha ao listar grupos lgroups_eallow=Voc no tem permisso para editar cotas nesse sistema de arquivos lgroups_title=Cotas Sistemas de Arquivos lgroups_return=lista de sistema de arquivos lgroups_toomany=Existem muitos grupos que possuem cotas em $1 para serem mostrados em uma pgina lgroups_quotas=Cotas de todos os grupos em $1 lgroups_blocks=Blocos lgroups_files=Arquivos lgroups_group=Grupo lgroups_used=Usado lgroups_soft=Limite flexvel lgroups_hard=Limite rgido lgroups_noquota=Nenhum grupo tem cota em $1 lgroups_equota=Edita Cota para: lgroups_grace=Editar Tempo de tolerncia lgroups_check=Verifica Cotas sgroup_egroup=Voc no tem permisso para editar cotas para esse grupo sgroup_efs=Voc no tem permisso para editar cotas nesse sistema de arquivos ssync_ecannot=Voc no pode modificar a cota padro para esse sistema de arquivos suser_euser=Voc no tem permisso para editar cotas para esse usurio suser_efs=Voc no tem permisso para editar cotas nesse sistema de arquivos suser_emaxblocks=Voc no tem permisso de modificar o limite de blocos acima $1 suser_emaxfiles=Voc no tem permisso de modificar o limite de arquivos acima $1 ufilesys_title=Cotas de Usurios ufilesys_return=lista de sistema de arquivos ufilesys_ecannot=Voc no pode editar cotas para '$1' ufilesys_all=Todas as Cotas de $1 ufilesys_blocks=Blocos ufilesys_files=Arquivo ufilesys_fs=Sistema de Arquivo ufilesys_used=Usado ufilesys_soft=Limite flexvel ufilesys_hard=Limite rgido ufilesys_nouquota=O usurio $1 no possui cotas em nenhum sistema de arquivos. ufilesys_edit=Editar Cota em: ufilesys_copy=Copiar Cotas ugracef_title=Tempo de tolerncia ugracef_return=lista de usurio ugracef_ecannot=Voc no pode editar o tempo de tolerncia nesse sistema de arquivos ugracef_info=Cada sistema de arquivos tem um tempo de tolerncia para cotas de bloco ou arquivo. O tempo de tolerncia determina quanto tempo um grupo pode ficar acima do limite flexvel de cota antes que no seja permitido criar novos arquivos. ugracef_graces=Tempo de tolerncia para o usurio em $1 ugracef_block=Cota de bloco ugracef_file=Cota de arquivo ugracef_update=Atualizar ugraces_esave=Falha ao salvar tempo de tolerncia ugraces_eedit=Voc no pode editar o tempo de tolerncia nesse sistema de arquivos ugraces_enumber='$1' no um nmero lusers_failed=Falha ao listar usurios lusers_eallow=Voc no tem permisso para editar cotas nesse sistema de arquivos lusers_title=Cotas Sistema de Arquivo lusers_return=lista de Sistema de Arquivo lusers_toomany=Existem muitos grupos que possuem cotas em $1 para serem mostrados em uma pgina lusers_qoutas=Todas as Cotas de Usurio em $1 lusers_blocks=Blocos lusers_files=Arquivos lusers_user=Usurios lusers_used=Usado lusers_soft=Limite flexvel lusers_hard=Limite rgido lusers_noquota=Nenhum usurio tem cota em $1 lusers_equota=Editar Cota para: lusers_egrace=Editar tempo de tolerncia lusers_check=Verificar cotas lusers_info=O Webmin pode ser configurado para atribuir as cotas automaticamente para esse sistema de arquivos quando um novo usurio criado. Isso s funcionar se o mdulo $1 for utilizado para adicionar usurios. lusers_useradmin=Usurios e grupos lusers_newuser=Cotas para novos usurios lusers_sblimit=Limite flexvel de blocos lusers_hblimit=Limite rgido de blocos lusers_sflimit=Limite flexvel de arquivos lusers_hflimit=Limite rgido de arquivos lusers_apply=Aplicar grace_seconds=Segundos grace_minutes=Minutos grace_hours=Horas grace_days=Dias grace_weeks=Semanas grace_months=Meses log_activate_u=Habilitar cotas para novos usurios em $1 log_activate_g=Habilitar cotas para grupos em $1 log_activate_ug=Habilitar cotas para usurios e grupos em $1 log_deactivate_u=Desabilitar cotas de usurio em $1 log_deactivate_g=Desabilitar cotas de grupo em $1 log_deactivate_ug=Desabilitar cotas de grupo e usurio em $1 log_save=Cotas para $1 em $2 modificadas log_sync=Cotas para novos usurios modificadas em $1 log_grace_u=Tempo de tolerncia de usurio modificado em $1 log_grace_g=Tempo de tolerncia de grupo modificado em$1 log_check=Cotas verificadas em $1 log_copy_u=Cotas do usurio $1 copiadas log_copy_g=Cotas do grupo $1 copiadas quota/lang/ja_JP.euc0000664000567100000120000002132411140674062014276 0ustar jcameronwheelquota_unlimited=̵ acl_fss=Υ桼ԽǤե ƥ acl_fall=٤ƤΥե ƥ acl_fsel=.. acl_quotaon=ͭ/̵ˤǤ褦ˤޤ acl_quotanew=桼˥ǽˤޤ acl_ugrace=桼ͱͽ֤Խǽˤޤ acl_vtotal=ץǥΰɽǽˤޤ acl_ggrace=롼פͱͽ֤Խǽˤޤ acl_uquota=Υ桼Խǽʥ桼 acl_gquota=Υ桼Խǽʥ롼 acl_uall= ٤ƤΥ桼 acl_uonly= Υ桼Τ acl_uexcept= Υ桼ʳ٤ acl_ugroup= ץ饤ޥ 롼פΥ桼 acl_gall= ٤ƤΥ롼 acl_gnone= 롼פʤ acl_gonly= 롼פΤ acl_gexcept= 롼װʳ٤ activate_eallow=Υե ƥǤϥͭ/̵ˤǤޤ activate_eon=򥢥ƥ֤ˤǤޤǤ activate_eoff=󥢥ƥ֤ˤǤޤǤ check_title=θ check_return=$1 ꥹ check_ecannot=Υե ƥǤϥ򸡺Ǥޤ check_running=quotacheck ޥɤ¹Ԥ$1Υ֥åȥեΨĴ٤ޤե ƥब礭Ϥʤ֤ޤ... check_done=... λޤ check_rgroup=롼 check_ruser=桼 cgroup_efail=򥳥ԡǤޤǤ cgroup_ecannot=򥳥ԡǤޤ cgroup_egallow=Υ롼פΥϥԡǤޤ cgroup_enogroup=ԡ륰롼פޤ cgroup_eallowto='$1' ˥ϥԡǤޤ cgform_title=Υԡ cgform_return=롼 cgform_ecannot=򥳥ԡǤޤ cgform_egroup=Υ롼פΥϥԡǤޤ cgform_copyto=٤ƤΥե ƥ$1 Υ򥳥ԡ... cgform_all=ƥΤ٤ƤΥ롼 cgform_select=򤵤줿롼 cgform_contain=桼ޤ॰롼 cgform_doit=ԡ cuser_efail=򥳥ԡǤޤǤ cuser_ecannot=򥳥ԡǤޤ cuser_euallow=Υ桼Υ򥳥ԡǤޤ cuser_enouser=ԡ桼ޤ cuser_eallowto='$1' ˥ϥԡǤޤ cuform_title=Υԡ cuform_return=桼 cuform_ecannot=򥳥ԡǤޤ cuform_euallow=Υ桼Υ򥳥ԡǤޤ cuform_copyto=٤ƤΥե ƥ$1 Υ򥳥ԡ... cuform_all=ƥΤ٤ƤΥ桼 cuform_select=򤵤줿桼 cuform_members=򤵤줿롼פΥС cuform_doit=ԡ egroup_title=Խ egroup_freturn=ե ƥΥꥹ egroup_greturn=롼 ꥹ egroup_eallowgr='$1' ΥԽǤޤ egroup_eallowfs=Υե ƥǤϥԽǤޤ egroup_quotas=$1Υ($2) egroup_bused=Ѥ줿֥å egroup_sblimit=ե ֥å egroup_hblimit=ϡ ֥å egroup_fused=Ѥ줿ե egroup_sflimit=ե ե egroup_hflimit=ϡ ե egroup_update= egroup_listall=٤ƤΥꥹ euser_title=Խ euser_freturn=ե ƥΥꥹ euser_ureturn=桼 ꥹ euser_eallowus='$1' ΥԽǤޤ euser_eallowfs=Υե ƥǤϥԽǤޤ euser_quotas=$1Υ($2) euser_bused=Ѥ줿֥å euser_bdisk=ǥǻѲǽʥ֥å euser_sblimit=ե ֥å euser_hblimit=ϡ ֥å euser_fused=Ѥ줿ե euser_fdisk=ǥǻѲǽʥե euser_sflimit=ե ե euser_hflimit=ϡ ե euser_update= euser_listall=٤ƤΥꥹ gfilesys_title=롼 gfilesys_return=ե ƥΥꥹ gfilesys_ecannot='$1' ΥԽǤޤ gfilesys_all=٤ƤΥ gfilesys_blocks=֥å gfilesys_files=ե gfilesys_fs=ե ƥ gfilesys_used=Ѻ gfilesys_soft=ե gfilesys_hard=ϡ gfilesys_nogquota=롼$1 ϤΥե ƥǤ⥯ޤ gfilesys_edit=Խ: gfilesys_copy=Υԡ ggracef_title=ͱͽ ggracef_return=롼 ꥹ ggracef_ecannot=Υե ƥǤͱͽ֤ԽǤޤ ggracef_info=ƥե ƥˤϥ֥åȥե ͱͽ֤ޤͱͽ֤ϡʾեǤʤե¾ǥ롼פ¸³Ǥ֤ޤ ggracef_graces=$1 Υ롼ͱͽ ggracef_block=֥å ggracef_file=ե ggracef_update= ggraces_esave=ͱͽ֤¸ǤޤǤ ggraces_eedit=Υե ƥǤͱͽ֤ԽǤޤ ggraces_enumber='$1' ϿǤϤޤ index_quser=桼 index_qgroup=롼 index_qboth=桼ȥ롼 index_active=ƥ index_disable=̵ index_inactive=󥢥ƥ index_enable=ͭ index_title=ǥ index_fs=ե ƥ index_type= index_mount=ޥȸ index_status=ơ index_action= index_return=ǥå index_euser=桼 Խ: index_egroup=롼 Խ: index_nosupport= ե ƥϥ򥵥ݡȤǤޤ lgroups_failed=롼פꥹȤǤޤǤ lgroups_eallow=Υե ƥǤϥԽǤޤ lgroups_title=ե ƥ lgroups_return=ե ƥΥꥹ lgroups_toomany=1 ڡɽˤ$1 ǥĥ롼פ¿ޤ lgroups_quotas=$1 Τ٤ƤΥ롼 lgroups_blocks=֥å lgroups_files=ե lgroups_group=롼 lgroups_used=Ѻ lgroups_soft=ե lgroups_hard=ϡ lgroups_noquota=$1 ǥĥ롼פϤޤ lgroups_equota=Խ: lgroups_grace=ͱͽ֤Խ lgroups_check=򸡺 sgroup_egroup=Υ롼פΥԽǤޤ sgroup_efs=Υե ƥǤϥԽǤޤ ssync_ecannot=Υե ƥǤϥǥե Ǥޤ suser_euser=Υ桼ΥԽǤޤ suser_efs=Υե ƥǤϥԽǤޤ ufilesys_title=桼 ufilesys_return=ե ƥΥꥹ ufilesys_ecannot='$1' ΥԽǤޤ ufilesys_all=٤ƤΥ $1 ufilesys_blocks=֥å ufilesys_files=ե ufilesys_fs=ե ƥ ufilesys_used=Ѻ ufilesys_soft=ե ufilesys_hard=ϡ ufilesys_nouquota=桼$1 ϤΥե ƥǤ⥯ޤ ufilesys_edit=Խ: ufilesys_copy=Υԡ ugracef_title=ͱͽ ugracef_return=桼 ꥹ ugracef_ecannot=Υե ƥǤͱͽ֤ԽǤޤ ugracef_info=ƥե ƥˤϥ֥åȥե ͱͽ֤ޤͱͽ֤ϡʾեǤʤե¾ǥ桼¸³Ǥ֤ޤ ugracef_graces=$1 Υ桼ͱͽ ugracef_block=֥å ugracef_file=ե ugracef_update= ugraces_esave=ͱͽ֤¸ǤޤǤ ugraces_eedit=Υե ƥǤͱͽ֤ԽǤޤ ugraces_enumber='$1' ϿǤϤޤ lusers_failed=桼ꥹȤǤޤǤ lusers_eallow=Υե ƥǤϥԽǤޤ lusers_title=ե ƥ lusers_return=ե ƥΥꥹ lusers_toomany=1 ڡɽˤ$1ǥĥ桼¿ޤ lusers_qoutas=$1 Τ٤ƤΥ桼 lusers_blocks=֥å lusers_files=ե lusers_user=桼 lusers_used=Ѻ lusers_soft=ե lusers_hard=ϡ lusers_noquota=$1 ǥĥ桼Ϥޤ lusers_equota=Խ: lusers_egrace=ͱͽ֤Խ lusers_check=θ lusers_info= Unix 桼줿ȤˤΥե ƥ˼ưŪ˥ꤹ褦 Webmin Ǥޤϡ桼ɲä뤿 $1 Webmin ⥸塼뤬Ѥ줿ȤˤΤưޤ lusers_useradmin=桼ȥ롼 lusers_newuser=Υ桼 lusers_sblimit=ե ֥å lusers_hblimit=ϡ ֥å lusers_sflimit=ե ե lusers_hflimit=ϡ ե lusers_apply=Ŭ grace_seconds= grace_minutes=ʬ grace_hours= grace_days= grace_weeks= grace_months= log_activate_u=$1 ǥ桼Υͭˤޤ log_activate_g=$1 ǥ롼פΥͭˤޤ log_activate_ug=$1 ǥ桼ȥ롼פΥͭˤޤ log_deactivate_u=$1 ǥ桼Υ̵ˤޤ log_deactivate_g=$1 ǥ롼פΥ̵ˤޤ log_deactivate_ug=$1 ǥ桼ȥ롼פΥ̵ˤޤ log_save=$2 $1 Υѹޤ log_sync=$1 ǿΥ桼 ѹޤ log_grace_u=$1 ǥ桼ͱͽ֤ѹޤ log_grace_g=$1 ǥ롼ͱͽ֤ѹޤ log_check=$1 ǥ򸡺ޤ log_copy_u=桼 $1 Υ򥳥ԡޤ log_copy_g=롼 $1 Υ򥳥ԡޤ quota/lang/pt0000644000567100000120000000003211140674062013152 0ustar jcameronwheelquota_unlimited=Ilimitado quota/lang/ko_KR.UTF-80000664000567100000120000003557511140674062014364 0ustar jcameronwheelacl_email=이메일 통지 설정 acl_fall=모든 파일 시스템 acl_fsel=선택한 파일 시스템.. acl_fss=이 사용자가 편집할 수 있는 파일 시스템 acl_gall=모든 그룹 acl_gexcept=그룹을 제외한 모두 acl_ggrace=그룹 유예 기간을 편집할 수 있습니까? acl_gnone=그룹 없음 acl_gonly=그룹만 acl_gquota=이 사용자에 의한 할당량 편집이 가능한 그룹 acl_maxblocks=최대 가능한 블럭 할당량 acl_maxfiles=최대 가능한 파일 할당량 acl_quotanew=새 사용자의 할당량을 구성할 수 있습니까? acl_quotaon=할당량을 사용 가능/사용 불능으로 설정할 수 있습니까? acl_ro=할당량를 수정하지 않고 보기만 하겠습니까? acl_uall=모든 사용자 acl_uexcept=사용자를 제외한 모두 acl_ugrace=사용자 유예 기간을 편집할 수 있습니까? acl_ugroup=주 그룹이 있는 사용자 acl_unlimited=제한 없음 acl_uonly=사용자만 acl_uquota=이 사용자에 의한 할당량 편집이 가능한 사용자 acl_uuid=다음 UID 범위의 사용자 : acl_vtotal=총 디스크 공간을 볼 수 있습니까? activate_eallow=이 파일 시스템에서는 할당량을 사용 가능/사용 불능으로 설정할 수 없습니다 activate_eoff=할당량을 비 활성화하지 못했습니다 activate_eon=할당량을 활성화 못했습니다 cgform_all=시스템의 모든 그룹 cgform_contain=사용자가 포함된 그룹 cgform_copyto=모든 파일 시스템의 $1에 대해 할당량을 복사할 대상... cgform_doit=복사 cgform_ecannot=할당량을 복사할 수 없습니다 cgform_egroup=이 그룹의 할당량을 복사할 수 없습니다 cgform_return=그룹 할당량 cgform_select=선택한 그룹 cgform_title=할당량 복사 cgroup_eallowto='$1'에 할당량을 복사할 수 없습니다 cgroup_ecannot=할당량을 복사할 수 없습니다 cgroup_efail=할당량을 복사하지 못했습니다 cgroup_egallow=이 그룹의 할당량을 복사할 수 없습니다 cgroup_enogroup=복사할 그룹이 없습니다 check_done=... 완료되었습니다. check_ecannot=이 파일 시스템에서는 할당량을 검사할 수 없습니다 check_return=$1 목록 check_rgroup=그룹 check_running=$1의 블록 및 파일 사용을 검사하는 quotacheck 명령이 실행되고 있습니다. 대형 파일 시스템에서는 많은 시간이 걸릴 수 있습니다... check_ruser=사용자 check_title=할당량 검사 cuform_all=시스템의 모든 사용자 cuform_copyto=모든 파일 시스템의 $1에 대해 할당량을 복사할 대상... cuform_doit=복사 cuform_ecannot=할당량을 복사할 수 없습니다 cuform_euallow=이 사용자의 할당량을 복사할 수 없습니다 cuform_members=선택한 그룹의 구성원 cuform_return=사용자 할당량 cuform_select=선택한 사용자 cuform_title=할당량 복사 cuser_eallowto='$1'에 할당량을 복사할 수 없습니다 cuser_ecannot=할당량을 복사할 수 없습니다 cuser_efail=할당량을 복사하지 못했습니다 cuser_enouser=복사할 사용자가 없습니다 cuser_euallow=이 사용자의 할당량을 복사할 수 없습니다 egroup_bused=사용된 블록 egroup_eallowfs=이 파일 시스템에서는 할당량을 편집할 수 없습니다 egroup_eallowgr='$1'의 할당량을 편집할 수 없습니다 egroup_freturn=파일 시스템 목록 egroup_fused=사용된 파일 egroup_greturn=그룹 목록 egroup_hblimit=하드 블록 제한 egroup_hflimit=하드 파일 제한 egroup_hklimit=Hard kilobyte 제한 egroup_kused=Kilobyte 사용 egroup_listall=모든 할당량 나열 egroup_quotas=$1$2에 대한 할당량 egroup_sblimit=소프트 블록 제한 egroup_sflimit=소프트 파일 제한 egroup_sklimit=Soft kilobyte 제한 egroup_title=할당량 편집 egroup_update=업데이트 email_ecannot=이메일 옵션을 수정할 권한이 없습니다. email_edomain=메일 도메인이 지정되지 않았거나 올바르지 않습니다. email_efrom=From: 주소가 지정되지 않았거나 올바르지 않습니다. email_einterval=간격이 지정되지 않았거나 올바르지 않습니다. email_epercent=사용자 퍼센티지가 지정되지 않았거나 올바르지 않습니다. email_err=이메일 옵션 저장 실패 email_eto=받을 이메일 주소가 지정되지 않았습니다. email_msg=$2 파일시스템의 $1 사용자의 디스크 사용량이 허가된 할당의\n$3%에 도달했습니다.\n\n디스크 공간의 $4를 사용할 수 있으며, 최대 $5를 넘을 수 없습니다. email_subject=디스크 할당량 초과 euser_bdisk=사용 가능한 디스크 블록 euser_bused=사용된 블록 euser_eallowfs=이 파일 시스템에서는 할당량을 편집할 수 없습니다 euser_eallowus='$1'의 할당량을 편집할 수 없습니다 euser_fdisk=사용 가능한 디스크 파일 euser_freturn=파일 시스템 목록 euser_fused=사용된 파일 euser_hblimit=하드 블록 제한 euser_hflimit=하드 파일 제한 euser_hklimit=Hard kilobyte 제한 euser_kdisk=디스크의 사용 가능한 kilobyte euser_kused=Kilobyte 사용 euser_listall=모든 할당량 나열 euser_quotas=$1$2에 대한 할당량 euser_sblimit=소프트 블록 제한 euser_sdisk=디스크의 사용 가능한 공간 euser_sflimit=소프트 파일 제한 euser_sklimit=Soft kilobyte 제한 euser_title=할당량 편집 euser_update=업데이트 euser_ureturn=사용자 목록 gemail_msg=$2 파일시스템의 $1 사용자의 디스크 사용량이 허가된 할당의\n$3%에 도달했습니다.\n\n디스크 공간의 $4를 사용할 수 있으며, 최대 $5를 넘을 수 없습니다. gemail_subject=디스크 할당량 초과 gfilesys_all=다음에 대한 모든 할당량 gfilesys_blocks=블록 gfilesys_copy=할당량 복사 gfilesys_ecannot='$1'의 할당량을 편집할 수 없습니다 gfilesys_edit=할당량 편집 대상: gfilesys_files=파일 gfilesys_fs=파일 시스템 gfilesys_hard=하드 제한 gfilesys_kbs=Kilobyte gfilesys_nogquota=그룹 $1은(는) 아무 파일 시스템에도 할당량을 가지지 않습니다 gfilesys_return=파일 시스템 목록 gfilesys_soft=소프트 제한 gfilesys_space=디스트 공간 gfilesys_title=그룹 할당량 gfilesys_used=사용됨 ggracef_block=블록 할당량의 경우 ggracef_ecannot=이 파일 시스템의 유예 기간을 편집할 수 없습니다 ggracef_file=파일 할당량의 경우 ggracef_graces=$1의 그룹 유예 기간 ggracef_info=각 파일 시스템마다 블록 및 파일 할당량에 대한 유예 기간이 있습니다. 유예 기간은 파일을 더 작성할 수 없을 때까지 그룹이 소프트 제한 상태로 유지되는 기간입니다. ggracef_return=그룹 목록 ggracef_title=유예 기간 ggracef_update=업데이트 ggraces_eedit=이 파일 시스템의 유예 기간을 편집할 수 없습니다 ggraces_enumber='$1'은(는) 숫자가 아닙니다 ggraces_esave=유예 기간을 저장하지 못했습니다 gmass_count=선택된 $1 그룹에 다음 변경 사항이 적용 됩니다 .. gmass_err=그룹 할당량 업데이트 실패 gmass_header=선택된 그룹에 할당량 변경 사항 적용 gmass_ok=그룹 업데이트 gmass_title=그룹 할당량 업데이트 grace_days=일 grace_hours=시 grace_minutes=분 grace_months=월 grace_seconds=초 grace_weeks=주 index_action=동작 index_active=활성 상태입니까? index_disable=할당량 사용 불능 index_egroup=그룹 할당량 편집: index_enable=할당량 사용 가능 index_euser=사용자 할당량 편집: index_fs=파일 시스템 index_inactive=비활성 index_mount=마운트 소스 index_mountmod=디스크 및 네트워크 파일 시스템 모듈에서 파일시스템에 대한 할당량을 활성화 활 수 있습니다. index_mountonly=마운트 시에만 가능 index_nosupport=할당량을 지원할 수 있는 로컬 파일 시스템이 없습니다 index_qboth=사용자 및 그룹 할당량 index_qgroup=그룹 할당량 index_quser=사용자 할당량 index_return=인덱스 index_status=상태 index_title=디스크 할당량 index_type=유형 lgroups_blocks=블록 lgroups_check=할당량 검사 lgroups_eallow=이 파일 시스템에서는 할당량을 편집할 수 없습니다 lgroups_email=그룹에 메일을 전송하겠습니까? lgroups_emailheader=할당량에 도달하면 그룹에 메일을 전송 lgroups_equota=할당량 편집 대상: lgroups_failed=그룹을 나열하지 못했습니다 lgroups_files=파일 lgroups_grace=유예 기간 편집 lgroups_group=그룹 lgroups_hard=하드 제한 lgroups_info=새로운 unix 그룹이 생성이 되면, Webmin이 이 파일 시스템에 추가된 그룹에 대하여 할당량을 자동으로 할당하도록 설정을 할 수 있습니다. 이 기능은 그룹을 추가하기 위한 $1 Webmin 모듈이 설치되어 있어야 작동 합니다. lgroups_kbs=Kilobyte lgroups_mass=선택된 그룹 업데이트 lgroups_newgroup=새 그룹 할당량 lgroups_noquota=$1에 할당량이 있는 그룹이 없습니다 lgroups_quotas=$1의 모든 그룹 할당량 lgroups_return=파일 시스템 목록 lgroups_soft=소프트 제한 lgroups_space=디스크 공간 lgroups_title=파일 시스템 할당량 lgroups_to=받을 메일 주소 lgroups_tofixed=주소 $1 lgroups_toomany=$1에 할당량이 있는 그룹이 너무 많아 한 페이지에 표시할 수 없습니다 lgroups_tosame=그룹과 같은 이름의 메일박스 lgroups_tovirt=Virtualmin 도메인 소유자 lgroups_used=사용됨 log_activate_g=$1의 그룹 할당량이 사용 가능으로 설정됨 log_activate_u=$1의 사용자 할당량이 사용 가능으로 설정됨 log_activate_ug=$1의 사용자 및 그룹 할당량이 사용 가능으로 설정됨 log_check=$1의 할당량 검사됨 log_copy_g=그룹 $1의 할당량 복사됨 log_copy_u=사용자 $1의 할당량 복사됨 log_deactivate_g=$1의 그룹 할당량이 사용 불능으로 설정됨 log_deactivate_u=$1의 사용자 할당량이 사용 불능으로 설정됨 log_deactivate_ug=$1의 사용자 및 그룹 할당량이 사용 불능으로 설정됨 log_email_group=$1의 그룹 이메일 옵션 변경 log_email_user=$1의 사용자 이메일 옵션 변경 log_grace_g=$1의 그룹 유예 기간 변경됨 log_grace_u=$1의 사용자 유예 기간 변경됨 log_gsync=$1의 새 그룹 할당량 변경 log_save=$2의 $1에 대한 할당량 변경됨 log_sync=$1의 새 사용자 할당량 변경됨 luser_virtualmin=Virtualmin에서 도메인 가져오기 lusers_apply=적용 lusers_blocks=블록 lusers_bsize=할당량 블럭 크기 : $1 byte lusers_check=할당량 검사 lusers_domain=사용자 주소를 위한 도메인 lusers_eallow=이 파일 시스템의 할당량을 편집할 수 없습니다 lusers_egrace=유예 기간 편집 lusers_email=사용자에게 메일을 전송하겠습니까? lusers_emailheader=할당량에 도달하면 사용자에게 메일 전송 lusers_equota=할당량 편집 대상: lusers_failed=사용자를 나열하지 못했습니다 lusers_files=파일 lusers_from=이메일의 From: 주소 lusers_grace=유예 lusers_hard=하드 제한 lusers_hblimit=하드 블록 제한 lusers_hflimit=하드 파일 제한 lusers_hours=시 lusers_info=새 유닉스 사용자 작성시 이 파일 시스템에서 할당량이 자동으로 설정되도록 Webmin을 구성할 수 있습니다. 이러한 구성은 $1 Webmin 모듈이 사용자를 추가하는 데 사용될 때만 가능합니다. lusers_interval=메시지 발송 간격 lusers_kbs=Kilobyte lusers_ltype=제한 형식 lusers_mass=선택된 사용자 업데이트 lusers_newuser=새 사용자 할당량 lusers_noquota=$1에 할당량이 있는 사용자가 없습니다 lusers_pc_hblocks=Hard % lusers_pc_sblocks=Soft % lusers_percent=사용량이 도달했을 경우 경고 lusers_qoutas=$1의 모든 사용자 할당량 lusers_return=파일 시스템 목록 lusers_sblimit=소프트 블록 제한 lusers_sflimit=소프트 파일 제한 lusers_soft=소프트 제한 lusers_space=디스크 공간 lusers_title=파일 시스템 할당량 lusers_toomany=$1에 할당량이 있는 그룹이 너무 많아서 한 페이지에 표시할 수 없습니다 lusers_used=사용됨 lusers_user=사용자 lusers_useradmin=사용자 및 그룹 quota_unlimited=제한 없음 sgroup_efs=이 파일 시스템의 할당량을 편집할 수 없습니다 sgroup_egroup=이 그룹의 할당량을 편집할 수 없습니다 ssync_ecannot=이 파일 시스템의 기본 할당량을 설정할 수 없습니다 suser_efs=이 파일 시스템의 할당량을 편집할 수 없습니다 suser_emaxblocks=$1 이상 블럭 제한을 할 권한이 없습니다. suser_emaxfiles=$1 이상 파일 제한을 할 권한이 없습니다. suser_euser=이 사용자의 할당량을 편집할 수 없습니다 ufilesys_all=$1의 모든 할당량 ufilesys_blocks=블록 ufilesys_copy=할당량 복사 ufilesys_ecannot='$1'의 할당량을 편집할 수 없습니다 ufilesys_edit=할당량 편집 대상: ufilesys_files=파일 ufilesys_fs=파일 시스템 ufilesys_grace=유예 ufilesys_hard=하드 제한 ufilesys_kbs=Kilobyte ufilesys_nouquota=사용자 $1은(는) 아무 파일 시스템에서도 할당량을 가지지 않습니다 ufilesys_return=파일 시스템 목록 ufilesys_soft=소프트 제한 ufilesys_space=디스크 공간 ufilesys_title=사용자 할당량 ufilesys_used=사용됨 ugracef_block=블록 할당량의 경우 ugracef_ecannot=이 파일 시스템의 유예 기간을 편집할 수 없습니다 ugracef_file=파일 할당량의 경우 ugracef_graces=$1의 사용자 유예 기간 ugracef_info=각 파일 시스템마다 블록 및 파일 할당량에 대한 유예 기간이 있습니다. 유예 기간은 파일을 더 작성할 수 없을 때까지 사용자가 소프트 제한 상태로 유지되는 기간입니다. ugracef_return=사용자 목록 ugracef_title=유예 기간 ugracef_update=업데이트 ugraces_eedit=이 파일 시스템의 유예 기간을 편집할 수 없습니다 ugraces_enumber='$1'은(는) 숫자가 아닙니다 ugraces_esave=유예 기간을 저장하지 못했습니다 umass_count=다음 변경 사항은 선택된 $1 사용자에게 적용이 됩니다 .. umass_ehblocks=Hard 블럭 제한이 지정되지 않았거나 올바르지 않습니다. umass_ehfiles=Hard 파일 제한이 지정되지 않았거나 올바르지 않습니다. umass_err=사용자 할당량 업데이트 실패 umass_esblocks=Soft 블럭 제한이 지정되지 않았거나 올바르지 않습니다. umass_esfiles=Soft 파일 제한이 지정되지 않았거나 올바르지 않습니다. umass_hblocks=Hard 블럭 제한 umass_header=선택된 사용자에게 할당량 변경 사항을 적용 umass_hfiles=Hard 파일 제한 umass_leave=변경 안함 umass_ok=사용자 업데이트 umass_sblocks=Soft 블럭 제한 umass_set=다음으로 설정 : umass_sfiles=Soft 파일 제한 umass_title=사용자 할당량 업데이트 umass_unlimited=제한 없음으로 설정 quota/lang/es0000644000567100000120000003065211140674062013151 0ustar jcameronwheelacl_email=¿Puede configurar notificaciones por email? acl_fall=Todos los sistemas de archivo acl_fsel=Los seleccionados... acl_fss=Sistemas de archivo que este usuario puede editar acl_gall=Todos los grupos acl_gexcept=Todos excepto los grupos acl_ggrace=¿Puede editar tiempos de gracia de grupos? acl_gnone=Ningún grupo acl_gonly=Sólo los grupos acl_gquota=Grupos a los que este usuario puede editar cuotas acl_maxblocks=Máxima cuota de bloques que conceder acl_maxfiles=Máxima cuota de ficheros que conceder acl_quotanew=¿Puede configurar cuotas para nuevos usuarios? acl_quotaon=¿Puede activar y desactivar las cuotas? acl_ro=¿Sólo puede ver la cuota y no editarla? acl_uall=Todos los usuarios acl_uexcept=Todos excepto los usuarios acl_ugrace=¿Puede editar tiempos de gracia de usuarios? acl_ugroup=Usuarios con grupo primario acl_unlimited=Ilimitado acl_uonly=Sólo los usuarios acl_uquota=Usuarios a los que este usuario puede editar cuotas acl_uuid=Usuarios con UID en el rango acl_vtotal=¿Puede ver espacio total en disco? activate_eallow=No estás autorizado a activar o desactivar cuotas en este sistema de archivos activate_eoff=No pude apagar las cuotas activate_eon=No pude encender las cuotas cgform_all=Todos los grupos en tu sistema cgform_contain=Grupos conteniendo usuarios cgform_copyto=Copiar cuotas para $1 en TODOS los sistemas de archivo a.. cgform_doit=Copiar cgform_ecannot=No puedes copiar cuotas cgform_egroup=No estás autorizado a copiar las cuotas de este grupo cgform_return=Cuota de grupo cgform_select=Grupos seleccionados cgform_title=Copiar Cuotas cgroup_eallowto=No estás autorizado a copiar cuotas a '$1' cgroup_ecannot=No puedes copiar las cuotas cgroup_efail=No pude copiar las cuotas cgroup_egallow=No estás autorizado a copiar las cuotas de este grupo cgroup_enogroup=No hay grupos a donde copiar check_done=... Hecho. check_ecannot=No puedes revisar cuotas en este sistema de archivos check_return=lista $1 check_rgroup=grupo check_running=El comando quotacheck se está ejecutando ahora para revisar el bloque y uso de archivo en $1. Esto puede llevar un largo tiempo si el sistema de archivos es muy grande... check_ruser=usuario check_title=Revisar Cuotas cuform_all=Todos los usuarios en tu sistema cuform_copyto=Copiar cuotas para $1 en TODOS los sistemas de archivo a... cuform_doit=Copiar cuform_ecannot=No puedes copiar cuotas cuform_euallow=No estás autorizado a copiar las cuotas de este usuario cuform_members=Miembros del grupos selectos cuform_return=cuota de usuario cuform_select=Usuarios seleccionados cuform_title=Copiar Cuotas cuser_eallowto=No esta autorizado a copiar cuotas a '$1' cuser_ecannot=No puedes copiar cuotas cuser_efail=No pude copiar cuotas cuser_enouser=No hay usuarios a donde copiar cuser_euallow=No estás autorizado a copiar las cuotas de este usuario egroup_bused=Bloques Usados egroup_eallowfs=No estás autorizado a editar cuotas en este sistema de archivos egroup_eallowgr=No estás autorizado a editar cuotas para '$1' egroup_freturn=lista de sistemas de archivo egroup_fused=Archivos Usados egroup_greturn=lista de grupos egroup_hblimit=Límite de Bloques por Hard egroup_hflimit=Límite de Archivos por Hard egroup_hklimit=Límite duro kilobyte egroup_kused=Kilobytes usados egroup_listall=Listar Todas las Cuotas egroup_quotas=Cuota para $1 en $2 egroup_sblimit=Límite de Bloques por Soft egroup_sflimit=Límite de Archivos por Soft egroup_sklimit=Límite blando kilobyte egroup_title=Editar Cuota egroup_update=Actualizar email_ecannot=No está autorizado a modificar las opciones de email email_edomain=Dominio de correo no válido o sin introducir email_efrom=De: dirección no válido o sin introducir email_einterval=Intervalo no válido o sin introducir email_epercent=Porcentaje de uso no válido o sin introducir email_err=Fallo al salvar opciones de email email_msg=El uso de disco del usuario $1 en el sistema de archivos $2 ha alcanzado el $3% de la cuota \npermitida.\n\n$4 del espacio de disco se está usando, de un máximo de $5. email_subject=Cuota de disco excedida euser_bdisk=Bloques Disponibles en Disco euser_bused=Bloques Usados euser_eallowfs=No estás autorizado a editar cuotas en este sistema de archivos euser_eallowus=No estás autorizado a editar cuotas para '$1' euser_fdisk=Archivos Disponibles en Disco euser_freturn=lista de sistemas de archivo euser_fused=Archivos Usados euser_hblimit=Límite de Bloques por Hard euser_hflimit=Límite de Archivos por Hard euser_hklimit=Límite duro kilobyte euser_kdisk=Kilobytes disponibles en disco euser_kused=Kilobytes usados euser_listall=Listar Todas las Cuotas euser_quotas=Cuota para $1 en $2 euser_sblimit=Límite de Bloques por Soft euser_sdisk=Espacio disponible en disco euser_sflimit=Límite de Archivos por Soft euser_sklimit=Límite blando kilobyte euser_title=Editar Cuota euser_update=Actualizar euser_ureturn=lista de usuarios gfilesys_all=Todas las Cuotas para gfilesys_blocks=Bloques gfilesys_copy=Copiar Cuotas gfilesys_ecannot=No puedes editar cuotas para '$1' gfilesys_edit=Editar Cuota En: gfilesys_files=Archivos gfilesys_fs=Sistema de Archivos gfilesys_hard=Límite por Hard gfilesys_kbs=Kilobytes gfilesys_nogquota=El grupo $1 no tiene cuotas en ningún sistema de archivos gfilesys_return=lista de sistemas de archivo gfilesys_soft=Límite por Soft gfilesys_space=Espacio en disco gfilesys_title=Cuotas de Grupo gfilesys_used=Usado ggracef_block=Para cuota de bloque ggracef_ecannot=No puedes editar tiempos de gracia en este sistema de archivos ggracef_file=Para cuota de archivo ggracef_graces=Tiempos de Gracia de Grupo para $1 ggracef_info=Cada sistema de archivos tiene un tiempo de gracia para las cuotas de bloques y archivos. El tiempo de gracia determina cuánto puede un grupo permanecer sobre el límite de soft antes de que no se le permita crear más archivos. ggracef_return=lista de grupos ggracef_title=Tiempos de Gracia ggracef_update=Actualizar ggraces_eedit=No puedes editar tiempos de gracia en este sistema de archivos ggraces_enumber='$1' no es un número ggraces_esave=No pude salvar tiempos de gracia grace_days=Días grace_hours=Horas grace_minutes=Minutos grace_months=Meses grace_seconds=Segundos grace_weeks=Semanas index_action=Acción index_active=Activa index_disable=Desactivar Cuotas index_egroup=Editar Cuotas de Grupo: index_enable=Activar Cuotas index_euser=Editar Cuotas de Usuario: index_fs=Sistema de Archivos index_inactive=Inactiva index_mount=Montado Desde index_mountmod=Puede habilitar las cuotas para un sistema de archivos en el módulo Sistemas de archivo de Disco y de Red index_mountonly=Sólo se puede activar durante el montaje index_nosupport=No hay sistemas de archivo locales que puedan soportar cuotas index_qboth=Cuotas de Usuario y Grupo index_qgroup=Cuotas de Grupo index_quser=Cuotas de Usuario index_return=índice index_status=Estado index_title=Cuotas de Disco index_type=Tipo lgroups_blocks=Bloques lgroups_check=Revisar Cuotas lgroups_eallow=No estás autorizado a editar cuotas en este sistema de archivos lgroups_equota=Editar Cuota Para: lgroups_failed=No pude listar grupos lgroups_files=Archivos lgroups_grace=Editar Tiempos de Gracia lgroups_group=Grupos lgroups_hard=Límite por Hard lgroups_info=Webmin puede configurarse para que configure automáticamente las cuotas en este sistema de archivos, cuando se crea un nuevo grupo Unix. Esto sólo funcionará cuando se use para añadir los grupos el módulo Webmin $1. lgroups_kbs=Kilobytes lgroups_newgroup=Cuotas de Nuevo Grupo lgroups_noquota=No hay grupos que tengan cuotas en $1 lgroups_quotas=Todas las Cuotas de Grupo en $1 lgroups_return=listar sistema de archivos lgroups_soft=Límite por Soft lgroups_space=Espacio en disco lgroups_title=Cuotas de Sistema de Archivos lgroups_toomany=Demasiados grupos tienen cuotas en $1 para mostrarlas en una página lgroups_used=Usado log_activate_g=Cuotas de grupo activadas en $1 log_activate_u=Cuotas de usuario activadas en $1 log_activate_ug=Cuotas de usuario y grupo activadas en $1 log_check=Revisadas cuotas en $1 log_copy_g=Copiadas cuotas de grupo $1's log_copy_u=Copiadas cuotas de usuario $1's log_deactivate_g=Cuotas de grupo desactivadas en $1 log_deactivate_u=Cuotas de usuario desactivadas en $1 log_deactivate_ug=Cuotas de usuario y grupo desactivadas en $1 log_email=Cambiar opciones de email en $1 log_grace_g=Cambiados períodos de gracia de grupo en $1 log_grace_u=Cambiados períodos de gracia de usuario en $1 log_gsync=Cuotas de nuevos grupos cambiadas en $1 log_save=Cuotas cambiadas para $1 en $2 log_sync=Cuotas de nuevo usuario cambiadas en $1 luser_virtualmin=¿Tomar dominio de Virtualmin? lusers_apply=Aplicar lusers_blocks=Bloques lusers_bsize=Tamaño de bloque de cuota : $1 bytes lusers_check=Revisar Cuotas lusers_domain=Dominio para direcciones de usuario lusers_eallow=No estás autorizado a editar cuotas en este sistema de archivos lusers_egrace=Editar Tiempos de Gracia lusers_email=¿Mandar email a los usuarios? lusers_emailheader=Mandar email a los usuarios que se aproximen a su cuota lusers_equota=Editar Cuota Para: lusers_failed=No pude listar usuarios lusers_files=Archivos lusers_from=De: dirección para el email lusers_grace=Gracia lusers_hard=Límite por Hard lusers_hblimit=Límite de Bloque por Hard lusers_hflimit=Límite de Archivo por Hard lusers_hours=horas lusers_info=Webmin puede ser configurado para poner automáticamente las cuotas en este sistema de archivos cada vez que un nuevo usuario de Unix sea creado. Esto sólo funcionará cuando los $1 el módulo de Webmin es utilizado para añadir usarios. lusers_interval=Intervalo entre mensajes lusers_kbs=Kilobytes lusers_ltype=Tipo de límite lusers_newuser=Nuevas Cuotas de Usuario lusers_noquota=No hay usuarios que tengan cuotas lusers_pc_hblocks=Duro % lusers_percent=Avisar cuando el uso alcanza lusers_qoutas=Todas las Cuotas de Usuario aquí $1 lusers_return=lista de sistemas de archivo lusers_sblimit=Límite de Bloque por Soft lusers_sflimit=Límite de Archivo por Soft lusers_soft=Límite por Soft lusers_space=Espacio en disco lusers_title=Cuotas de Sistema de Archivos lusers_toomany=Demasiados usuarios tiene cuotas aquí $1 para ser mostradas en una página lusers_used=Usado lusers_user=Usuario lusers_useradmin=Usuarios y Grupos quota_unlimited=Ilimitada sgroup_efs=No estás autorizado a editar las cuotas en este sistema de archivos sgroup_egroup=No estás autorizado a editar las cuotas para este grupo ssync_ecannot=No puedes poner la cuota por defecto para este sistema de archivos suser_efs=No estás autorizado a editar las cuotas en este sistema de archivos suser_emaxblocks=No tiene permiso para conceder límites de bloques superiores a $1 suser_emaxfiles=No tiene permiso para conceder límites de ficheros superiores a $1 suser_euser=No estás autorizado a editar las cuotas de este usuario ufilesys_all=Todas las Cuotas para $1 ufilesys_blocks=Bloques ufilesys_copy=Copiar Cuotas ufilesys_ecannot=No puedes editar cuotas para '$1' ufilesys_edit=Editar Cuota En: ufilesys_files=Archivos ufilesys_fs=Sistema de Archivos ufilesys_grace=Gracia ufilesys_hard=Límite por Hard ufilesys_kbs=Kilobytes ufilesys_nouquota=El usuario $1 no tiene cuotas en este sistema de archivos ufilesys_return=lista de sistema de archivos ufilesys_soft=Límite por Soft ufilesys_space=Espacio en disco ufilesys_title=Cuotas de Usuario ufilesys_used=Usado ugracef_block=Para cuota de bloque ugracef_ecannot=No puedes editar tiempos de gracia en este sistema de archivos ugracef_file=Para cuota de archivo ugracef_graces=Tiempos de Gracia de Usuario $1 ugracef_info=Cada sistema de archivos tiene un tiempo de gracia para las cuotas de bloque y de archivo. El tiempo de gracia determina cuánto puede permanecer un usuario sobre el límite de soft antes de que no se le permita crear más archivos. ugracef_return=lista de usuarios ugracef_title=Tiempos de Gracia ugracef_update=Actualizar ugraces_eedit=No puedes editar tiempos de gracia en este sistema de archivos ugraces_enumber='$1' no es un número ugraces_esave=No pude salvar tiempos de gracia quota/config-solaris0000644000567100000120000000073411140674062014536 0ustar jcameronwheeldisplay_max=100 user_quotaoff_command=quotaoff user_quotaon_command=quotaon user_repquota_command=repquota -v user_grace_command=edquota -t user_quota_command=quota -v quotacheck_command=quotacheck user_edquota_command=edquota user_copy_command=edquota -p sort_mode=0 block_mode=1 show_grace=1 email_msg=Disk usage for user ${USER} on filesystem ${FS} has reached ${PERCENT}% of the allowed quota. ${USED} of disk space is being used, out of a maximum of ${QUOTA}. pc_show=1 quota/hpux-lib.pl0000755000567100000120000001441111140674062013761 0ustar jcameronwheel# hpux-lib.pl # Quota functions for HPUX # quotas_init() sub quotas_init { return undef; } # quotas_supported() # Returns 1 for user quotas, 2 for group quotas or 3 for both sub quotas_supported { return 1; } # free_space(filesystem) # Returns an array containing btotal, bfree, ftotal, ffree sub free_space { local($out); $out = `df -t $_[0]`; $out =~ /(\d+) blocks\s+(\d+) files\n.*\s+(\d+) blocks\s+(\d+) files/; return ($3, $1, $4, $2); } # quota_can(&mnttab, &fstab) # Can this filesystem type support quotas? # 0 = No quota support (or not turned on in /etc/fstab) # 1 = User quotas only # 2 = Group quotas only # 3 = User and group quotas sub quota_can { return $_[0]->[2] eq "hfs" || $_[0]->[2] eq "vxfs" ? 1 : 0; } # quota_now(&mnttab, &fstab) # Are quotas currently active? # 0 = Not active # 1 = User quotas active # 2 = Group quotas active # 3 = Both active sub quota_now { return $_[0]->[3] =~ /,quota/ || $_[0]->[3] =~ /^quota/ ? 1 : 0; } # filesystem_users(filesystem) # Fills the array %user with information about all users with quotas # on this filesystem. This may not be all users on the system.. sub filesystem_users { local($rep, @rep, $n, $newfmt); $rep = `$config{'user_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = @rep[3..$#rep]; `uname -r` =~ /(\d+)\.(\d+)/; if ($1 > 10 || $1 == 10 && $2 >= 20) { $newfmt = 1; } for($n=0; $n<@rep; $n++) { if ($newfmt && $rep[$n] =~ /(\S+)\s+..(.{7})(.{7})(.{7}).{13}(.{7})(.{7})(.{7})/ || !$newfmt && $rep[$n] =~ /(\S+)\s+..(\d+)\s+(\d+)\s+(\d+)\s+.{11}(\d+)\s+(\d+)\s+(\d+)/) { $user{$n,'user'} = $1; $user{$n,'ublocks'} = int($2); $user{$n,'sblocks'} = int($3); $user{$n,'hblocks'} = int($4); $user{$n,'ufiles'} = int($5); $user{$n,'sfiles'} = int($6); $user{$n,'hfiles'} = int($7); $user{$n,'user'} =~ s/^#//g; } } return $n; } # edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles) sub edit_quota_file { local($rv, $line); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^fs (\S+) blocks \(soft = (\d+), hard = (\d+)\) inodes \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) { # found line to change $line = "fs $_[1] blocks (soft = $_[2], hard = $_[3]) inodes (soft = $_[4], hard = $_[5])"; } $rv .= "$line\n"; } return $rv; } # quotaon(filesystem, mode) # Activate quotas and create quota file for some filesystem. The mode can # be 1 for user only, 2 for group only or 3 for user and group sub quotaon { return if (&is_readonly_mode()); local($qf, $out); $qf = "$_[0]/quotas"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); } $out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # quotaoff(filesystem, mode) # Turn off quotas for some filesystem sub quotaoff { return if (&is_readonly_mode()); local($out); $out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # quotacheck(filesystem, mode) # Runs quotacheck on some filesystem sub quotacheck { $out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # copy_user_quota(user, [user]+) # Copy the quotas for some user to many others sub copy_user_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'user_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # user_filesystems(user) # Fills the array %filesys with details of all filesystems some user has # quotas on sub user_filesystems { local($n, $_); open(QUOTA, "$config{'user_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line! $filesys{$n,'filesys'} = $1; local $nl = ; if ($nl =~ /^\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $nl =~ /^.{13}(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/) { $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'ufiles'} = int($4); $filesys{$n,'sfiles'} = int($5); $filesys{$n,'hfiles'} = int($6); $n++; } } elsif (/^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || /^(.{13})(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/) { $filesys{$n,'filesys'} = $1; $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'filesys'} =~ s/\s+$//g; $n++; } } close(QUOTA); return $n; } # get_user_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day, 4=week, 5=month sub get_user_grace { local(@rv); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'user_grace_command'} |"); while() { if (/^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[0]) { if ($2 == 0) { push(@rv, 0, 0); } else { push(@rv, $2, $name_to_unit{$3}); } if ($4 == 0) { push(@rv, 0, 0); } else { push(@rv, $4, $name_to_unit{$5}); } } } close(GRACE); return @rv; } # default_grace() # Returns 0 if grace time can be 0, 1 if zero grace means default sub default_grace { return 1; } # edit_grace_file(data, filesystem, btime, bunits, ftime, funits) sub edit_grace_file { local($rv, $line); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[1]) { # replace this line $line = "fs $_[1] blocks time limit = $_[2] $unit_to_name{$_[3]}, files time limit = $_[4] $unit_to_name{$_[5]}"; } $rv .= "$line\n"; } return $rv; } # grace_units() # Returns an array of possible units for grace periods sub grace_units { return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'}, $text{'grace_days'}, $text{'grace_weeks'}, $text{'grace_months'}); } %name_to_unit = ( "sec", 0, "secs", 0, "min", 1, "mins", 1, "hour", 2, "hours", 2, "day", 3, "days", 3, "week", 4, "weeks", 4, "month", 5, "months", 5 ); foreach $k (keys %name_to_unit) { $unit_to_name{$name_to_unit{$k}} = $k; } 1; quota/freebsd-lib.pl0000755000567100000120000002255711140674062014421 0ustar jcameronwheel# openbsd-lib.pl # Quota functions for openbsd # quotas_init() sub quotas_init { return undef; } # quotas_supported() # Returns 1 for user quotas, 2 for group quotas or 3 for both sub quotas_supported { return 3; } # free_space(filesystem) # Returns an array containing btotal, bfree, ftotal, ffree sub free_space { local(@out, @rv); $ENV{'BLOCKSIZE'} = 1024; `df -i $_[0]` =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)\s+\S+\s+(\d+)\s+(\d+)/; return ($1, $2, $3+$4, $4); } # quota_can(&mnttab, &fstab) # Can this filesystem type support quotas? # 0 = No quota support (or not turned on in /etc/fstab) # 1 = User quotas only # 2 = Group quotas only # 3 = User and group quotas sub quota_can { return ($_[1]->[3] =~ /userquota/ ? 1 : 0) + ($_[1]->[3] =~ /groupquota/ ? 2 : 0); } # quota_now(&mnttab, &fstab) # Are quotas currently active? # 0 = Not active # 1 = User quotas active # 2 = Group quotas active # 3 = Both active sub quota_now { return $_[0]->[3] =~ /quota/ ? 3 : 0; } # quotaon(filesystem, mode) # Activate quotas and create quota files for some filesystem. The mode can # be 1 for user only, 2 for group only or 3 for user and group sub quotaon { return if (&is_readonly_mode()); local($out, $qf, @qfile, $flags); if ($_[1]%2 == 1) { # turn on user quotas $qf = "$_[0]/quota.user"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); &system_logged("$config{'quotacheck_command'} $_[0]"); } $out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { # turn on group quotas $qf = "$_[0]/quota.group"; if (!(-r $qf)) { &open_tempfile(QUOTAFILE, ">$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, $qf); &system_logged("$config{'quotacheck_command'} $_[0]"); } $out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } # quotaoff(filesystem, mode) # Turn off quotas for some filesystem sub quotaoff { return if (&is_readonly_mode()); local($out); if ($_[1]%2 == 1) { $out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { $out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } # user_filesystems(user) # Fills the array %filesys with details of all filesystem some user has # quotas on sub user_filesystems { local($n, $_, %mtab); open(QUOTA, "$config{'user_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line $filesys{$n,'filesys'} = $1; =~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/; $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'ufiles'} = int($4); $filesys{$n,'sfiles'} = int($5); $filesys{$n,'hfiles'} = int($6); $n++; } elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) { $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'filesys'} = $1; $filesys{$n,'filesys'} =~ s/^\s+//g; $n++; } } close(QUOTA); return $n; } # group_filesystems(group) # Fills the array %filesys with details of all filesystem some group has # quotas on sub group_filesystems { local($n, $_, %mtab); open(QUOTA, "$config{'group_quota_command'} ".quotemeta($_[0])." |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line $filesys{$n,'filesys'} = $1; =~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/; $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'ufiles'} = int($4); $filesys{$n,'sfiles'} = int($5); $filesys{$n,'hfiles'} = int($6); $n++; } elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) { $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'filesys'} = $1; $filesys{$n,'filesys'} =~ s/^\s+//g; $n++; } } close(QUOTA); return $n; } # filesystem_users(filesystem) # Fills the array %user with information about all users with quotas # on this filesystem. This may not be all users on the system.. sub filesystem_users { local($rep, @rep, $n, $what); $rep = `$config{'user_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = grep { !/^root\s/ } @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) { $user{$n,'user'} = $1; $user{$n,'ublocks'} = int($2); $user{$n,'sblocks'} = int($3); $user{$n,'hblocks'} = int($4); $user{$n,'ufiles'} = int($5); $user{$n,'sfiles'} = int($6); $user{$n,'hfiles'} = int($7); } } return $n; } # filesystem_groups(filesystem) # Fills the array %group with information about all groups with quotas # on this filesystem. This may not be all groups on the system.. sub filesystem_groups { local($rep, @rep, $n, $what); $rep = `$config{'group_repquota_command'} $_[0] 2>&1`; if ($?) { return -1; } @rep = split(/\n/, $rep); @rep = @rep[3..$#rep]; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) { $group{$n,'group'} = $1; $group{$n,'ublocks'} = int($2); $group{$n,'sblocks'} = int($3); $group{$n,'hblocks'} = int($4); $group{$n,'ufiles'} = int($5); $group{$n,'sfiles'} = int($6); $group{$n,'hfiles'} = int($7); } } return $n; } # edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles) sub edit_quota_file { local($rv, $line, %mtab, @m); @line = split(/\n/, $_[0]); for($i=0; $i<@line; $i++) { if ($line[$i] =~ /^(\S+): (blocks|kbytes) in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) { # found lines to change $rv .= "$1: $2 in use: $3, limits (soft = $_[2], hard = $_[3])\n"; $line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/; $rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n"; } else { $rv .= "$line[$i]\n"; } } return $rv; } # quotacheck(filesystem, mode) # Runs quotacheck on some filesystem sub quotacheck { $out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1"); if ($?) { return $out; } return undef; } # copy_user_quota(user, [user]+) # Copy the quotas for some user to many others sub copy_user_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'user_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # copy_group_quota(group, [group]+) # Copy the quotas for some group to many others sub copy_group_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'group_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } # default_grace() # Returns 0 if grace time can be 0, 1 if zero grace means default sub default_grace { return 0; } # get_user_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day sub get_user_grace { local(@rv, %mtab, @m); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'user_grace_command'} $_[0] |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } } close(GRACE); return @rv; } # get_group_grace(filesystem) # Returns an array containing btime, bunits, ftime, funits # The units can be 0=sec, 1=min, 2=hour, 3=day sub get_group_grace { local(@rv, %mtab, @m); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$config{'group_grace_command'} $_[0] |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } } close(GRACE); return @rv; } # edit_grace_file(data, filesystem, btime, bunits, ftime, funits) sub edit_grace_file { local($rv, $line, @m, %mtab); foreach $line (split(/\n/, $_[0])) { if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[1]) { # replace this line $line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}"; } $rv .= "$line\n"; } return $rv; } # grace_units() # Returns an array of possible units for grace periods sub grace_units { return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'}, $text{'grace_days'}); } # fs_block_size(dir, device, filesystem) # Returns the size of blocks on some filesystem, or undef if unknown. # Always 1024, because the ENV setting above forces this. sub fs_block_size { return 1024; } %name_to_unit = ( "second", 0, "seconds", 0, "minute", 1, "minutes", 1, "hour", 2, "hours", 2, "day", 3, "days", 3, ); foreach $k (keys %name_to_unit) { $unit_to_name{$name_to_unit{$k}} = $k; } 1; quota/old-quota-lib.pl0000775000567100000120000000104611140674062014704 0ustar jcameronwheel# quota-lib.pl # Functions for getting user quotas do '../web-lib.pl'; &init_config(); &switch_to_remote_user(); require '../ui-lib.pl'; if ($gconfig{'os_type'} =~ /^\S+\-linux$/) { do "linux-lib.pl"; } else { do "$gconfig{'os_type'}-lib.pl"; } # print_limit(amount, no-blocks) sub print_limit { if ($_[0] == 0) { print "$text{'quota_unlimited'}\n"; } elsif ($bsize && !$_[1]) { print "",&nice_size($_[0]*$bsize),""; } else { print "$_[0]\n"; } } sub print_grace { print "",($_[0] || "
"),"\n"; } 1; quota/linux-lib.pl0000755000567100000120000005036311140674062014142 0ustar jcameronwheel=head1 linux-lib.pl Quota functions for all linux version. See quota-lib.pl for summary documentation for this module. =cut # Tell the mount module not to check which filesystems are supported, # as we don't care for the calls made by this module $mount::no_check_support = 1; # Pass UIDs and GIDs to edquota instead of names $edquota_use_ids = 1; =head2 quotas_init Returns an error message if some quota commands or functionality is missing on this system, undef otherwise. =cut sub quotas_init { if (&has_command("quotaon") && &has_command("quotaoff")) { return undef; } else { return "The quotas package does not appear to be installed on ". "your system\n"; } } =head2 quotas_supported Checks what quota types this OS supports. Returns 1 for user quotas, 2 for group quotas or 3 for both. =cut sub quotas_supported { return 3; } =head2 free_space(filesystem, [blocksize]) Finds the amount of free disk space on some system. Returns an array containing : blocks-total, blocks-free, files-total, files-free =cut sub free_space { local(@out, @rv); $out = `df -k $_[0]`; $out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/; if ($_[1]) { push(@rv, int($1*1024/$_[1]), int($2*1024/$_[1])); } else { push(@rv, $1, $2); } $out = `df -i $_[0]`; $out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/; push(@rv, $1, $2); return @rv; } =head2 quota_can(&mnttab, &fstab) Can this filesystem type support quotas? Takes array refs from mounted and mountable filesystems, and returns one of the following : =item 0 - No quota support (or not turned on in /etc/fstab). =item 1 - User quotas only. =item 2 - Group quotas only. =item 3 - User and group quotas. =cut sub quota_can { return ($_[1]->[3] =~ /usrquota|usrjquota/ || $_[0]->[3] =~ /usrquota|usrjquota/ ? 1 : 0) + ($_[1]->[3] =~ /grpquota|grpjquota/ || $_[0]->[3] =~ /grpquota|grpjquota/ ? 2 : 0); } =head2 quota_now(&mnttab, &fstab) Are quotas currently active? Takes array refs from mounted and mountable filesystems, and returns one of the following : =item 0 - Not active. =item 1 - User quotas active. =item 2 - Group quotas active. =item 3 - Both active. Adding 4 means they cannot be turned off (such as for XFS) =cut sub quota_now { local $rv = 0; local $dir = $_[0]->[0]; local %opts = map { $_, 1 } split(/,/, $_[0]->[3]); if ($_[0]->[2] eq "xfs") { # For XFS, assume enabled if setup in fstab $rv += 1 if ($opts{'quota'} || $opts{'usrquota'} || $opts{'uqnoenforce'}); $rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'}); return $rv + 4; } if ($_[0]->[4]%2 == 1) { # test user quotas if (-r "$dir/quota.user" || -r "$dir/aquota.user") { local $stout = &supports_status($dir, "user"); if ($stout =~ /is\s+(on|off)/) { # Can use output from -p mode if ($stout =~ /is\s+on/) { $rv += 1; } } else { # Fall back to testing by running quotaon $out = `$config{'user_quotaon_command'} $dir 2>&1`; if ($out =~ /Device or resource busy/i) { # already on.. $rv += 1; } elsif ($out =~ /Package not installed/i) { # No quota support! return 0; } else { # was off.. need to turn on again `$config{'user_quotaoff_command'} $dir 2>&1`; } } } } if ($_[0]->[4] > 1) { # test group quotas if (-r "$dir/quota.group" || -r "$dir/aquota.group") { local $stout = &supports_status($dir, "group"); if ($stout =~ /is\s+(on|off)/) { # Can use output from -p mode if ($stout =~ /is\s+on/) { $rv += 2; } } else { # Fall back to testing by running quotaon $out = `$config{'group_quotaon_command'} $dir 2>&1`; if ($out =~ /Device or resource busy/i) { # already on.. $rv += 2; } elsif ($out =~ /Package not installed/i) { # No quota support! return 0; } else { # was off.. need to turn on again `$config{'group_quotaoff_command'} $dir 2>&1`; } } } } return $rv; } =head2 supports_status(dir, mode) Internal function to check if the quotaon -p flag is supported. =cut sub supports_status { if (!defined($supports_status_cache{$_[0],$_[1]})) { local $stout = `$config{$_[1].'_quotaon_command'} -p $_[0] 2>&1`; $supports_status_cache{$_[0],$_[1]} = $stout =~ /is\s+(on|off)/ ? $stout : 0; } return $supports_status_cache{$_[0],$_[1]}; } =head2 quotaon(filesystem, mode) Activate quotas and create quota files for some filesystem. The mode can be one of : =item 1 - User only. =item 2 - Group only. =item 3 - User and group. =cut sub quotaon { local($out, $qf, @qfile, $flags, $version); return if (&is_readonly_mode()); # Check which version of quota is being used $out = `quota -V 2>&1`; if ($out =~ /\s(\d+\.\d+)/) { $version = $1; } # Force load of quota kernel modules &system_logged("modprobe quota_v2 >/dev/null 2>&1"); if ($_[1]%2 == 1) { # turn on user quotas local $qf = $version >= 2 ? "aquota.user" : "quota.user"; if (!-s "$_[0]/$qf") { # Setting up for the first time local $ok = 0; if (&has_command("convertquota") && $version >= 2) { # Try creating a quota.user file and converting it &open_tempfile(QUOTAFILE, ">>$_[0]/quota.user", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, "$_[0]/quota.user"); &system_logged("convertquota -u / 2>&1"); $ok = 1 if (!$?); &unlink_file("$_[0]/quota.user"); } if (!$ok) { # Try to create an [a]quota.user file &open_tempfile(QUOTAFILE, ">>$_[0]/$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, "$_[0]/$qf"); &run_quotacheck($_[0]) || &run_quotacheck($_[0], "-u -f") || &run_quotacheck($_[0], "-u -f -m") || &run_quotacheck($_[0], "-u -f -m -c"); } } $out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { # turn on group quotas local $qf = $version >= 2 ? "aquota.group" : "quota.group"; if (!-s "$_[0]/$qf") { # Setting up for the first time local $ok = 0; if (!$ok && &has_command("convertquota") && $version >= 2) { # Try creating a quota.group file and converting it &open_tempfile(QUOTAFILE, ">>$_[0]/quota.group", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, "$_[0]/quota.group"); &system_logged("convertquota -g / 2>&1"); $ok = 1 if (!$?); &unlink_file("$_[0]/quota.group"); } if (!$ok) { # Try to create an [a]quota.group file &open_tempfile(QUOTAFILE, ">>$_[0]/$qf", 0, 1); &close_tempfile(QUOTAFILE); &set_ownership_permissions(undef, undef, 0600, "$_[0]/$qf"); &run_quotacheck($_[0]) || &run_quotacheck($_[0], "-u -f") || &run_quotacheck($_[0], "-u -f -m") || &run_quotacheck($_[0], "-u -f -m -c"); } } $out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } =head2 run_quotacheck(filesys, args) Runs the quotacheck command on some filesytem, and returns 1 on success or 0 on failure. Mainly for internal use when enabling quotas. =cut sub run_quotacheck { local $out =&backquote_logged( "$config{'quotacheck_command'} $_[1] $_[0] 2>&1"); return $? || $out =~ /cannot remount|please stop/i ? 0 : 1; } =head2 quotaoff(filesystem, mode) Turn off quotas for some filesystem. Mode must be 0 for users only, 1 for groups only, or 2 for both. =cut sub quotaoff { return if (&is_readonly_mode()); local($out); if ($_[1]%2 == 1) { $out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } } if ($_[1] > 1) { $out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1"); if ($?) { return $out; } } return undef; } =head2 user_filesystems(user) Fills the global hash %filesys with details of all filesystem some user has quotas on, and returns a count of the number of filesystems. Some example code best demonstrates how this function should be used: foreign_require('quota', 'quota-lib.pl'); $n = quota::user_filesystems('joe'); for($i=0; $i<$n; $i++) { print "filesystem=",$filesys{$i,'filesys'}," ", "block quota=",$filesys{$i,'hblocks'}," ", "blocks used=",$filesys{$i,'ublocks'},"\n"; } =cut sub user_filesystems { return &parse_quota_output("$config{'user_quota_command'} ".quotemeta($_[0])); } =head2 group_filesystems(user) Fills the array %filesys with details of all filesystem some group has quotas on, and returns the filesystem count. The format of %filesys is the same as documented in the user_filesystems function. =cut sub group_filesystems { return &parse_quota_output("$config{'group_quota_command'} ".quotemeta($_[0])); } =head2 parse_quota_output(command) Internal function to parse the output of the quota command. =cut sub parse_quota_output { local($n, $_, %mtab); %mtab = &get_mtab_map(); open(QUOTA, "$_[0] 2>/dev/null |"); $n=0; while() { chop; if (/^(Disk|\s+Filesystem)/) { next; } if (/^(\S+)$/) { # Bogus wrapped line $filesys{$n,'filesys'} = $mtab{$1}; local $nl = ; $nl =~/^\s+(\S+)\s+(\S+)\s+(\S+)(.{8}\s+)(\S+)\s+(\S+)\s+(\S+)(.*)/ || /^.{15}.(.{7}).(.{7}).(.{7})(.{8}.)(.{7}).(.{7}).(.{7})(.*)/; $filesys{$n,'ublocks'} = int($1); $filesys{$n,'sblocks'} = int($2); $filesys{$n,'hblocks'} = int($3); $filesys{$n,'gblocks'} = $4; $filesys{$n,'ufiles'} = int($5); $filesys{$n,'sfiles'} = int($6); $filesys{$n,'hfiles'} = int($7); $filesys{$n,'gfiles'} = $8; $filesys{$n,'gblocks'} = &trunc_space($filesys{$n,'gblocks'}); $filesys{$n,'gfiles'} = &trunc_space($filesys{$n,'gfiles'}); $n++; } elsif (/^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)(.{8}\s+)(\S+)\s+(\S+)\s+(\S+)(.*)/ || /^(.{15}).(.{7}).(.{7}).(.{7})(.{8}.)(.{7}).(.{7}).(.{7})(.*)/) { # Single quota line $filesys{$n,'ublocks'} = int($2); $filesys{$n,'sblocks'} = int($3); $filesys{$n,'hblocks'} = int($4); $filesys{$n,'gblocks'} = $5; $filesys{$n,'ufiles'} = int($6); $filesys{$n,'sfiles'} = int($7); $filesys{$n,'hfiles'} = int($8); $filesys{$n,'gfiles'} = $9; $dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g; $filesys{$n,'filesys'} = $mtab{$dev}; $filesys{$n,'gblocks'} = &trunc_space($filesys{$n,'gblocks'}); $filesys{$n,'gfiles'} = &trunc_space($filesys{$n,'gfiles'}); $n++; } } close(QUOTA); return $n; } =head2 filesystem_users(filesystem) Fills the array %user with information about all users with quotas on this filesystem, and returns the number of users. Some example code shows how this can be used : foreign_require('quota', 'quota-lib.pl'); $n = quota::filesystem_users('/home'); for($i=0; $i<$n; $i++) { print "user=",$user{$i,'user'}," ", "block quota=",$user{$i,'hblocks'}," ", "blocks used=",$user{$i,'ublocks'},"\n"; } =cut sub filesystem_users { return &parse_repquota_output( "$config{'user_repquota_command'} $_[0]", "user"); } =head2 filesystem_groups(filesystem) Fills the array %group with information about all groups with quotas on some filesystem, and returns the group count. The format of %group is the same as documented in the filesystem_users function. =cut sub filesystem_groups { return &parse_repquota_output( "$config{'group_repquota_command'} $_[0]", "group"); } =head2 parse_repquota_output(hashname, command) Internal function to parse the output of the repquota command. =cut sub parse_repquota_output { local($rep, @rep, $n, $what, $u, @uinfo); $what = $_[1]; $$what = ( ); $rep = &backquote_command("$_[0] 2>&1"); if ($?) { return -1; } local $st = &supports_status($_[0], $what); if (!$st) { # Older system, need to build username map to identify truncation if ($what eq 'user') { setpwent(); while(@uinfo = getpwent()) { $hasu{$uinfo[0]}++; } endpwent(); } else { setgrent(); while(@uinfo = getgrent()) { $hasu{$uinfo[0]}++; } endgrent(); } } @rep = split(/\n/, $rep); @rep = @rep[3..$#rep]; local $nn = 0; local %already; for($n=0; $n<@rep; $n++) { if ($rep[$n] =~ /^\s*(\S.*\S|\S)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)(.*)/ || $rep[$n] =~ /^\s*(\S.*\S|\S)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+)(.{7})\s+(\S+)\s+(\S+)\s+(\S+)(.*)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8})(.{7})(.{8})(.{6})(.{6})(.*)/) { $$what{$nn,$what} = $1; $$what{$nn,'ublocks'} = int($2); $$what{$nn,'sblocks'} = int($3); $$what{$nn,'hblocks'} = int($4); $$what{$nn,'gblocks'} = $5; $$what{$nn,'ufiles'} = int($6); $$what{$nn,'sfiles'} = int($7); $$what{$nn,'hfiles'} = int($8); $$what{$nn,'gfiles'} = $9; if (!$st && $$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) { # User/group name was truncated! Try to find him.. foreach $u (keys %hasu) { if (substr($u, 0, length($$what{$nn,$what})) eq $$what{$nn,$what}) { # found him.. $$what{$nn,$what} = $u; last; } } } next if ($already{$$what{$nn,$what}}++); # skip dupe users $$what{$nn,'gblocks'} = &trunc_space($$what{$nn,'gblocks'}); $$what{$nn,'gfiles'} = &trunc_space($$what{$nn,'gfiles'}); $nn++; } } return $nn; } =head2 edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles) Internal function that is called indirectly by the 'edquota' command to modify a user's quotas on one filesystem, by editing a file. =cut sub edit_quota_file { local($rv, $line, %mtab, @m, @line); %mtab = &get_mtab_map(); @line = split(/\n/, $_[0]); for(my $i=0; $i<@line; $i++) { if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{&resolve_links("$1")} eq $_[1]) { # Found old-style lines to change $rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n"; $line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/; $rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n"; } elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) { # Even newer-style line to change $rv .= "$line[$i]\n"; $line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i; $rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n"; $line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i; $rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n"; } elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{&resolve_links("$1")} eq $_[1]) { # New-style line to change $rv .= " $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n"; } else { # Leave this line alone $rv .= "$line[$i]\n"; } } return $rv; } =head2 quotacheck(filesystem, mode) Runs quotacheck on some filesystem, and returns the output in case of error, or undef on failure. The mode must be one of : =item 0 - Users and groups. =item 1 - Users only. =item 2 - Groups only. =cut sub quotacheck { local $out; local $cmd = $config{'quotacheck_command'}; $cmd =~ s/\s+-[ug]//g; local $flag = $_[1] == 1 ? "-u" : $_[1] == 2 ? "-g" : "-u -g"; $out = &backquote_logged("$cmd $flag $_[0] 2>&1"); if ($?) { # Try with the -f and -m options $out = &backquote_logged("$cmd $flag -f -m $_[0] 2>&1"); if ($?) { # Try with the -F option $out = &backquote_logged("$config{'quotacheck_command'} $flag -F $_[0] 2>&1"); } return $out if ($?); } return undef; } =head2 copy_user_quota(user, [user]+) Copy the quotas for some user (the first parameter) to many others (named by the remaining parameters). Returns undef on success, or an error message on failure. =cut sub copy_user_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'user_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } =head2 copy_group_quota(group, [group]+) Copy the quotas for some group (the first parameter) to many others (named by the remaining parameters). Returns undef on success, or an error message on failure. =cut sub copy_group_quota { for($i=1; $i<@_; $i++) { $out = &backquote_logged("$config{'group_copy_command'} ". quotemeta($_[0])." ".quotemeta($_[$i])." 2>&1"); if ($?) { return $out; } } return undef; } =head2 get_user_grace(filesystem) Returns an array containing information about grace times on some filesystem, which is the amount of time a user can exceed his soft quota before it becomes hard. The elements of the array are : =item Grace time for block quota, in units below. =item Units for block quota grace time, where 0=sec, 1=min, 2=hour, 3=day. =item Grace time for files quota, in units below. =item Units for files quota grace time, where 0=sec, 1=min, 2=hour, 3=day. =cut sub get_user_grace { return &parse_grace_output($config{'user_grace_command'}, $_[0]); } =head2 get_group_grace(filesystem) Returns an array containing information about grace times on some filesystem, which is the amount of time a group can exceed its soft quota before it becomes hard. The elements of the array are : =item Grace time for block quota, in units below. =item Units for block quota grace time, where 0=sec, 1=min, 2=hour, 3=day. =item Grace time for files quota, in units below. =item Units for files quota grace time, where 0=sec, 1=min, 2=hour, 3=day. =cut sub get_group_grace { return &parse_grace_output($config{'group_grace_command'}, $_[0]); } =head2 default_grace Returns 0 if grace time can be 0, 1 if zero grace means default. =cut sub default_grace { return 0; } =head2 parse_grace_output(command) Internal function to parse output from the quota -t command. =cut sub parse_grace_output { local(@rv, %mtab, @m); %mtab = &get_mtab_map(); $ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat"; open(GRACE, "$_[0] 2>&1 |"); while() { if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{&resolve_links("$1")} eq $_[1]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{&resolve_links("$1")} eq $_[1]) { @rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5}); } elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) { if ( =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) { @rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4}); last; } } } close(GRACE); return @rv; } =head2 edit_grace_file(data, filesystem, btime, bunits, ftime, funits) Internal function called by edquota -t to set grace times on some filesystem, by editing a file. =cut sub edit_grace_file { local($rv, $line, @m, %mtab, @line); %mtab = &get_mtab_map(); @line = split(/\n/, $_[0]); for(my $i=0; $i<@line; $i++) { $line = $line[$i]; if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{&resolve_links("$1")} eq $_[1]) { # replace this line $line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}"; } elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{&resolve_links("$1")} eq $_[1]) { # replace new-style line $line = " $1 $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5]}"; } elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) { # replace even newer-style line $rv .= "$line\n"; $line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}"; $i++; } $rv .= "$line\n"; } return $rv; } =head2 grace_units Returns an array of possible units for grace periods, in human-readable format. =cut sub grace_units { return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'}, $text{'grace_days'}); } =head2 fs_block_size(dir, device, filesystem) Returns the size of quota blocks on some filesystem, or undef if unknown. Consult the dumpe2fs command where possible. =cut sub fs_block_size { if ($_[2] eq "ext2" || $_[2] eq "ext3") { return 1024; # This code isn't needed, because the quota block size is # not the same as the filesystem block size!! #if (&has_command("dumpe2fs")) { # local $out = `dumpe2fs -h $_[1] 2>&1`; # if (!$? && $out =~ /block size:\s+(\d+)/i) { # return $1; # } # } } elsif ($_[0] eq "xfs") { return 1024; } return undef; } %name_to_unit = ( "second", 0, "seconds", 0, "minute", 1, "minutes", 1, "hour", 2, "hours", 2, "day", 3, "days", 3, ); foreach $k (keys %name_to_unit) { $unit_to_name{$name_to_unit{$k}} = $k; } =head2 get_mtab_map Returns a hash mapping mount points to devices. For internal use. =cut sub get_mtab_map { local $mm = $module_info{'usermin'} ? "usermount" : "mount"; &foreign_require($mm, "$mm-lib.pl"); local ($m, %mtab); foreach $m (&foreign_call($mm, "list_mounted", 1)) { if ($m->[3] =~ /loop=([^,]+)/) { $mtab{&resolve_links("$1")} = $m->[0]; } else { $mtab{&resolve_links($m->[1])} = $m->[0]; } } return %mtab; } 1;