ports/113153: [MAINTAINER] security/prelude-manager: fix user creation and permissions

Robin Gruyters r.gruyters at yirdis.nl
Wed May 30 09:30:05 UTC 2007


>Number:         113153
>Category:       ports
>Synopsis:       [MAINTAINER] security/prelude-manager: fix user creation and permissions
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 30 09:30:04 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Robin Gruyters
>Release:        FreeBSD 6.1-RELEASE-p10 i386
>Organization:
YIRDIS B.V.
>Environment:
System: FreeBSD server.yirdis.net 6.1-RELEASE-p10 FreeBSD 6.1-RELEASE-p10 #1: Tue Oct 24 10:44:15 CEST 2006
>Description:
Fix issues when creating new user.
This port needs latest Libprelude report/112703

Added file(s):
- files/pkg-deinstall.in
- files/pkg-install.in

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- prelude-manager-0.9.8.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/security/prelude-manager/Makefile /data2/FreeBSD/custom_ports/security/prelude-manager/Makefile
--- /usr/ports/security/prelude-manager/Makefile	Wed May 30 11:07:52 2007
+++ /data2/FreeBSD/custom_ports/security/prelude-manager/Makefile	Wed May 30 11:16:10 2007
@@ -13,7 +13,7 @@
 MAINTAINER=	r.gruyters at yirdis.nl
 COMMENT=	Prelude Network Intrusion Detection System central logging point
 
-LIB_DEPENDS+=	prelude.11:${PORTSDIR}/security/libprelude \
+LIB_DEPENDS+=	prelude.12:${PORTSDIR}/security/libprelude \
 		gnutls.15:${PORTSDIR}/security/gnutls
 
 USE_GMAKE=	yes
@@ -33,6 +33,18 @@
 
 .include <bsd.port.pre.mk>
 
+PLIST_SUB=	PRELUDEUSER=${PRELUDEUSER} \
+		PRELUDEGROUP=${PRELUDEGROUP} \
+		PRELUDEUID=${PRELUDEUID} \
+		PRELUDEGID=${PRELUDEGID} \
+		PRELUDEDIR=${PRELUDEDIR}
+
+SUB_FILES=	pkg-install \
+		pkg-deinstall
+
+SUB_LIST=	PREFIX=${PREFIX} \
+		${PLIST_SUB}
+
 .if defined(WITHOUT_XML)
 PLIST_SUB+=	WITH_XML="@comment "
 CONFIGURE_ARGS+=	--disable-xmltest --without-xml
@@ -48,10 +60,20 @@
 PLIST_SUB+=	WITH_PRELUDEDB=""
 .endif
 
+pre-install:
+	@${SH} ${PKGINSTALL} ${DISTNAME} PRE-INSTALL
+
 post-install:
 	@if [ ! -f ${PREFIX}/etc/prelude-manager/prelude-manager.conf ]; then \
 	   ${CP} -p ${PREFIX}/etc/prelude-manager/prelude-manager.conf-dist \
 	      ${PREFIX}/etc/prelude-manager/prelude-manager.conf ; \
 	fi
+
+	@${CHMOD} 700 /var/spool/${PORTNAME} \
+	   /var/spool/${PORTNAME}/failover \
+	   /var/spool/${PORTNAME}/scheduler
+	@${CHOWN} ${PRELUDEUSER}:${PRELUDEGROUP} /var/run/${PORTNAME} \
+	   /var/spool/${PORTNAME} /var/spool/${PORTNAME}/failover \
+	   /var/spool/${PORTNAME}/scheduler
 
 .include <bsd.port.post.mk>
