From b2ede928549d5c102d4c746097e140775dc96487 Mon Sep 17 00:00:00 2001 From: Willy Sudiarto Raharjo Date: Sun, 1 Jun 2014 22:00:27 -0500 Subject: system/usermin: Added (web-based interface for system administration) Signed-off-by: Erik Hanson --- system/usermin/README | 26 ++++++++ system/usermin/doinst.sh | 48 ++++++++++++++ system/usermin/slack-desc | 19 ++++++ system/usermin/usermin.SlackBuild | 131 ++++++++++++++++++++++++++++++++++++++ system/usermin/usermin.info | 10 +++ 5 files changed, 234 insertions(+) create mode 100644 system/usermin/README create mode 100644 system/usermin/doinst.sh create mode 100644 system/usermin/slack-desc create mode 100644 system/usermin/usermin.SlackBuild create mode 100644 system/usermin/usermin.info (limited to 'system/usermin') diff --git a/system/usermin/README b/system/usermin/README new file mode 100644 index 0000000000..7990fb53a0 --- /dev/null +++ b/system/usermin/README @@ -0,0 +1,26 @@ +Usermin is a web-based interface for webmail, password changing, +mail filters, fetchmail and much more. +It is designed for use by regular non-root users on a Unix system, +and limits them to tasks that they would be able to perform if +logged in via SSH or at the console. + +After installing: +- start the usermin modules: /etc/usermin/start +- login into webmin +- refresh webmin modules +- restart webmin. + +You will see a new menu called Usermin Configuration under Webmin. + +By default usermin runs at port 20000. After the webmin service is +started, point your web browser to http://localhost:20000 and +login as normal user to use usermin. + +NOTES: +If you want to use SSL/HTTPS support, change the ssl=0 into ssl=1 in +/etc/usermin/miniserv.conf. SSL/HTTPS support requires additional +dependency: Net-SSLeay. + +By default, this script set usermin to be accessible only on localhost. +If you want global/public access, comment or remove this line in +/etc/usermin/miniserv.conf: allow=127.0.0.1 diff --git a/system/usermin/doinst.sh b/system/usermin/doinst.sh new file mode 100644 index 0000000000..1b6001013d --- /dev/null +++ b/system/usermin/doinst.sh @@ -0,0 +1,48 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/usermin/miniserv.conf.new +config etc/usermin/miniserv.users.new +config etc/usermin/config.new +config etc/usermin/at/config.new +config etc/usermin/changepass/config.new +config etc/usermin/chfn/config.new +config etc/usermin/commands/config.new +config etc/usermin/cron/config.new +config etc/usermin/cshrc/config.new +config etc/usermin/fetchmail/config.new +config etc/usermin/file/config.new +config etc/usermin/filter/config.new +config etc/usermin/forward/config.new +config etc/usermin/gnupg/config.new +config etc/usermin/htaccess/config.new +config etc/usermin/htaccess-htpasswd/config.new +config etc/usermin/language/config.new +config etc/usermin/mailbox/config.new +config etc/usermin/mailcap/config.new +config etc/usermin/man/config.new +config etc/usermin/mysql/config.new +config etc/usermin/plan/config.new +config etc/usermin/postgresql/config.new +config etc/usermin/proc/config.new +config etc/usermin/procmail/config.new +config etc/usermin/quota/config.new +config etc/usermin/schedule/config.new +config etc/usermin/shell/config.new +config etc/usermin/spam/config.new +config etc/usermin/ssh/config.new +config etc/usermin/theme/config.new +config etc/usermin/telnet/config.new +config etc/usermin/tunnel/config.new +config etc/usermin/updown/config.new +config etc/usermin/usermount/config.new diff --git a/system/usermin/slack-desc b/system/usermin/slack-desc new file mode 100644 index 0000000000..7361dfb25d --- /dev/null +++ b/system/usermin/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +usermin: usermin (web-based interface for system administration) +usermin: +usermin: Usermin is a web-based interface for webmail, password changing, +usermin: mail filters, fetchmail and much more. +usermin: It is designed for use by regular non-root users on a Unix system, +usermin: and limits them to tasks that they would be able to perform if +usermin: logged in via SSH or at the console. +usermin: +usermin: +usermin: Homepage: http://www.webmin.com/usermin.html +usermin: diff --git a/system/usermin/usermin.SlackBuild b/system/usermin/usermin.SlackBuild new file mode 100644 index 0000000000..639cd1dd1a --- /dev/null +++ b/system/usermin/usermin.SlackBuild @@ -0,0 +1,131 @@ +#!/bin/sh + +# Slackware build script for usermin + +# Copyright 2014 Willy Sudiarto Raharjo +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=usermin +VERSION=${VERSION:-1.600} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +ARCH=noarch + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Fix perl path +(find . -name '*.cgi' ; find . -name '*.pl') | perl perlpath.pl /usr/bin/perl - + +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" miniserv.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" acl_security.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" config-lib.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" copyconfig.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" install-module.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" javascript-lib.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" maketemp.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" newmods.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" oschooser.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" perlpath.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" thirdparty.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" ui-lib.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" web-lib-funcs.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" web-lib.pl +sed -i "s|/usr/local/bin/perl|/usr/bin/perl|" webmin-search-lib.pl + +# remove init scripts for other distro +rm -rf usermin-debian-pam usermin-pam* usermin-daemon + +mkdir -p $PKG/opt/usermin $PKG/var/log/usermin $PKG/etc/usermin + +cp -rp * $PKG/opt/usermin + +tar xvf $CWD/usermin-config.tar.bz2 +cp -rf usermin-config/* $PKG/opt/usermin + +# define parameters for setup.sh +config_dir=$PKG/etc/usermin +var_dir=$PKG/var/log/usermin +perl=/usr/bin/perl +autoos=1 +port=20000 +login=root +ssl=0 +atboot=0 +nostart=1 +nochown=1 +autothird=1 +nouninstall=1 +noperlpath=1 +atbootyn=n +tempdir="$PKG/tmp" +export config_dir var_dir perl autoos port tempdir ssl nochown autothird nouninstall nostart noperlpath atbootyn login + +# Fix setup.sh +sed -i -e "s:read atbootyn::g" -e "s:exit 13::g" $PKG/opt/usermin/setup.sh +$PKG/opt/usermin/setup.sh + +# Fixup the config files to use their real locations +sed -i "s:^pidfile=.*$:pidfile=/var/run/usermin.pid:" $PKG/etc/usermin/miniserv.conf +find $PKG/etc/usermin -type f -exec sed -i "s:$PKG::g" {} \; + +# make it only accessible by localhost +echo 'allow=127.0.0.1' >> $PKG/etc/usermin/miniserv.conf + +CONFIG="postgresql telnet file fetchmail usermount forward schedule language filter theme cron \ + ssh proc tunnel spam gnupg plan man commands chfn shell htaccess at mailcap mailbox \ + htaccess-htpasswd changepass procmail cshrc mysql quota updown" +for L in $CONFIG +do +mv $PKG/etc/usermin/$L/config $PKG/etc/usermin/$L/config.new ; +done +mv $PKG/etc/usermin/config $PKG/etc/usermin/config.new +mv $PKG/etc/usermin/miniserv.conf $PKG/etc/usermin/miniserv.conf.new +mv $PKG/etc/usermin/miniserv.users $PKG/etc/usermin/miniserv.users.new +rm -rf $PKG/tmp + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a LICENCE README $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/usermin/usermin.info b/system/usermin/usermin.info new file mode 100644 index 0000000000..caba436e1f --- /dev/null +++ b/system/usermin/usermin.info @@ -0,0 +1,10 @@ +PRGNAM="usermin" +VERSION="1.600" +HOMEPAGE="http://webmin.com/usermin.html" +DOWNLOAD="http://prdownloads.sourceforge.net/webadmin/usermin-1.600.tar.gz" +MD5SUM="980c8d275de491f2d8ae37eba0765f4f" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="webmin" +MAINTAINER="Willy Sudiarto Raharjo" +EMAIL="willysr@slackbuilds.org" -- cgit v1.2.3-65-gdbad