summaryrefslogtreecommitdiffstats
path: root/core/modules/run-virt/data/opt/openslx/scripts
diff options
context:
space:
mode:
authorSimon Rettberg2017-07-13 15:43:42 +0200
committerSimon Rettberg2017-07-13 15:43:42 +0200
commitafbd128d519cb2740df26138b2c611c34c8c5ea2 (patch)
tree49bf06b187bb9479c368b7ac4d846ca3bb11cacf /core/modules/run-virt/data/opt/openslx/scripts
parent[stage32-bwlp] Enable slxbrowser (diff)
downloadmltk-afbd128d519cb2740df26138b2c611c34c8c5ea2.tar.gz
mltk-afbd128d519cb2740df26138b2c611c34c8c5ea2.tar.xz
mltk-afbd128d519cb2740df26138b2c611c34c8c5ea2.zip
[run-virt] Support domainless credential passing
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/scripts')
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/pam_script_auth.d/99-run_virt_credentials33
1 files changed, 19 insertions, 14 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/pam_script_auth.d/99-run_virt_credentials b/core/modules/run-virt/data/opt/openslx/scripts/pam_script_auth.d/99-run_virt_credentials
index f23d85a1..7c4e7a50 100644
--- a/core/modules/run-virt/data/opt/openslx/scripts/pam_script_auth.d/99-run_virt_credentials
+++ b/core/modules/run-virt/data/opt/openslx/scripts/pam_script_auth.d/99-run_virt_credentials
@@ -23,22 +23,27 @@ if [ -n "$TEMP_HOME_DIR" ]; then
. /opt/openslx/inc/shares
XDOMAIN="${SHARE_DOMAIN}"
fi
- # Guess domain
- if [ -z "$XDOMAIN" ] && [ -n "$PERSISTENT_HOME_DIR" ]; then
- XDOMAIN=$(grep -F " ${PERSISTENT_HOME_DIR} " "/proc/mounts" | grep -m1 -F 'domain=' | sed -r 's/^.*[ ,]domain=([^ ,]+)[ ,].*$/\1/g')
- fi
- if [ -z "$XDOMAIN" ]; then
- XDOMAIN=$(<"/etc/ldap.conf" grep -m1 -i '^BASE\s.*DC=' | grep -o -E -i 'DC=([^,;]+)' | head -n 1 | cut -c 4-)
- fi
- if [ -z "$XDOMAIN" ]; then
- XDOMAIN=$(<"/etc/sssd/sssd.conf" grep -m1 -i '^ldap_search_base\s*=.*DC=' | grep -o -E -i 'DC=[^,;]+' | head -n 1 | cut -c 4-)
- fi
- if [ -n "$XDOMAIN" ]; then
- XDOMAIN=$(echo "$XDOMAIN" | tr '[a-z]' '[A-Z]')
+ if [ "x$XDOMAIN" != "x#" ]; then
+ # Guess domain
+ if [ -z "$XDOMAIN" ] && [ -n "$PERSISTENT_HOME_DIR" ]; then
+ XDOMAIN=$(grep -F " ${PERSISTENT_HOME_DIR} " "/proc/mounts" | grep -m1 -F 'domain=' | sed -r 's/^.*[ ,]domain=([^ ,]+)[ ,].*$/\1/g')
+ fi
+ if [ -z "$XDOMAIN" ]; then
+ XDOMAIN=$(<"/etc/ldap.conf" grep -m1 -i '^BASE\s.*DC=' | grep -o -E -i 'DC=([^,;]+)' | head -n 1 | cut -c 4-)
+ fi
+ if [ -z "$XDOMAIN" ]; then
+ XDOMAIN=$(<"/etc/sssd/sssd.conf" grep -m1 -i '^ldap_search_base\s*=.*DC=' | grep -o -E -i 'DC=[^,;]+' | head -n 1 | cut -c 4-)
+ fi
+ if [ -n "$XDOMAIN" ]; then
+ XDOMAIN=$(echo "$XDOMAIN" | tr '[a-z]' '[A-Z]')
+ else
+ XDOMAIN="WORKGROUP"
+ fi
+ XDOMAIN="\\$XDOMAIN"
else
- XDOMAIN="WORKGROUP"
+ XDOMAIN=
fi
- USERNAME="$XDOMAIN\\$XUSER" PASSWORD="$PAM_AUTHTOK" PWSOCKET="${TEMP_HOME_DIR}/.pwsocket" su -c 'pwdaemon --daemon &' "${PAM_USER}" &
+ USERNAME="${XDOMAIN}${XUSER}" PASSWORD="$PAM_AUTHTOK" PWSOCKET="${TEMP_HOME_DIR}/.pwsocket" su -c 'pwdaemon --daemon &' "${PAM_USER}" &
unset XUSER XDOMAIN
fi
fi