2 # Disable an account by setting "passwd -l" or chuser
3 # Requirements: System with a passwd that supports -l and -u
4 # or a system with chuser (AIX)
5 # Expect: username (can't be "root")
6 # Authors: Ahmet Ozturk and Daniel B. Cid
7 # Last modified: Jan 19, 2005
11 PASSWD="/usr/bin/passwd"
12 CHUSER="/usr/bin/chuser"
21 echo "`date` $0 $1 $2 $3 $4 $5" >> ${PWD}/../logs/active-responses.log
24 if [ "x${USER}" = "x" ]; then
25 echo "$0: [ add | delete ] <username>"
27 elif [ "x${USER}" = "xroot" ]; then
28 echo "$0: Invalid username."
33 # We should run on linux and on SunOS the passwd -u/-l
34 if [ "X${UNAME}" = "XLinux" -o "X${UNAME}" = "XSunOS" ]; then
35 # Checking if passwd is present
36 ls ${PASSWD} >> /dev/null 2>&1
42 if [ "x${ACTION}" = "xadd" ]; then
44 elif [ "x${ACTION}" = "xdelete" ]; then
47 echo "$0: invalid action: ${ACTION}"
52 # On AIX, we run CHUSER
53 elif [ "X${UNAME}" = "XAIX" ]; then
54 # Checking if chuser is present
55 ls ${CHUSER} >> /dev/null 2>&1
62 # Disabling an account
63 if [ "x${ACTION}" = "xadd" ]; then
64 ARGS="account_locked=true"
66 elif [ "x${ACTION}" = "xdelete" ]; then
67 ARGS="account_locked=false"
70 echo "$0: invalid action: ${ACTION}"
75 # We only support Linux, SunOS and AIX
82 ${CMD} ${ARGS} ${USER}