From 6cfae0f7454977a2a1171b25e82cef512c14e156 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 16:54:38 +0200 Subject: Adding debian version 1:4.13+dfsg1-1. Signed-off-by: Daniel Baumann --- debian/passwd.expire.cron | 57 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 debian/passwd.expire.cron (limited to 'debian/passwd.expire.cron') diff --git a/debian/passwd.expire.cron b/debian/passwd.expire.cron new file mode 100644 index 0000000..5e5b69f --- /dev/null +++ b/debian/passwd.expire.cron @@ -0,0 +1,57 @@ +#!/usr/bin/perl +# +# passwd.expire.cron: sample expiry notification script for use as a cronjob +# +# Copyright 1999 by Ben Collins , complete rights granted +# for use, distribution, modification, etc. +# +# Usage: +# edit the listed options, including the actual email, then rename to +# /etc/cron.daily/passwd +# +# If your users don't have a valid login shell (ie. they are ftp or mail +# users only), they will need some other way to change their password +# (telnet will work since login will handle password aging, or a poppasswd +# program, if they are mail users). + +# # + +# should be same as /etc/adduser.conf +$LOW_UID=1000; +$HIGH_UID=29999; + +# this let's the MTA handle the domain, +# set it manually if you want. Make sure +# you also add the @ like "\@domain.com" +$MAIL_DOM=""; + +# # + +# Set the current day reference +$curdays = int(time() / (60 * 60 * 24)); + +# Now go through the list + +open(SH, "< /etc/shadow"); +while () { + @shent = split(':', $_); + @userent = getpwnam($shent[0]); + if ($userent[2] >= $LOW_UID && $userent[2] <= $HIGH_UID) { + if ($curdays > $shent[2] + $shent[4] - $shent[5] && + $shent[4] != -1 && $shent[4] != 0 && + $shent[5] != -1 && $shent[5] != 0) { + $daysleft = ($shent[2] + $shent[4]) - $curdays; + if ($daysleft == 1) { $days = "day"; } else {$days = "days"; } + if ($daysleft < 0) { next; } + open (MAIL, "| mail -s '[WARNING] account will expire in $daysleft $days' $shent[0]${MAIL_DOM}"); + print MAIL <