diff options
author | Simon Rettberg | 2013-12-12 18:37:16 +0100 |
---|---|---|
committer | Simon Rettberg | 2013-12-12 18:37:16 +0100 |
commit | c94225616947337990ca019c3279d22a1e1bcb51 (patch) | |
tree | c253172b78c4dd1fb9169045d915a6d2da29ed72 /server | |
parent | [kernel] Fix bug that makes the pc speaker play weird melodies (diff) | |
download | tm-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_persistent | 38 |
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 |