HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/share/doc/passwd/examples/passwd.expire.cron
#!/usr/bin/perl
#
# passwd.expire.cron: sample expiry notification script for use as a cronjob
#
# Copyright 1999 by Ben Collins <bcollins@debian.org>, 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).

# <CONFIG> #

# 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="";

# </CONFIG> #

# Set the current day reference
$curdays = int(time() / (60 * 60 * 24));

# Now go through the list

open(SH, "< /etc/shadow");
while (<SH>) {
    @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 <<EOF;
Your account will expire in $daysleft $days. Please change your password before
then or your account will expire
EOF
	    close (MAIL);
	    # This makes sure we also get a list of almost expired users
	    print "$shent[0]'s account will expire in $daysleft days\n";
	}
    }
    @userent = getpwent();
}