PREUN
/bin/sh
if [ $1 = 0 ]
then
export $(grep ^NX_DIR /usr/bin/nxloadconfig)
export $(grep ^NX_HOME_DIR /usr/bin/nxloadconfig)
rm /var/lib/nxserver/db/closed/* > /dev/null 2>&1
rm /var/lib/nxserver/db/running/* > /dev/null 2>&1
rm /var/lib/nxserver/db/failed/* > /dev/null 2>&1
mv -f $NX_HOME_DIR/.ssh/client.id_dsa.key /etc/nxserver/ > /dev/null 2>&1
mv -f $NX_HOME_DIR/.ssh/server.id_dsa.pub.key /etc/nxserver/ > /dev/null 2>&1
/sbin/service freenx-server stop
fi
POSTIN
/bin/sh
export $(grep ^NX_DIR /usr/bin/nxloadconfig)
export $(grep ^NX_HOME_DIR /usr/bin/nxloadconfig)
export $(grep ^NX_SESS_DIR /usr/bin/nxloadconfig)
export $(grep ^NX_ETC_DIR /usr/bin/nxloadconfig)
export $(grep ^NX_LOGFILE /usr/bin/nxloadconfig)
export $(grep ^SSH_AUTHORIZED_KEYS /usr/bin/nxloadconfig)
/sbin/service sshd condrestart
touch $NX_ETC_DIR/passwords $NX_ETC_DIR/passwords.orig $NX_LOGFILE
chmod 600 $NX_ETC_DIR/pass* $NX_LOGFILE
if [ ! -e $NX_ETC_DIR/users.id_dsa ]
then
/usr/bin/ssh-keygen -f $NX_ETC_DIR/users.id_dsa -t dsa -N "" > /dev/null 2>&1
fi
if [ -e $NX_HOME_DIR/.ssh/client.id_dsa.key ] && [ -e $NX_HOME_DIR/.ssh/server.id_dsa.pub.key ]
then
mv -f $NX_HOME_DIR/.ssh/client.id_dsa.key $NX_ETC_DIR/client.id_dsa.key
mv -f $NX_HOME_DIR/.ssh/server.id_dsa.pub.key $NX_ETC_DIR/server.id_dsa.pub.key
fi
if ! { getent passwd | egrep -q "^nx:"; }
then
/usr/sbin/useradd -r -d $NX_HOME_DIR -s /usr/bin/nxserver nx
mkdir -p $NX_HOME_DIR/.ssh
fi
if [ ! -e $NX_ETC_DIR/client.id_dsa.key ] || [ ! -e $NX_ETC_DIR/server.id_dsa.pub.key ]
then
rm -f $NX_ETC_DIR/client.id_dsa.key
rm -f $NX_ETC_DIR/server.id_dsa.pub.key
/usr/bin/ssh-keygen -q -t dsa -N '' -f $NX_ETC_DIR/local.id_dsa
mv $NX_ETC_DIR/local.id_dsa $NX_ETC_DIR/client.id_dsa.key
mv $NX_ETC_DIR/local.id_dsa.pub $NX_ETC_DIR/server.id_dsa.pub.key
fi
cp -f $NX_ETC_DIR/client.id_dsa.key $NX_HOME_DIR/.ssh/client.id_dsa.key
cp -f $NX_ETC_DIR/server.id_dsa.pub.key $NX_HOME_DIR/.ssh/server.id_dsa.pub.key
chmod 600 $NX_ETC_DIR/client.id_dsa.key $NX_ETC_DIR/server.id_dsa.pub.key\
$NX_HOME_DIR/.ssh/client.id_dsa.key $NX_HOME_DIR/.ssh/server.id_dsa.pub.key
echo -n "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,command=\"/usr/bin/nxserver\" "\
> $NX_HOME_DIR/.ssh/authorized_keys2
cat $NX_HOME_DIR/.ssh/server.id_dsa.pub.key >> $NX_HOME_DIR/.ssh/authorized_keys2
chmod 640 $NX_HOME_DIR/.ssh/authorized_keys2
echo -n "127.0.0.1 " > $NX_HOME_DIR/.ssh/known_hosts
cat /etc/ssh/ssh_host_rsa_key.pub >> $NX_HOME_DIR/.ssh/known_hosts
chown -R nx:root /var/lib/nxserver
chown -R nx:root $NX_SESS_DIR
if [ -e /var/lib/nxserver/running ]
then
mv /var/lib/nxserver/running/* $NX_SESS_DIR/running
mv /var/lib/nxserver/closed/* $NX_SESS_DIR/closed
mv /var/lib/nxserver/failed/* $NX_SESS_DIR/failed
rm -rf /var/lib/nxserver/running
rm -rf /var/lib/nxserver/closed
rm -rf /var/lib/nxserver/failed
chown -R nx:root $NX_SESS_DIR
fi
chown -R nx:root $NX_ETC_DIR
chown -R nx:root $NX_HOME_DIR
chmod -R 700 $NX_HOME_DIR
chown nx:root $NX_LOGFILE
/sbin/chkconfig --add freenx-server
/sbin/service freenx-server start