diff options
Diffstat (limited to 'etc/debian-edu/itzks.config')
-rw-r--r-- | etc/debian-edu/itzks.config | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/etc/debian-edu/itzks.config b/etc/debian-edu/itzks.config new file mode 100644 index 0000000..cb22807 --- /dev/null +++ b/etc/debian-edu/itzks.config @@ -0,0 +1,196 @@ +#!/bin/bash + +####################################### +# +# resource control +# of IT-Zukunft Schule server scripts +# +####################################### + +### +### server variables +### + +ADMINSERVER="tjener" +DHCPSERVERS="tjener" +FILESERVERS="tjener" +PRINTSERVERS="tjener" +SAMBASERVERS="tjener" +ALLSERVERS="tjener disklserver ltspserver00" +LOGSERVER="tjener" +NETLOGONSERVER="tjener" + +### +### internet settings +### + +HOSTNAME=`hostname` +DOMAIN=`hostname -d` + +### +### fileserver settings +### + +HOMEDIRS="/skole/*/home*" +GROUPDIRS="/skole/*/group*" +TRANSFERDIRS="/skole/*/transfer/*" +TRANSFER_DEL_WARNING="-ctime 150" +TRANSFER_DEL_PERFORM="-ctime +160" +TRANSFER_WARNINGS_DISABLED="true" + +### +### LDAP server settings +### + +LDAPMASTER="ldap.intern" +LDAPURI="ldaps://$LDAPMASTER" +LDAP_BASEDN="dc=skole,dc=skolelinux,dc=no" +LDAP_ADMINDN="cn=admin,ou=ldap-access,$LDAP_BASEDN" +LDAP_PEOPLE_BASEDN="$LDAP_BASEDN" +LDAP_GROUPS_BASEDN="$LDAP_BASEDN" +LDAP_HOSTS_BASEDN="$LDAP_BASEDN" +LDAP_PRINTERS_BASEDN="$LDAP_BASDN" +LDAP_SERVERS="tjener" + +### +### settings for HOME quotas +### + +STD_HOME_QUOTA="3500000 3850000 0 0" +RED_HOME_QUOTA="1300000 1400000 0 0" +# grace time for HOMES is 7 days +STD_HOME_GRACE="604800 604800" + +declare -a SPECIAL_HOME_QUOTA +#SPECIAL_HOME_QUOTA[`id -u gabmik`]="0 0 0 0" +#SPECIAL_HOME_QUOTA[`id -u sanmar`]="0 0 0 0" +#SPECIAL_HOME_QUOTA[`id -u andluc`]="0 0 0 0" + +### +### settings for GROUP quotas +### + +STD_GROUP_QUOTA="10000000 11000000 0 0" +# grace time for GROUPS is 14 days +STD_GROUP_GRACE="1209600 1209600" + +declare -a SPECIAL_GROUP_QUOTA +SPECIAL_GROUP_QUOTA[`getent group admins | cut -d: -f3`]="0 0 0 0" + +################################################################ +### +### general functions, no more VARs beyond this point, please! +### +################################################################ + +function script_header () { + + case $TERM in + xterm|linux) + exec_type="ITZkS script (direct call)" + ;; + dumb) + exec_type="cronlog-entry (dumb terminal)" + ;; + cron) + exec_type="cronlog-entry" + ;; + *) + exec_type="ITZkS script (unknown exec origin)" + ;; + esac + + echo + echo +++++ + echo $exec_type: `basename $0` + echo `date`, $HOSTNAME + echo +++++ + echo +} + + +function cron_header () { + + script_header $@ + +} + +function check_host () { + + HOST=`uname -n` + ALLOWED_HOSTS="$1" + if ! echo $ALLOWED_HOSTS | grep $HOST >/dev/null; then + echo -e "\nITZkS script "`basename $0`" is not for: $HOST.$DOMAIN\nPossible hosts are: $ALLOWED_HOSTS\n" + exit -1 + fi + +} + +function abort_on_host () { + + HOST=`uname -n` + FORBIDDEN_HOSTS="$1" + if echo $FORBIDDEN_HOSTS | grep $HOST >/dev/null; then + echo -e "\nITZkS script "`basename $0`" is forbidden on: $HOST.$DOMAIN\n" + exit -1 + fi + +} + +function check_root () { + +## make sure we are running as root, otherwise become! ######################### + + if [ ! "`id 2>&1 | egrep 'uid=0' | cut -d '(' -f1`" = "uid=0" ]; then + echo "Enter root's password here..." + OMMAND="`absolute_scriptpath $0` $@" + su -c "$COMMAND" + exit 0 + fi + +} + +function get_password () { + + echostr="$1" + stty -echo # Turns off screen echo. + echo -n "$echostr " > /dev/stderr + read passwd + echo "$passwd" > /dev/stdout + echo > /dev/stderr + stty echo # Restores screen echo. + +} + +function ldapserver_up () { + + ldapsearch -x -n -H "$LDAPURI" -b "$LDAP_BASEDN" cn=admin >/dev/null 2>/dev/null + ret=$? + return $ret + +} + +function finish_script () { + + case $1 in + 0) echo -e "\n*** done as you proposed\n\nFinished $(basename $0)\n" ;; + *) echo -e "\n!!! failed\n\nFailure in `basename $0` :-(\n" ;; + esac + exit $1 +} + +function absolute_scriptpath () { + # this is buggy for "./bin/script.sh" (per) + case $0 in + /*) echo "$0" ;; + *) echo "`pwd`/$0" ;; + esac + # */ +} + +function is_true() { + + echo $1 | egrep "(y|Y|yes|YES|Yes|true|TRUE|True|On|ON|on)" 1>/dev/null + return $? + +} |