chiark / gitweb /
debian: Run the server as `tripe' rather than `root'.
[tripe] / debian / tripe.postinst
index 468f19691699dc52b6a84f305afbdf4d3cb90337..2994690257f4bdb6f5d4e83fed9848f16b2cb914 100644 (file)
@@ -2,8 +2,24 @@
 
 set -e
 
-if [ ! -c /dev/.devfsd ] && [ ! -c /dev/net/tun ]; then
+## Make sure that /dev/net/tun exists.  Don't do anything special if devfs or
+## udev is running.
+if [ ! -c /dev/.devfsd ] &&
+   [ ! -d /dev/.udev ] &&
+   [ ! -c /dev/net/tun ]
+then
+  echo "/dev/net/tun not present: invoking MAKEDEV to create it."
   (cd /dev && /sbin/MAKEDEV tun)
 fi
 
+## Make sure that the `tripe' user and group exist.
+getent group tripe >/dev/null ||
+       addgroup --system tripe
+getent passwd tripe >/dev/null || \
+       adduser --system \
+               --ingroup tripe \
+               --home /etc/tripe \
+               --gecos "TrIPE server" \
+               tripe
+
 #DEBHELPER#