home *** CD-ROM | disk | FTP | other *** search
/ tusportal.tus.k12.pa.us / tusportal.tus.k12.pa.us.tar / tusportal.tus.k12.pa.us / Wyse / latest-image.raw / 0.img / usr / bin / userlevel < prev    next >
Text File  |  2012-08-08  |  1KB  |  64 lines

  1. #!/bin/bash
  2.  
  3. USERLEVEL_DIR=/var/run/users
  4.  
  5. function usage()
  6. {
  7.     echo "Usage: $0 [--set <level>] [<user>]"
  8.     exit 0
  9. }
  10.  
  11. function error()
  12. {
  13.     echo "ERROR: $1" >/dev/stderr
  14.     exit 1
  15. }
  16.  
  17. function setLevel()
  18. {
  19.     if test `id -u` != "0"; then
  20.         error "You must be root to set change user levels"
  21.     fi
  22.  
  23.     user=$1
  24.     userLevel=$2
  25.  
  26.     if test "$userLevel" != "high" && test "$userLevel" != "medium" && \
  27.        test "$userLevel" != "low"; then
  28.        error "Invalid user level: $userLevel"
  29.     fi
  30.     
  31.  
  32.     mkdir -p $USERLEVEL_DIR
  33.     echo $userLevel > ${USERLEVEL_DIR}/$user
  34. }
  35.  
  36. function showLevel()
  37. {
  38.     user=$1
  39.     
  40.     if test -z "$user"; then
  41.        user=`whoami`
  42.     fi
  43.     userLevelFile=${USERLEVEL_DIR}/${user}
  44.  
  45.     userLevel=low
  46.     if test -f $userLevelFile; then
  47.         userLevel=`cat $userLevelFile 2>/dev/null`
  48.     elif test "$user" = "root"; then
  49.         userLevel="high"
  50.     fi
  51.  
  52.     echo $userLevel
  53. }
  54.  
  55. if test -z "$1"; then
  56.     showLevel
  57. elif test "$1" = "--set" && ! test -z "$2" && ! test -z "$3"; then
  58.     setLevel $3 $2
  59. elif ! test -z "$1"; then
  60.     showLevel $1
  61. else
  62.     usage
  63. fi
  64.