This is an old revision of the document!
The ACM workstations have guest accounts whose home directories are wiped at logoff.
Username: acmguest Password: acmguest
The guest account functionality relies on a package from the AUR (Archlinux Users Repository) called guestd. The actual rc script has been monified to obtain the desired functionality. The clean guest directory is located in /opt/acmguest-skel and the live home directory is /opt/acmguest. The guest directory is NOT on NFS. The guest account has to have access to run the guestd rc script as part of the loggout process. The loggout functionality is currently obtained with LXDM using the file /etc/lxdm/PostLogout.
This is the guestd rc script, a restart operation deletes the current live directory and replaces it with the skel one.
/etc/rc.d/guestd
#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions OLD_IFS="$IFS" IFS=$'\n' GUEST_USER="acmguest" GUEST_GROUP="users" GUEST_HOME="/opt/acmguest" GUEST_SKEL="/opt/acmguest-skel" case "$1" in start) stat_busy "Fixing Guest Directory" cp -R $GUEST_SKEL -T $GUEST_HOME chown -R $GUEST_USER:$GUEST_GROUP $GUEST_HOME $GUEST_SKEL chmod -R 770 $GUEST_HOME chmod -R 550 $GUEST_SKEL stat_done add_daemon guestd ;; stop) stat_busy "Removing Guest Directory" if [ -d "$GUEST_HOME" ]; then rm -rf $GUEST_HOME stat_done rm_daemon guestd else echo "Failed to remove directory; directory does not exist." stat_fail rm_daemon guestd fi ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac
/etc/lxdm/PostLogout
#!/bin/sh # if [ "$USER" == "acmguest" ] then /etc/rc.d/guestd restart fi killall --user $USER -TERM