#!/usr/bin/bash if [ $(/usr/bin/id -u) != 0 ]; then echo "only root can do that"; exit 2; fi #*************************************************************************** # This file is part of the CRYPTO BONE # File : activate-cryptobone # Version : 1.5 (ALL-IN-ONE) # License : BSD # Date : 1 March 2023 # Contact : Please send enquiries and bug-reports to innovation@senderek.ie # # # Copyright (c) 2015-2023 # Ralf Senderek, Ireland. All rights reserved. (https://senderek.ie) # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Ralf Senderek. # # 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. #**************************************************************************** # check if $1 is a valid user if [ $# -eq 1 ] ; then if grep "^$1:" /etc/passwd > /dev/null ; then if ls /etc/sudoers.d/cbcontrol > /dev/null 2> /dev/null; then echo -n "initialised" exit 3 else echo 'Defaults !syslog, logfile=/var/log/sudoers.log' > /etc/sudoers.d/cbcontrol echo "$1 ALL = /usr/lib/cryptobone/cbcontrol" >> /etc/sudoers.d/cbcontrol chmod 600 /etc/sudoers.d/cbcontrol 2> /dev/null systemctl enable cryptoboned > /dev/null 2> /dev/null systemctl enable cryptobone-fetchmail.timer > /dev/null 2> /dev/null # now make sure the MTA is enabled MTA=$(/bin/ls -l /etc/alternatives/mta) MTA=${MTA##*sendmail.} if [[ ${MTA} = "postfix" ]];then systemctl enable postfix > /dev/null 2> /dev/null fi if [[ ${MTA} = "exim" ]];then systemctl enable exim > /dev/null 2> /dev/null fi fi else echo -n "nosuchuser" exit 2 fi else echo -n "noparameter" exit 1 fi echo -n "success" exit 0