Current Path : /compat/linux/proc/self/root/usr/src/contrib/sendmail/contrib/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/self/root/usr/src/contrib/sendmail/contrib/passwd-to-alias.pl |
#!/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;