[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [K12OSN] on second thought...can someone send me /usr/sbin/purge_user?



David Trask wrote:

See my previous post....actually the file I'm looking for is
/usr/sbin/purge_user    can someone archive it and send it to me?  I'm
looking at modifying it to address an issue I have, but don't have access to a K12lTSP box at the moment. Thx. Either post, send as attachement,
or whatever.  thx.

This is from our K12LTSP 5EL box:

----
#!/bin/bash

KILL=/usr/bin/pkill
CONFIG="/etc/sysconfig/k12ltsp"

# source config file
if [ -f $CONFIG ]
then
    . $CONFIG
fi

# define the minimum uid
if [ -f /etc/login.defs ]
then
     UID_MIN="`grep UID_MIN /etc/login.defs | awk '{print $2}'`"
fi
if [ ! $UID_MIN ]
then
    UID_MIN=500
fi

function usage () {
    echo
    echo "This script will remove all of a user's processes"
    echo
    echo "Usage:"
    echo "        $0 <username> [SANE]"
    echo
echo "If \"SANE\" is given as the second arguement, this script will"
    echo "read $CONFIG and will only run if PURGE_PROCESSES=YES"
    echo
    echo "Also note that this script will refuse to run if the target"
echo "user's uid number is less than $UID_MIN. If you need to purge a"
    echo "system user's processes, please run the $KILL command"
    echo "directly"
    echo
    exit
}

# Sanity Checks

# a username must be specified
if [ ! "$1" ]
then
    usage
fi

# do sanity checks?
if [ "$2" = "SANE" ]
then
    if [ "$PURGE_PROCESSES" != "YES" ]
    then
        echo
echo "PURGE_PROCESSES=YES is not set in /etc/sysconfig/ k12ltsp, aborting"
        echo
        exit
    fi
fi

# make sure the pkill command exists
if [ ! -x $KILL ]
then
    echo
    echo "ERROR: $KILL not found, aborting"
    echo
    exit
fi

# only work on UIDs greater than 500 (or whatever UID_MIN is set to)
UIDNUMBER=`id -u $1 2> /dev/null`
if [ ! "$UIDNUMBER" ]
then
    echo
    echo "ERROR: could not determine the user's UID number, aborting"
    echo
    usage
fi
if [ "$UIDNUMBER" -lt $UID_MIN ]
then
    echo
echo "ERROR: user's UID number ($UIDNUMBER) is less than $UID_MIN, aborting"
    echo
    usage
fi

# okay, everything checks out. Let's do the dirty work

# first do it nicely
$KILL -u $1

# wait a couple seconds
sleep 2s

# now do it the hard way
$KILL -9 -u $1
----

Nils Breunese.



Attachment: PGP.sig
Description: Dit deel van het bericht is digitaal ondertekend


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]