Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!rice!sun-spots-request From: david@wubios.wustl.edu (David J. Camp) Newsgroups: comp.sys.sun Subject: lpr uid Keywords: Software Message-ID: <3600@kalliope.rice.edu> Date: 27 May 89 17:54:23 GMT Sender: usenet@rice.edu Organization: Sun-Spots Lines: 74 Approved: Sun-Spots@rice.edu X-Sun-Spots-Digest: Volume 8, Issue 10, message 10 of 11 I am using a Sun 3/260 running SunOS 4.0.1. Please reply directly to me since I do not read this newsgroup. Here is the problem. We have two kinds of accounts on wubios. There are 'mail' accounts, which are personal accounts for each user to login, and 'analysis' accounts, which can only be accessed via the 'su' command once you are logged in. We accomplish this via a short C program called nologin.c, which I have included below. This program is specified in /etc/passwd as the shell for the analysis accounts. Now we are interested in getting statistics on printer usage for the various users. We are mostly interested in the mail account usage, not the analysis account usage. That is, we would like printer usage while using an analysis account to be charged to the user account. The actual situation, however, is not consistent. When printing normal text, the accounting is registered under the mail account. When we run Sun-Sas and do a graphics printout, the accounting is registered under the analysis account. This also affects the username that appears on the header page of the printouts. We would like the header page to name the mail account, not the analysis account. It in fact follows the same pattern as the accounting, using the mail account for text and the analysis account for graphics. I have studied the 4.3BSD-tahoe code, which may not be the same as the executables we get from Sun. It appears that lpr uses the getuid() call to determine the user account. The 'man getuid' page says that getuid returns the 'real' userid. The 'man su' page says that su changes both the real and effective user id's. This suggests that the graphics job is doing the correct thing, and the text mode printing is broken. We would like it to work the other way around. We would like the mail account to be listed on the printout, and registered for pac as the user printing the mail. We have not yet installed any of the 4.3BSD-tahoe code, since we are sheepish about doing our own support when a later version of the operating system may supercede all the changes we have made to unsupported code. We do not have a SunOS source license. We are interested in theories of why the graphics job, run from the Sas system, works differently than a simple text printout. We are also interested in proposals for changing the way it works, hopefully without installing the tahoe code. -David- /* nologin.c -- program to prevent direct login */ #include main (argc, argv, envp) int argc; char * argv []; char * envp []; { if (strcmp (getenv ("USER"), getenv ("LOGNAME")) == 0) exit (2); execve ("/bin/csh", argv, envp); } /* Bitnet: david@wubios.wustl ^ Mr. David J. Camp Internet: david%wubios@wucs1.wustl.edu < * > Box 8067, Biostatistics uucp: uunet!wucs1!wubios!david v 660 South Euclid Washington University (314) 36-23635 Saint Louis, MO 63110 */ -- Bitnet: david@wubios.wustl ^ Mr. David J. Camp Internet: david%wubios@wucs1.wustl.edu < * > Box 8067, Biostatistics uucp: uunet!wucs1!wubios!david v 660 South Euclid Washington University (314) 36-23635 Saint Louis, MO 63110