38 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/python3
 | 
						|
 | 
						|
# DO NOT MODIFY THIS SCRIPT!
 | 
						|
# For custom scripts use the hookdirs
 | 
						|
# /etc/linuxmuster-linuxclient7/onLoginAsRoot.d
 | 
						|
# and /etc/linuxmuster-linuxclient7/onLogoutAsRoot.d
 | 
						|
 | 
						|
# This schript is called in root context when a user logs in or out
 | 
						|
try:
 | 
						|
    import os, sys
 | 
						|
    from linuxmusterLinuxclient7 import logging, hooks, constants, user, shares, printers, computer, realm
 | 
						|
 | 
						|
    pamType = os.getenv("PAM_TYPE")
 | 
						|
    pamUser = os.getenv("PAM_USER")
 | 
						|
    #PAM_RHOST, PAM_RUSER, PAM_SERVICE, PAM_TTY, PAM_USER and PAM_TYPE
 | 
						|
    logging.info("====== onLoginLogoutAsRoot started with PAM_TYPE={0} PAM_RHOST={1} PAM_RUSER={2} PAM_SERVICE={3} PAM_TTY={4} PAM_USER={5} ======".format(pamType, os.getenv("PAM_RHOST"), os.getenv("PAM_RUSER"), os.getenv("PAM_SERVICE"), os.getenv("PAM_TTY"), pamUser))
 | 
						|
 | 
						|
    # check if whe should execute
 | 
						|
    if not hooks.shouldHooksBeExecuted(pamUser):
 | 
						|
        logging.info("======> onLoginLogoutAsRoot end ====")
 | 
						|
        sys.exit(0)
 | 
						|
 | 
						|
    elif pamType == "close_session":
 | 
						|
        # cleanup
 | 
						|
        printers.uninstallAllPrintersOfUser(pamUser)
 | 
						|
 | 
						|
    logging.info("======> onLoginLogoutAsRoot end ======")
 | 
						|
 | 
						|
except Exception as e:
 | 
						|
    try:
 | 
						|
        logging.exception(e)
 | 
						|
    except:
 | 
						|
        print("A fatal error occured!")
 | 
						|
 | 
						|
# We need to catch all exceptions and return 0 in any case!
 | 
						|
# If we do not return 0, login will FAIL FOR EVERYONE!
 | 
						|
sys.exit(0)
 | 
						|
 |