<?xml version="1.0" encoding="windows-1252"?>
<node id="28631" title="Allocate a quota to users on a Linux system" created="2000-08-19 09:23:00" updated="2005-08-13 03:17:23">
<type id="115">
perlquestion</type>
<author id="961">
Anonymous Monk</author>
<data>
<field name="doctext">
Hello,

I have been working on and off on Perl, for a year. My project guide at college asked me to create users on the Linux server, from a flatfile, ie provided at runtime and allocate quota's on the mailbox size only. 

Well i configured my /var/spool/mail, enabled it to be enabled for user quotas.  My script creates users, but does not allocate the user any quota.

 How do i use the quota cmd, and force the quota onto the user(s) created??

Pls help. I am using the foll code:
&lt;CODE&gt;
sub set_new_quota { #user,blocks
  local ($SYS_quota)=148;
  local ($Q_SETDLIM)=3;
  local ($uid,$bs) = @_ ;
  local ($dir) = "/var/spool/mail\0";
  local ($dqblk)  = pack("LLLLLLLL",10000,$bs,0,1000,200,0,0,0); 
local ($stat,$buf); 
$stat=syscall($SYS_quota,$Q_SETDLIM,$dir,$uid+0,$dqblk); 
return $stat==0;
}&lt;/CODE&gt;

and it won't do as is desired of it. Please help at the earliest, please. I am not having net access. Could u please send me a reply at abehl@email.com

Regards,
Amit
</field>
<field name="reputation">
-18</field>
</data>
</node>
