#!/bin/sh # $OpenBSD: INSTALL,v 1.2 2003/06/23 19:08:52 sturm Exp $ # # Pre/post-installation setup of vsftpd PATH=/bin:/usr/bin:/sbin:/usr/sbin PREFIX=${PKG_PREFIX:-/usr/local} CONFIG_DIR=${SYSCONFDIR} SAMPLE_CONFIG_DIR=$PREFIX/share/examples/vsftpd VSFTPDUSER=_vsftpd VSFTPDGROUP=_vsftpd ID=513 do_usergroup_install() { # Create vsftpd user and group groupinfo -e $VSFTPDGROUP if [ $? -eq 0 ]; then echo "===> Using $VSFTPDGROUP group for vsftpd" else echo "===> Creating $VSFTPDGROUP group for vsftpd" groupadd -g $ID $VSFTPDGROUP fi userinfo -e $VSFTPDUSER if [ $? -eq 0 ]; then echo "===> Using $VSFTPDUSER user for vsftpd" else echo "===> Creating $VSFTPDUSER user for vsftpd" useradd -g $VSFTPDGROUP -d /nonexistent -c 'vsftpd user' -s /sbin/nologin -u $ID $VSFTPDUSER fi } do_notice() { echo echo "+---------------" echo "| The existing $1 configuration files in $CONFIG_DIR have NOT" echo "| been changed. You may want to compare them to the current samples in" echo "| $SAMPLE_CONFIG_DIR, and update your configuration" echo "| files as needed." echo "+---------------" echo } do_install() { install -o root -g wheel -m 644 $SAMPLE_CONFIG_DIR/vsftpd.conf $CONFIG_DIR echo echo "+---------------" echo "| The $1 configuration files have been installed in $CONFIG_DIR." echo "| Please view these files and change the configuration to meet your needs." echo "| You must also add one of the two folowing lines to your inetd.conf :" echo "|" echo "| ftp stream tcp nowait root ${PREFIX}/sbin/vsftpd vsftpd" echo "|" echo "| ftp stream tcp nowait root /usr/libexec/tcpd ${PREFIX}/sbin/vsftpd" echo "|" echo "| The second line is to use vsftpd with tcp-wrappers, see tcpd(8)." echo "+---------------" echo } do_warning() { echo "+---------------" echo "| WARNING!" echo "|" echo "| This port has changed its user/group from 'vsftpd' to '_vsftpd'." echo "| If you installed this port before, ensure all permissions are set" echo "| correctly and then \"rmuser vsftpd\"." echo "+---------------" echo } # verify proper execution # if [ $# -ne 2 ]; then echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2 exit 1 fi # Verify/process the command # case $2 in PRE-INSTALL) do_usergroup_install ;; POST-INSTALL) if [ ! -f $CONFIG_DIR/vsftpd.conf ]; then do_install $1 else do_notice $1 fi do_warning ;; *) echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2 exit 1 ;; esac exit 0