-
Notifications
You must be signed in to change notification settings - Fork 2
/
activate_localuser.linbofunc
51 lines (49 loc) · 2.61 KB
/
activate_localuser.linbofunc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
activate_localuser() {
######################################################
# Diese Funktion (de-)aktiviert alle lokalen User, die
# in der Liste ACCOUNTNAMES stehen.
# Aufruf: activate_localusers on|off
#######################################################
ACCOUNTNAMES="schueler1 schueler2 schueler3"
SHADOW=/mnt/etc/shadow
for ACCOUNTNAME in $ACCOUNTNAMES
do
User="User \"$ACCOUNTNAME\""
[ $(grep -e "^$ACCOUNTNAME:\!" $SHADOW) ] && STATUS=DEAKTIVIERT || STATUS=AKTIV
case "$1" in
on)
case "$STATUS" in
AKTIV)
echo "$User ist bereits aktiv. Keine Aktion nötig."
;;
DEAKTIVIERT)
echo "aktiviere $User"
sed -e "s/^$ACCOUNTNAME:\!/$ACCOUNTNAME:/g" -i $SHADOW
;;
*)
echo 'diese Programmzeile hätte nie aufgerufen werden dürfen...'
echo 'Skript kontrollieren!'
esac
;;
off)
case "$STATUS" in
AKTIV)
echo "deaktiviere $User"
sed -e "s/^$ACCOUNTNAME:/$ACCOUNTNAME:\!/g" -i $SHADOW
;;
DEAKTIVIERT)
echo "$User ist bereits deaktiviert. Keine Aktion nötig."
;;
*)
echo 'diese Programmzeile hätte nie aufgerufen werden dürfen...'
echo 'Skript kontrollieren!'
;;
esac
;;
*)
echo 'diese Programmzeile hätte nie aufgerufen werden dürfen...'
echo 'Skript kontrollieren!'
;;
esac
done
} # Ende Funktion activate-localuser()