Это может быть относительно легко выполнено в PERL с помощью следующего кода:
#!/usr/bin/perl
use strict;
use Time::Local ();
my $dir = "/ifshome";
my $month = {
'Jan' => 0, 'Feb' => 1, 'Mar' => 2, 'Apr' => 3, 'May' => 4, 'Jun' => 5,
'Jul' => 6, 'Aug' => 7, 'Sep' => 8, 'Oct' => 9, 'Nov' => 10, 'Dec' => 11,
};
my $expire = time() - (86400 * 30 * 6);
foreach my $home (<$dir/*>) {
open(F,"$home/.lastlogin");
chomp(my $line = <F>);
if ($line =~ /^Last Login:\s+\w{3}\s+(\w{3})\s+(\d{2})\s+(\d{2}):(\d{2}):(\d{2})\s+\w+\s+(\d{4})/) {
my $ts = Time::Local::timelocal($5,$4,$3,$2,$month->{$1},$6-1900);
if ($ts < $expire) {
my($user) = (split(/\//,$home))[-1];
print "$user account is expired\n";
}
}
}