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.
50 lines
1.2 KiB
Bash
50 lines
1.2 KiB
Bash
#!/bin/sh
|
|
# $Id: init,v 1.3 2004/03/16 01:43:45 zal Exp $
|
|
#
|
|
# Script to remove stale screen named pipes on bootup.
|
|
#
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: screen-cleanup
|
|
# Required-Start: $remote_fs
|
|
# Required-Stop: $remote_fs
|
|
# Default-Start: S
|
|
# Default-Stop:
|
|
# Short-Description: screen sessions cleaning
|
|
# Description: Cleans up the screen session directory and fixes its
|
|
# permissions if needed.
|
|
### END INIT INFO
|
|
|
|
set -e
|
|
|
|
test -f /usr/bin/screen || exit 0
|
|
|
|
SCREENDIR=/run/screen
|
|
|
|
case "$1" in
|
|
start)
|
|
if test -L $SCREENDIR || ! test -d $SCREENDIR; then
|
|
rm -f $SCREENDIR
|
|
mkdir $SCREENDIR
|
|
chown root:utmp $SCREENDIR
|
|
[ -x /sbin/restorecon ] && /sbin/restorecon $SCREENDIR
|
|
fi
|
|
find $SCREENDIR -type p -delete
|
|
# If the local admin has used dpkg-statoverride to install the screen
|
|
# binary with different set[ug]id bits, change the permissions of
|
|
# $SCREENDIR accordingly
|
|
BINARYPERM=`stat -c%a /usr/bin/screen`
|
|
if [ "$BINARYPERM" -ge 4000 ]; then
|
|
chmod 0755 $SCREENDIR
|
|
elif [ "$BINARYPERM" -ge 2000 ]; then
|
|
chmod 0775 $SCREENDIR
|
|
else
|
|
chmod 1777 $SCREENDIR
|
|
fi
|
|
;;
|
|
stop|restart|reload|force-reload)
|
|
;;
|
|
esac
|
|
|
|
exit 0
|