1
0
Files
2022-09-29 17:59:04 +03:00

74 lines
1.6 KiB
Bash
Executable File

#! /sbin/sh
#
#
USER_NAME_FILE=/usr/CMW/CMWuser-name
USER_MAC_FILE=/usr/CMW/CMWuser-mac
USER_CAP_FILE=/usr/CMW/CMWuser-cap
USER_SITECHECK=/usr/CMW/CMWuser-sitecheck
USER_PASSWD=/usr/CMW/CMWuser-passwd
USER_FILES="$USER_NAME_FILE $USER_MAC_FILE $USER_CAP_FILE \
$USER_SITECHECK $USER_PASSWD"
CMWSESSION=/usr/bin/X11/CMWsession
CMWLOGIN=/usr/bin/X11/CMWlogin
XINIT=/usr/bin/X11/xinit
MACLBLDEVS=/usr/sbin/maclbldevs
CMWUID=cmwlogin
LOGINCAPS=CAP_XTCB,CAP_PRIV_PORT,CAP_AUDIT_WRITE+pi
XSHM=0x000009a4
SU=/sbin/su
SH=/sbin/sh
RM=/sbin/rm
CAT=/sbin/cat
ECHO=/sbin/echo
SAT_ECHO=/usr/bin/sat_echo
IPCRM=/usr/sbin/ipcrm
CONSOLE=/dev/null
# Don't start CMWlogin on systems without graphics
if /sbin/chkconfig windowsystem ; then
:
else
exit 0
fi
while true
do
#
# Be sure the CMW directory is clean.
# Set up device attributes.
#
$RM -f $USER_FILES > $CONSOLE 2>&1
$MACLBLDEVS $CMWUID dblow
$IPCRM -M $XSHM
#
# Figure out who to be....
#
$XINIT $SH -c "$SU - $CMWUID -C $LOGINCAPS -c $CMWLOGIN" > $CONSOLE 2>&1
if [ -f $USER_NAME_FILE -a -f $USER_MAC_FILE -a -f $USER_CAP_FILE ]
then
USER_NAME=`$CAT $USER_NAME_FILE`
USER_MAC=`$CAT $USER_MAC_FILE`
#
# Start user's session
#
$ECHO "Successful CMW Login" | \
$SAT_ECHO -S sat_ae_identity > $CONSOLE 2>&1
$MACLBLDEVS $USER_NAME $USER_MAC
$IPCRM -M $XSHM
$XINIT $SH -c \
"$SU - $USER_NAME -M $USER_MAC -S -c $CMWSESSION" > \
$CONSOLE 2>&1
$ECHO "Successful CMW Logout" | \
$SAT_ECHO -S sat_ae_identity > $CONSOLE 2>&1
else
#
# Looks like the login failed.
#
$ECHO "Failed CMW Login" | \
$SAT_ECHO -F sat_ae_identity > $CONSOLE 2>&1
fi
done