Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!mordor!sri-spam!nike!ucbcad!ucbvax!GRINNELL.MAILNET!McGuire_Ed From: McGuire_Ed@GRINNELL.MAILNET Newsgroups: mod.computers.vax Subject: disk quotas Message-ID: <8609201050.AA02974@ucbvax.Berkeley.EDU> Date: Wed, 17-Sep-86 19:38:00 EDT Article-I.D.: ucbvax.8609201050.AA02974 Posted: Wed Sep 17 19:38:00 1986 Date-Received: Sat, 20-Sep-86 09:58:57 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 81 Approved: info-vax@sri-kl.arpa >Date: Fri, 12 Sep 86 12:52 EDT >From: (Mats Sundvall, > Dep of Immunology, Uppsala S) >Subject: disk quotas >To: info-vax@sri-kl.arpa > >I'm trying to set up quotas on our system. We have a MVII with a RD53 and >one RA81. The RD53 is just for system software and we keep all userfiles >on the RA81. I want to activate quotas on the userdisk but I also want to >keep a scratcharea with a couple of hundred thousand block because the >users here need very big scratch files to run their programs. > Is it possible to have different quotas one one disk. I don't think it is >but you newer know. So, if anybody out there have a clue how to do, please >send me a mail. Here's a solution. It is possible to allow users to charge space to a disk quota other than their "own". These special "shared" disk quotas are associated with a general identifier, instead of with a UIC. It is also possible to create a directory with attributes such that any file that is created in the directory automatically is charged to the shared disk quota, instead of the user's own disk quota. For your application, you would allow all users access to this shared disk quota, create one or more directories as described above, and use those directories as the repositories of the scratch files. This would place an overall limit on your scratch space usage, making it easy to ensure that too many simultaneous users of scratch space don't accidently use up the entire disk. The steps to follow to set this up are as follows: 1. Define a general identifier using AUTHORIZE, and give it the RESOURCE attribute. This makes it eligible to be assigned a disk quota. Example: UAF> ADD/IDENTIFIER/ATTRIBUTES=RESOURCE SCRATCH_QUOTA 2. Create a disk quota for the identifier. Example: DISKQ> USE DISK$USER DISKQ> ADD/PERM=1000000 SCRATCH_QUOTA 3. Create a directory owned by the identifier. This charges the directory file itself to the scratch quota, and causes all files created in the directory to also be charged to the scratch quota. $ CREATE/DIRECTORY/OWNER=SCRATCH_QUOTA DISK$USER:[SCRATCH] 4. Place an ACE on the directory which allows users who have been given access to the scratch area (see below) to read it and place files in it. This ACE does not allow users to see each others' files, however. $ SET DIRECTORY DISK$USER:[SCRATCH] - /ACL=((IDENTIFIER=SCRATCH_QUOTA,ACCESS=READ+WRITE)) 5. Authorize users to charge space to the scratch quota. UAF> GRANT/IDENTIFIER/ATTRIBUTES=RESOURCE SCRATCH_QUOTA MCGUIRE UAF> GRANT/IDENTIFIER/ATTRIBUTES=RESOURCE SCRATCH_QUOTA SCHULT UAF> ... Now, here are some additional notes. Step 3 causes every file created in the scratch directory to be owned by SCRATCH_QUOTA. In order for the user to be able to access her/his own files, the system also places an ACE on every file granting the creator unlimited access to the created file. You can see these ACEs by typing $ DIRECTORY/SECURITY DISK$USER:[SCRATCH] Users can create files in their own directories that are owned by SCRATCH_QUOTA. If you find that your scratch directory is empty, but that the quota usage for SCRATCH_QUOTA is large, search the disk for files owned by SCRATCH_QUOTA by typing: $ DIRECTORY/BY_OWNER=SCRATCH_QUOTA DISK$USER:[000000...] All of the operations discussed require privilege. The user doesn't need any special privilege to use the system once it's set up, however.