You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
detect_libnss_wrapper() {
 | 
						|
  if $(which dpkg &>/dev/null); then
 | 
						|
    libnss_wrapper_file=$(dpkg -S libnss_wrapper.so | awk -F' ' '{ print $2 }')
 | 
						|
    return
 | 
						|
  fi
 | 
						|
 | 
						|
  if [ -r /usr/lib/libnss_wrapper.so ]; then
 | 
						|
      libnss_wrapper_file=/usr/lib/libnss_wrapper.so
 | 
						|
  elif [ -r /usr/lib64/libnss_wrapper.so ]; then
 | 
						|
      libnss_wrapper_file=/usr/lib64/libnss_wrapper.so
 | 
						|
  else
 | 
						|
      echo "no libnss_wrapper.so installed!"
 | 
						|
      exit 1
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
# Set current user in nss_wrapper
 | 
						|
USER_ID=$(id -u)
 | 
						|
GROUP_ID=$(id -g)
 | 
						|
echo "USER_ID: $USER_ID, GROUP_ID: $GROUP_ID"
 | 
						|
 | 
						|
# Attempt to set the username to the kasm username
 | 
						|
USERNAME=${VNC_USER:-default}
 | 
						|
# Make the username posix compliant
 | 
						|
USERNAME=$(echo "$USERNAME" | sed -r 's#[^a-zA-Z0-9\._\-]#_#g')
 | 
						|
if ! echo "$USERNAME" | grep -qP "^[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*"; then
 | 
						|
    USERNAME="default"
 | 
						|
fi
 | 
						|
export PS1="$USERNAME:\w\$ "
 | 
						|
 | 
						|
if [ x"$USER_ID" != x"0" ]; then
 | 
						|
 | 
						|
    NSS_WRAPPER_PASSWD=/tmp/passwd
 | 
						|
    NSS_WRAPPER_GROUP=/etc/group
 | 
						|
 | 
						|
    cat /etc/passwd > $NSS_WRAPPER_PASSWD
 | 
						|
 | 
						|
    echo "${USERNAME}:x:${USER_ID}:${GROUP_ID}:Default Application User:${HOME}:/bin/bash" >> $NSS_WRAPPER_PASSWD
 | 
						|
 | 
						|
    export NSS_WRAPPER_PASSWD
 | 
						|
    export NSS_WRAPPER_GROUP
 | 
						|
 | 
						|
    detect_libnss_wrapper
 | 
						|
    echo "nss_wrapper location: $libnss_wrapper_file"
 | 
						|
    export LD_PRELOAD="$libnss_wrapper_file"
 | 
						|
fi
 |