<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Patch-ID# 100407-05
Keywords: commands, corrupted, accounting, corrupt, finger, 
Synopsis: SunOS 4.1.1; 4.1.2: accounting files are corrupted when commands run as nobody
Date: 14/Jan/92
 
SunOS release: 4.1.1, 4.1.2
 
Topic: 
 
BugId's fixed with this patch: 1042248 1069434 1070431 1047705 1066375 

Architectures for which this patch is available: sun4, sun4c, sun4m, sun3, 
                                                 sun3x

Patches which may conflict with this patch:

Obsoleted by: SVR4

Problem Description: 

Bugid 1042248
On a prdaily output, there is a strange uid entry of 65534 (nobody)
that sometimes shows up, followed by some repeating of uids.
The format of the data is suppose to be sorted uniquely by uid and login
name.  On rprt files that do not have the 65534 nobody entry, the uids
do not repeat, which is correct. It seems that accounting records are
corrupt when a nobody entry shows up.

Bugid 1069434
The SysV accounting routine can generate negative values from a 
valid pacct file due to values being generated that overflow the 
range of a long variable type. This will only occur if a process is 
using a lot of system resource, i.e. running for a long period of time.

Bugid 1070431
If users are logged in when runacct gets run, then their login entries 
in wtmp are not put back into the newly created wtmp.

Bugid 1047705, 1066375
The accounting scripts which check for the amount of free space
are looking at /usr in spite of the fact that the accounting data
is in /var/adm.  In particular, the ckpacct script will turn
off accounting when the /usr partition gets full even if /var is
empty

INSTALL: 

sun3 versions work on all {sun3,sun3x}/{4.1,4.1.1} platforms
sun4/4.1.1 versions work on all {sun4,sun4c}/{4.1,4.1.1} platforms
sun4/4.1.2 versions work on all {sun4,sun4c,sun4m}/4.1.2 platforms


eg. installing modules on sun4m/4.1.2 system

As root:
1) save the original files.

	cp /usr/lib/acct/acctcms /usr/lib/acct/acctcms.FCS
	cp /usr/lib/acct/acctprc2 /usr/lib/acct/acctprc2.FCS
	cp /usr/lib/acct/ckpacct /usr/lib/acct/ckpacct.FCS
	cp /usr/lib/acct/runacct /usr/lib/acct/runacct.FCS

2) copy the executables into /usr/lib/acct

	cp `arch`/{4.1.1;4.1.2}/acctcms /usr/lib/acct/acctcms
	cp `arch`/{4.1.1;4.1.2}/acctprc2 /usr/lib/acct/acctprc2
	cp `arch`/{4.1.1;4.1.2}/ckpacct /usr/lib/acct/ckpacct
	cp `arch`/{4.1.1;4.1.2}/runacct /usr/lib/acct/runacct
	cp `arch`/{4.1.1;4.1.2}/utmp2wtmp /usr/lib/acct/utmp2wtmp

3) change the file modes to 755

	chmod 755 /usr/lib/acct/acctcms
	chmod 755 /usr/lib/acct/acctprc2
	chmod 755 /usr/lib/acct/ckpacct
	chmod 755 /usr/lib/acct/runacct
	chmod 755 /usr/lib/acct/utmp2wtmp

4) change the file ownership to root.staff

	chown root.staff /usr/lib/acct/acctcms
	chown root.staff /usr/lib/acct/acctprc2
	chown root.staff /usr/lib/acct/ckpacct
	chown root.staff /usr/lib/acct/runacct
	chown root.staff /usr/lib/acct/utmp2wtmp


ADDENDUM:
version -04 fixes /usr/lib/acct/ckpacct by replacing several
remaining references to /usr in echo's with /var/adm and
intializes variable $_adm before referencing it.

version -05 fixes typos in README file.
</pre></body></html>