Abigail the perl portion of this is weather to use a small perl server i.e. Net::TCP::Server or some other varriant of a mod to bind to a port on the NFS server and listen for incoming requests for a quota check on a specfic user. This is where I get confused cause I am not exactly sure how to make this wrk correctly and feed back the info I get to the web server which is running on a Linux box. I hope this helps clear up any confusion as to what I am indeed asking for advice on.
Re: Re: quota checking with Linux and Solaris??
Replies are listed 'Best First'.
You could indeed set up a TCP client/server model. The server
could be stand alone, or be run from inetd. You could use a
model where you make a connection for reach request, or you
could have a permanent connection. You could use UDP for
communication as well. Or you could create a file or database
with all the quota information, which you update from the
NFS server once every hour/day/week/whatever, and consult from
the webserver side. Yet another possibility is to forget
the entire web thing, and have people just type 'quota' on
the box itself - after all, if they don't have access to the
box, it doesn't matter what their quota is.
That's a decision you have to make, and what is the right
decision depends on many things. But one thing that hardly
plays a role in which solution you are going to take is
the language in which the solution will be written.
Abigail (wondering why someone wants to make an HTTP request to box A, just to get the quota information on box B.)
nfsclient# mount -F nfs nfsserver.mydom.com:/sharedata01 /data01
on nfsserver.mydom.com there is a user entry in /etc/passwd that looks like this:
In this case the user has no access to login to the actual nfs server but the user and uid does exist and is matched from the nfs server and client. Quotas still apply.
I do no know what the setup is on the OP's network -- nor what the "Linux and Solaris don't talk" junk is about. What I would do is set up a cron on the nfs servers that runs a perl script that gets the output from repquota or vxrepquota and parses it then inserts it into a db server somewhere. The web app can then query the database and pull out the usage and quota info for the nfs server that is needed -- with no root level exposure to the nfs server.
PS Abigail-II: It makes sense to do the http request to machine A if the sysadmin wants to limit the scope of the end user. lets say I have 15 nfs mounts on 10 different servers exposed via CIFS/AFP/WEB on server A, I can show the quotas on different end user exposed directories without having the users know all of the details about the backend implementation. I do not know about you, but in my environment I can't expect end users to telnet to a machine and get quota info, much less to understand quota's and the backend implementation. I have to show them a nice interface that explains "hey silly, this you are at your size limit on this directory, please delete some stuff or call the helpdesk for more info!\n"; =)