summaryrefslogtreecommitdiffstats
path: root/core/modules/vmchooser2/data/opt/openslx/pam/hooks/session-open.d/50-move-admintoken.sh
blob: 578b10461cae6e7406aa0fdbc9f60fd93055d737 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/ash
# ^ actually sourced

if [ "$PAM_SERVICE" != "su" ] && [ "$PAM_SERVICE" != "sudo" ]; then
	md5=$( printf "%s" "$PAM_USER" | md5sum )
	file="/run/openslx/lightdm/${md5:0:32}"
	if [ -s "$file" ]; then
		getent="$( getent passwd "$PAM_USER" )"
		USER_UID="$( printf "%s" "$getent" | awk -F: '{print $3; exit}' )"
		udir="/run/user/$USER_UID"
		if ! [ -d "$udir" ]; then
			USER_GID="$( printf "%s" "$getent" | awk -F: '{print $4; exit}' )"
			mkdir -p "$udir"
			chmod 0700 "$udir"
			chown "${USER_UID}:${USER_GID}" "$udir"
		fi
		mv -f "$file" "$udir/cow-token"
		chown "$USER_UID" "$udir/cow-token"
	fi
fi