summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorSimon Rettberg2013-12-12 18:37:16 +0100
committerSimon Rettberg2013-12-12 18:37:16 +0100
commitc94225616947337990ca019c3279d22a1e1bcb51 (patch)
treec253172b78c4dd1fb9169045d915a6d2da29ed72 /server
parent[kernel] Fix bug that makes the pc speaker play weird melodies (diff)
downloadtm-scripts-c94225616947337990ca019c3279d22a1e1bcb51.tar.gz
tm-scripts-c94225616947337990ca019c3279d22a1e1bcb51.tar.xz
tm-scripts-c94225616947337990ca019c3279d22a1e1bcb51.zip
[pam-freiburg] Fix mounting of homes from sunfs6
Diffstat (limited to 'server')
-rw-r--r--server/modules/pam-freiburg/opt/openslx/scripts/pam_script_mount_persistent38
1 files changed, 21 insertions, 17 deletions
diff --git a/server/modules/pam-freiburg/opt/openslx/scripts/pam_script_mount_persistent b/server/modules/pam-freiburg/opt/openslx/scripts/pam_script_mount_persistent
index f6a295f2..d8808f66 100644
--- a/server/modules/pam-freiburg/opt/openslx/scripts/pam_script_mount_persistent
+++ b/server/modules/pam-freiburg/opt/openslx/scripts/pam_script_mount_persistent
@@ -30,22 +30,26 @@ if [ $(id -g ${PAM_USER}) -ge 1000 ]; then
# now we can mount the home directory!
- MOUNT_OPTS="-t nfs4 -o rw,nosuid,nodev,nolock,intr,hard,sloppy,sec=krb5p"
-
- SIGNAL=$(mktemp)
- rm -f -- "${SIGNAL}"
- (mount ${MOUNT_OPTS} "${FILESERVER}:${VOLUME}" "${PERSISTENT_HOME_DIR}" || touch "${SIGNAL}") &
- MOUNT_PID=$!
- for COUNTER in 1 2 4 4; do
- kill -0 "${MOUNT_PID}" 2>/dev/null || break
- sleep "${COUNTER}"
- done
-
- if [ -e "${SIGNAL}" ] || kill -9 "${MOUNT_PID}" 2>/dev/null; then
- slxlog "pam-freiburg" "Mount of '${FILESERVER}:${VOLUME}' to '${PERSISTENT_HOME_DIR}' failed. (Args: ${MOUNT_OPTS})"
- rm -f -- "${SIGNAL}"
- else
- exit 0
- fi
+ MOUNT_OPTS="-t nfs4 -o rw,nosuid,nodev,nolock,intr,hard,sloppy"
+ if echo "$FILESERVER" | grep -q "sunfs6"; then
+ MOUNT_OPTS="${MOUNT_OPTS},sec=krb5i"
+ else
+ MOUNT_OPTS="${MOUNT_OPTS},sec=krb5p"
+ fi
+
+ SIGNAL=$(mktemp)
+ rm -f -- "${SIGNAL}"
+ ( mount ${MOUNT_OPTS} "${FILESERVER}:${VOLUME}" "${PERSISTENT_HOME_DIR}" > "/tmp/home.$PAM_USER" 2>&1 || touch "${SIGNAL}" ) &
+ MOUNT_PID=$!
+ for COUNTER in 1 2 4 4; do
+ kill -0 "${MOUNT_PID}" 2>/dev/null || break
+ sleep "${COUNTER}"
+ done
+
+ if [ -e "${SIGNAL}" ] || kill -9 "${MOUNT_PID}" 2>/dev/null; then
+ slxlog "pam-freiburg" "Mount of '${FILESERVER}:${VOLUME}' to '${PERSISTENT_HOME_DIR}' failed. (Args: ${MOUNT_OPTS})" "/tmp/home.$PAM_USER"
+ rm -f -- "${SIGNAL}"
+ fi
+ rm -f -- "/tmp/home.$PAM_USER"
fi