diff -ruN --exclude=CVS /usr/ports/security/prelude-manager/files/pkg-deinstall.in /data2/FreeBSD/custom_ports/security/prelude-manager/files/pkg-deinstall.in
--- /usr/ports/security/prelude-manager/files/pkg-deinstall.in	Thu Jan  1 01:00:00 1970
+++ /data2/FreeBSD/custom_ports/security/prelude-manager/files/pkg-deinstall.in	Thu May 24 13:02:22 2007
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+PRELUDEDIR=%%PRELUDEDIR%%
+PRELUDEUSER=%%PRELUDEUSER%%
+PRELUDEGROUP=%%PRELUDEGROUP%%
+
+if [ "$2" = "POST-DEINSTALL" ]; then
+  if /usr/sbin/pw group show "${PRELUDEGROUP}" 2>&1 >/dev/null; then
+    echo "You should manually remove the \"${PRELUDEGROUP}\" group."
+  fi
+
+  if /usr/sbin/pw user show "${PRELUDEUSER}" 2>&1 >/dev/null; then
+    echo "You should manually remove the \"${PRELUDEUSER}\" user."
+  fi
+
+  if [ -e "${PRELUDEDIR}" ]; then
+    echo "You should manually remove the \"${PRELUDEDIR}\" directory."
+  fi
+fi
diff -ruN --exclude=CVS /usr/ports/security/prelude-manager/files/pkg-install.in /data2/FreeBSD/custom_ports/security/prelude-manager/files/pkg-install.in
--- /usr/ports/security/prelude-manager/files/pkg-install.in	Thu Jan  1 01:00:00 1970
+++ /data2/FreeBSD/custom_ports/security/prelude-manager/files/pkg-install.in	Thu May 24 13:06:00 2007
@@ -0,0 +1,74 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+PRELUDEDIR=%%PRELUDEDIR%%
+PRELUDEUSER=%%PRELUDEUSER%%
+PRELUDEGROUP=%%PRELUDEGROUP%%
+PRELUDEUID=%%PRELUDEUID%%
+PRELUDEGID=%%PRELUDEGID%%
+
+ask() {
+  local question default answer
+
+  question=$1
+  default=$2
+  if [ -z "${PACKAGE_BUILDING}" ]; then
+    read -p "${question} [${default}]? " answer
+  fi
+  if [ "x${answer}" = "x" ]; then
+    answer=${default}
+  fi
+  echo ${answer}
+}
+
+yesno() {
+  local default question answer
+
+  question=$1
+  default=$2
+  while :; do
+    answer=$(ask "${question}" "${default}")
+    case "${answer}" in
+      [Yy][Ee][Ss]|[Yy])
+        return 0
+        ;;
+      [Nn][Oo]|[Nn])
+        return 1
+        ;;
+    esac
+    echo "Please answer yes or no."
+   done
+}
+
+if [ "$2" = "PRE-INSTALL" ]; then
+  if /usr/sbin/pw group show "${PRELUDEGROUP}" 2>&1 >/dev/null; then
+    echo "You already have a \"${PRELUDEGROUP}\" group, so I will use it."
+  else
+    echo "You need a \"${PRELUDEGROUP}\" group."
+    if yesno "Would you like me to create it" "YES"; then
+      /usr/sbin/pw groupadd "${PRELUDEGROUP}" -g "${PRELUDEGID}" -h - || \
+        /usr/sbin/pw groupadd "${PRELUDEGROUP}" -h - || exit
+      echo "Done."
+    else
+      echo "Please create the \"${PRELUDEGROUP}\" group manually and try again."
+      exit 1
+    fi
+  fi
+
+  if /usr/sbin/pw user show "${PRELUDEUSER}" 2>&1 >/dev/null; then
+    echo "You already have a \"${PRELUDEUSER}\" user, so I will use it."
+  else
+    echo "You need a \"${PRELUDEUSER}\" user."
+    if yesno "Would you like me to create it" "YES"; then
+      /usr/sbin/pw useradd "${PRELUDEUSER}" -u "${PRELUDEUID}" -g "${PRELUDEGROUP}" -h - -d "${PRELUDEDIR}" \
+        -s /sbin/nologin -c "Prelude user" || \
+        /usr/sbin/pw useradd "${PRELUDEUSER}" -g "${PRELUDEGROUP}" -h - -d "${PRELUDEDIR}" \
+        -s /sbin/nologin -c "Prelude user" || exit
+    else
+      echo "Please create the \"${PRELUDEUSER}\" user manually and try again."
+      exit 1
+    fi
+  fi
+fi
--- prelude-manager-0.9.8.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list