home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 February
/
PCWorld_2000-02_cd.bin
/
live
/
usr
/
sbin
/
fdutilsconfig
< prev
next >
Wrap
Text File
|
1999-01-24
|
3KB
|
91 lines
#!/bin/sh
# /usr/sbin/fdutilsconfig - configuration script for suid bit of fdmount.
# Originally written by Tibor Simko <simko@debian.org> for gnuplot.
# Adapted by Anthony Fok <foka@debian.org> for fdmount in fdutils.
# note: this script modifies `/etc/fdmount.conf' configuration file.
set -e
set -C
if [ "root" != "`whoami`" ]
then
echo "Sorry, only root can run this script. Exiting."
exit 1
fi
echo "Fdmount suid configuration:"
echo
if [ ! -e /etc/fdmount.conf ]
then
echo "Sorry, /etc/fdmount.conf not found. Exiting."
exit 1
fi
TMPFILE=`mktemp -q /tmp/fdmount.conf.tmp.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
if grep -q "^is_suid=y.*$" /etc/fdmount.conf; then old=y; else old=n; fi
while true; do
if [ "$old" = "y" ]
then
echo " Currently, fdmount is set up as setuid root, beware!"
else
echo " Currently, fdmount is not set up as setuid root. Good."
fi
echo -n " Do you want to change it? (y/n/?) [n] "
read yn
echo
test -n "$yn" || yn="n"
case "$yn" in
[Nn]*)
echo "Okay, keeping the old configuration."
exit 0
;;
[Yy]*)
if [ "$old" = "n" ]
then
sed -e "s/^is_suid=.*$/is_suid=yes/" </etc/fdmount.conf >>$TMPFILE
chmod 644 $TMPFILE
mv $TMPFILE /etc/fdmount.conf
if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then
echo "Hmm, you seem to have suidmanager installed. Will use it."
suidregister -s fdutils /usr/bin/fdmount root root 4755
echo "Okay, fdmount is now set up and registered as setuid root."
else
echo "Hmm, you don't seem to have suidmanager installed."
echo "Please consider installing suidmanager in the future."
chown root.root /usr/bin/fdmount
chmod 4755 /usr/bin/fdmount
echo "Okay, fdmount is now manually set up as setuid root."
fi
exit 0
else
sed -e "s/^is_suid=.*$/is_suid=no/" </etc/fdmount.conf >>$TMPFILE
chmod 644 $TMPFILE
mv $TMPFILE /etc/fdmount.conf
chmod u-s /usr/bin/fdmount
if [ -e /etc/suid.conf -a -x /usr/sbin/suidunregister ]; then
echo "Unregistering fdmount from suidmanager database."
suidunregister -s fdutils /usr/bin/fdmount
fi
echo "Okay, fdmount is not set up as setuid root anymore."
exit 0
fi
;;
*)
echo " In order to enable ordinary users to mount a floppy to mount"
echo " a floppy disk using fdmount, fdmount needs to be set up as"
echo " setuid root. Please note that this is usually considered to"
echo " be a security hazard."
echo
;;
esac
done