lmn-client/roles/lmn_printer/files/onLogout
2023-08-16 12:17:17 +02:00

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)