wireshark/debian/wireshark-common.postinst

44 lines
1.3 KiB
Bash

#!/bin/sh
set -e
. /usr/share/debconf/confmodule
PROGRAM=$(dpkg-divert --truename /usr/bin/dumpcap)
GROUP=wireshark
if ! dpkg-statoverride --list $PROGRAM > /dev/null; then
db_get wireshark-common/install-setuid
if [ -e "$PROGRAM" ]; then
if [ "$RET" = "false" ] ; then
chown root:root $PROGRAM
chmod u=rwx,go=rx $PROGRAM
else
if ! addgroup --quiet --system $GROUP; then
if ! getent group wireshark > /dev/null; then
db_input high wireshark-common/addgroup-failed || true
db_go
exit 1
else
db_input high wireshark-common/group-is-user-group || true
db_go
fi
fi
chown root:$GROUP $PROGRAM
if which setcap > /dev/null ; then
chmod u=rwx,g=rx,o=r $PROGRAM
if ! setcap cap_net_raw,cap_net_admin=eip $PROGRAM; then
db_input high wireshark-common/setcap-failed || true
db_go
chmod u=rwxs,g=rx,o=r $PROGRAM
fi
else
chmod u=rwxs,g=rx,o=r $PROGRAM
fi
fi
fi
else
dpkg-statoverride --list $PROGRAM
fi
#DEBHELPER#