#!/opt/bin/perl # ######################################################################## # # # Program for generating excerpt of passwd file independently from NIS # # # ######################################################################## # # # Version 1.0 - Written 14.09.95 by Steffen Beyer # # Version 1.1 - Written 11.01.96 by Steffen Beyer # # # ######################################################################## # # # Copyright (C) 1995 by software design & management GmbH & Co. KG # # # ######################################################################## # # Some important default settings: # $version = 'version 1.1'; # $self = $0; $self =~ s!^.*/!!; # # Configure here the name and (absolute!) path of the output file: # $result = '/s/wir/abwesend/user_bi.tab'; # # Open output file: # unless (open(RESULT, ">$result")) { die "$self error: Can't open '$result' for writing: $!\n"; } # # Cycle through passwd file: # setpwent; # while (($user, $passwd, $uid, $gid, $quota, $comment, $name) = getpwent) { $name =~ s/^\s*//; $name =~ s/\s*$//; $name =~ s/[\t\r\n\f]/ /g; $name =~ s/ +/ /g; $name =~ s/\s*\(.*\)\s*$//; $name =~ s/^Dr[\.\s]\s*/Dr. /; if ($user_uid{$uid} ne "") { warn "$self warning: User id '$uid' is not unique!\n"; } else { $user_uid{$uid} = $user; } if ($uid_user{$user} ne "") { warn "$self warning: User login '$user' is not unique!\n"; } else { $uid_user{$user} = $uid; } if ($uid_name{$name} ne "") { warn "$self warning: User name '$name' is not unique!\n"; } else { $uid_name{$name} = $uid; } $name =~ /\s*(\S+)\s*$/; $lastname = $1; $givenname = $`; if (($givenname eq "") || ($lastname eq "")) { $fullname = "${givenname}$lastname"; $lastname = $fullname; $givenname = ''; } else { $fullname = "$givenname $lastname"; } if ($uid_fullname{$fullname} ne "") { if ($name ne $fullname) { warn "$self warning: User fullname '$fullname' is not unique!\n"; } } else { $uid_fullname{$fullname} = $uid; } print RESULT "$lastname:$givenname:$user\r\n"; } # endpwent; # close(RESULT); # # Done. #