/usr/share/sendmail/examples/passwd-to-alias is in sendmail-base 8.15.2-10.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 | #!/usr/bin/perl
#
# Convert GECOS information in password files to alias syntax.
#
# Contributed by Kari E. Hurtta <Kari.Hurtta@ozone.fmi.fi>
#
print "# Generated from passwd by $0\n";
$wordpat = '([a-zA-Z]+?[a-zA-Z0-9-]*)?[a-zA-Z0-9]'; # 'DB2'
while (@a = getpwent) {
($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = @a;
($fullname = $gcos) =~ s/,.*$//;
if (!-d $dir || !-x $shell || $shell =~ m!/bin/(false|true)$!) {
print "$name: root\n"; # handle pseudo user
}
$fullname =~ s/\.*[ _]+\.*/./g;
$fullname =~ tr [åäéöüÅÄÖÜ] [aaeouAAOU]; # <hakan@af.lu.se> 1997-06-15
next if (!$fullname || lc($fullname) eq $name); # avoid nonsense
if ($fullname =~ /^$wordpat(\.$wordpat)*$/o) { # Ulrich Windl
print "$fullname: $name\n";
} else {
print "# $fullname: $name\n"; # avoid strange names
}
};
endpwent;
|