1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
## Generic/Standard routines
## by Ken Hollis <khollis@bitgate.com>
##
## This program is GPLed. Please read "LICENSE" for more information.
## Copyright (C) 1996, Bitgate Software.
sub get_os {
local ($uname);
local ($ver);
print "Operating system ... ";
$uname = `uname`;
chop($uname);
$uname =~ tr/a-z/A-Z/;
# Tiny hack to make GNU/kFreeBSD and GNU/Hurd act as GNU/Linux
if (($uname eq 'GNU/KFREEBSD') || ($uname eq 'GNU')) {
$uname = 'LINUX';
}
$ver = `uname -r`;
chop($ver);
print "$uname\n";
return ($uname,$ver);
}
sub get_lastlog {
my $ll = shift;
print "Lastlog ... ";
if (!$ll) {
if (-e "/var/log/lastlog") {
$ll = "/var/log/lastlog";
} elsif (-e "/var/adm/lastlog") {
$ll = "/var/adm/lastlog";
} else {
$ll = "/var/adm/wtmp";
}
}
print "$ll\n";
return $ll;
}
sub get_nobody {
my $uid = shift;
my $gid = shift;
my @foo;
print "Nobody UID/GID ... ";
if (($uid eq "") || ($gid eq "")) {
if (open (PW, "/etc/passwd")) {
while (<PW>) {
next unless (/^nobody:/);
@foo = split (/:/);
$uid = $foo[2] if (!$uid);
$gid = $foo[3] if (!$gid);
}
close (PW);
}
}
if (($uid eq "") || ($gid eq "")) {
$uid = 65535;
$gid = 65535;
}
print "$uid, $gid\n";
return "$uid,$gid";
}
sub has_shadow {
local($shad);
print "Shadow passwords ... ";
if (-e "/etc/shadow") {
$shad = "Y";
} else {
$shad = "N";
}
print (($shad eq "Y") ? "/etc/shadow\n" : "No shadow\n");
return $shad;
}
sub get_mailspool {
my $spool = shift;
print "Mail spool directory ... ";
if (!$spool) {
if (-d "/var/spool/mail") {
$spool = "/var/spool/mail";
} elsif (-d "/var/mail") {
$spool = "/var/mail";
} else {
print "Not found. Assuming ";
$spool = "/var/spool/mail";
}
}
print "$spool\n";
return $spool;
}
sub get_mandir {
my $dir = shift;
print "Manpages root directory ... ";
if (!$dir) {
if (-d "/usr/share/man") {
$dir = "/usr/share/man";
} elsif (-d "/usr/man") {
$dir = "/usr/man";
} else {
print "Not found. Assuming ";
$dir = "/usr/man";
}
}
print "$dir\n";
return $dir;
}
1;
|