diff options
author | Gordian Edenhofer | 2016-02-26 13:17:12 +0100 |
---|---|---|
committer | Gordian Edenhofer | 2016-02-26 13:17:12 +0100 |
commit | baa111623df134e5696131d4eb475226bd8018ef (patch) | |
tree | 07372dfc670f618cd9595490ccafa0bc3df8057b | |
parent | 0f9c12f67d661b7b6f8fa173430f73eecceaabca (diff) | |
download | aur-baa111623df134e5696131d4eb475226bd8018ef.tar.gz |
Upgpkg: 1037.384a319-1
Remove obsolete init script completely.
Cleaner munge user and group creation.
-rw-r--r-- | .SRCINFO | 7 | ||||
-rw-r--r-- | PKGBUILD | 23 | ||||
-rw-r--r-- | arch_munge.init | 49 | ||||
-rw-r--r-- | munge-git.install | 87 |
4 files changed, 59 insertions, 107 deletions
@@ -1,6 +1,8 @@ +# Generated by makepkg 5.0.0 +# Fri Feb 26 12:17:18 UTC 2016 pkgbase = munge-git pkgdesc = An authentication service for creating and validating credentials. It is designed to be highly scalable for use in an HPC cluster environment. - pkgver = 1013.9bdf618 + pkgver = 1037.384a319 pkgrel = 1 url = https://github.com/dun/munge/wiki install = munge-git.install @@ -15,9 +17,6 @@ pkgbase = munge-git provides = munge conflicts = munge source = munge-git::git+https://github.com/dun/munge.git - source = arch_munge.init md5sums = SKIP - md5sums = 3cdaf129182a96e220c5c42ee3ac63fe pkgname = munge-git - @@ -1,7 +1,7 @@ # Maintainer: Gordian Edenhofer <gordian.edenhofer[at]yahoo[dot]de> pkgname=munge-git -pkgver=1013.9bdf618 +pkgver=1037.384a319 pkgrel=1 pkgdesc="An authentication service for creating and validating credentials. It is designed to be highly scalable for use in an HPC cluster environment." arch=('i686' 'x86_64') @@ -14,10 +14,8 @@ makedepends=('git') provides=('munge') conflicts=('munge') install=$pkgname.install -source=("${pkgname}"::"git+https://github.com/dun/munge.git" - "arch_munge.init") -md5sums=('SKIP' - '3cdaf129182a96e220c5c42ee3ac63fe') +source=("${pkgname}"::"git+https://github.com/dun/munge.git") +md5sums=('SKIP') pkgver() { cd "${srcdir}/${pkgname}" @@ -41,17 +39,20 @@ package() { make DESTDIR="$pkgdir" install - # install arch specific munge init and remove original one... + # Remove obsolete init script (Arch Linux uses SystemD) rm -f $pkgdir/etc/init.d/munge rmdir $pkgdir/etc/init.d - install -D -m755 ../arch_munge.init $pkgdir/etc/rc.d/munge - - # /usr/sbin is deprecated in arch, hence using /usr/bin + # /usr/sbin is deprecated in Arch Linux sed -i 's/\/usr\/sbin/\/usr\/bin/g' $pkgdir/usr/lib/systemd/system/munge.service - # /var/run/munge will be created in post install, see munge.install - # because it is bad practice to put package-files in /run + # It is bad practice to put package-files in /run + # The dir /var/run/munge will be created in post_install, see .install rmdir $pkgdir/var/run/munge rmdir $pkgdir/var/run + + # Securing the installation (this is optional) + chmod 0700 /etc/munge + chmod 0711 /var/lib/munge + chmod 0700 /var/log/munge } diff --git a/arch_munge.init b/arch_munge.init deleted file mode 100644 index 451483c8f97e..000000000000 --- a/arch_munge.init +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -daemon_name=munge -USER=munge -[ -x /etc/default/munge ] && . /etc/default/munge - -PID=`pidof -o %PPID /usr/bin/munged` -case "$1" in - start) - stat_busy "Starting MUNGE daemon" - VARRUNDIR="/run/munge" - if [ ! -d "$VARRUNDIR" ]; then - mkdir -m 755 -p "$VARRUNDIR" - [ -n "$USER" ] && chown "$USER" "$VARRUNDIR" - fi - [ -z "$PID" ] && su "$USER" -c /usr/bin/munged "$DAEMON_ARGS" 2>&1 - if [ $? -gt 0 ] ; then - stat_fail - else - add_daemon $daemon_name # create the 'state' dir - stat_done - fi - ;; - stop) - stat_busy "Stopping MUNGE daemon" - [ "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon $daemon_name # remove the 'state' dir - stat_done - fi - ;; - restart) - $0 stop - sleep 5 - $0 start - ;; - status) - stat_busy "Checking MUNGE status" - ck_status $daemon_name - ;; - *) - echo "usage: $0 {start|stop|restart|status}" -esac -exit 0 diff --git a/munge-git.install b/munge-git.install index 5f93132bb80b..4fbe2a2c7b6f 100644 --- a/munge-git.install +++ b/munge-git.install @@ -1,77 +1,78 @@ +_user="munge" + post_install() { - # the installation process is described at https://code.google.com/p/munge/wiki/InstallationGuide - # create munge /var/run/munge dir + # The installation process is described at https://github.com/dun/munge/wiki/Installation-Guide + + # Create munge /var/run/munge dir and secure it mkdir -p /var/run/munge + chmod 0755 /var/run/munge - # add munge user/group - echo -e "\e[34;1m==>\e[39;1m Adding munge system group... \e[0m" - groupadd -r munge + getent group "${_user}" &>/dev/null + if [ $? -ne 0 ]; then + echo -e "\e[34;1m==>\e[39;1m Adding ${_user} system group... \e[0m" + groupadd -r ${_user} 1>/dev/null + fi - echo -e "\e[34;1m==>\e[39;1m Adding munge system user... \e[0m" - useradd -r -c "Munge Daemon" -d /var/log/munge -g munge munge + getent passwd "${_user}" &>/dev/null + if [ $? -ne 0 ]; then + echo -e "\e[34;1m==>\e[39;1m Adding ${_user} system user... \e[0m" + useradd -r -g ${_user} -d "/var/log/munge" -c "Munge Daemon" ${_user} 1>/dev/null + fi echo -e "\e[34;1m==>\e[39;1m Locking Munge User Account... \e[0m" passwd -l munge &>/dev/null - # create munge key - if [ ! -e /etc/munge/munge.key ] && [ -c /dev/urandom ]; then + # Create munge key + if [[ ! -e /etc/munge/munge.key && -c /dev/urandom ]]; then echo -e "\e[34;1m==>\e[39;1m Creating random munge key : /etc/munge/munge.key\e[0m" dd if=/dev/urandom bs=1 count=1024 of=/etc/munge/munge.key chmod 0400 /etc/munge/munge.key else - if [ -c /dev/urandom ]; then + if [[ -c /dev/urandom ]]; then echo -e "\e[34;1m==>\e[39;1m INFO: no munge key is generated since /etc/munge/munge.key already exists \e[0m" else echo -e "\e[34;1m==>\e[39;1m WARNING: did not create /etc/munge/munge.key since /dev/urandom is not found \e[0m" fi fi - # set permissions - chown munge:munge -R /etc/munge - chown munge:munge -R /var/log/munge - chown munge:munge -R /var/lib/munge - chown munge:munge -R /var/run/munge - - # securing the installation, this is optional! - #chmod 0700 /etc/munge - #chmod 0711 /var/lib/munge - #chmod 0700 /var/log/munge - #chmod 0755 /var/run/munge + # Set permissions + chown ${_user}:${_user} -R /etc/munge + chown ${_user}:${_user} -R /var/log/munge + chown ${_user}:${_user} -R /var/lib/munge + chown ${_user}:${_user} -R /var/run/munge } post_upgrade() { - # set permissions - chown munge:munge -R /etc/munge - chown munge:munge -R /var/log/munge - chown munge:munge -R /var/lib/munge - chown munge:munge -R /var/run/munge - if [ -e /etc/munge/munge.key ]; then + # Set permissions + chown ${_user}:${_user} -R /etc/munge + chown ${_user}:${_user} -R /var/log/munge + chown ${_user}:${_user} -R /var/lib/munge + chown ${_user}:${_user} -R /var/run/munge + + if [[ -e /etc/munge/munge.key ]]; then chmod 0400 /etc/munge/munge.key fi } pre_remove() { - which systemctl >& /dev/null - if [ $? -eq 0 ]; then - echo -e "\e[34;1m==>\e[39;1m Stopping munge using SystemD... \e[0m" - systemctl stop munge - - echo -e "\e[34;1m==>\e[39;1m Disabling SystemD related file(s)... \e[0m" - systemctl disable munge.service - else - echo -e "\e[34;1m==>\e[39;1m Stopping munge... " - /etc/rc.d/munge stop - fi + echo -e "\e[34;1m==>\e[39;1m Stopping and disabling munge using SystemD... \e[0m" + systemctl stop munge + systemctl disable munge.service } post_remove() { - # Removing obsolete dir + # Removing obsolete directory rm -rf /var/run/munge # Notifying the user of kept dirs and change owner - [ -d /etc/munge ] && chown root:root -R /etc/munge && echo -e "\e[34;1m==>\e[39;1m NOTE: Custom configuration-file(s) in /etc/munge/ were kept on your system.\e[0m" - [ -d /var/log/munge ] && chown root:root -R /var/log/munge && echo -e "\e[34;1m==>\e[39;1m NOTE: Logfiles were preserved. They reside under /var/log/munge .\e[0m" + [[ -d /etc/munge ]] && chown root:root -R /etc/munge && echo -e "\e[34;1m==>\e[39;1m NOTE: Custom configuration-file(s) in /etc/munge/ were kept on your system.\e[0m" + [[ -d /var/log/munge ]] && chown root:root -R /var/log/munge && echo -e "\e[34;1m==>\e[39;1m NOTE: Logfiles were preserved. They reside under /var/log/munge .\e[0m" - echo -e "\e[34;1m==>\e[39;1m Removing the munge user and group from the system... \e[0m" - userdel munge + echo -e "\e[34;1m==>\e[39;1m Removing ${_user} system user and group... \e[0m" + if getent passwd ${_user} >/dev/null 2>&1; then + userdel ${_user} 2>/dev/null + fi + if getent group ${_user} >/dev/null 2>&1; then + groupdel ${_user} + fi } |