Zarafa create user script for the DB plugin

From Zarafa wiki

Revision as of 08:55, 14 January 2011 by Robin (Talk | contribs)
Jump to: navigation, search

The Zarafa create user script.

This is a script that can be used to create users in a more friendly way for people who are new to Linux or have trouble remembering the various zarafa-admin variables.

The script will ask what values you want to give to a user, like: User name, Password, full name, email address, administrator or not and if the user is non-active or active.

Also when a non-active user is created the resource attributes will be asked. (auto accept meeting request and declining recurring and/or conflicting).

To use the script, copy paste the text below into a new file, give the file executable rights (chmod +x). Then, run it as root (Zarafa-server needs to be running).

Feel free to improve the script.

The script:

#!/usr/bin/env bash

# Script to create a user in Zarafa with the DB user plugin.
# Version (date / time): 20110107-13:00
# WARNING: DO NOT use this script when using the UNIX, LDAP or
# Active Directory plugin!
echo 'This script will help you creating a new Zarafa user.'
echo 'DISCLAIMER: This script is only suitable for use with the DB plugin.'
echo 'Creating a new Zarafa user. Please enter the details of the user.'

# Check if the user is root (required to run the zarafa-admin tool).
if [ $USER != 'root' ]
echo "You need root privileges to run this script. Exiting."
exit 0

#The user name. Input needed is the user name.
while [ -z $username ] ;do 
	echo -n 'User name of the new user:'
	read username

#The password.
while [ -z $password ] ;do
       	echo -n 'Password (will not be visible on input):'
	read -s password
	echo ' '

#The full name. No " "  needed for full names with spaces
while [ -z "$full" ] ;do
        echo -n 'Full name of the new user (without quotes, can have spaces):'
        read full

#The email address. 
while [ -z $email ] ;do
	echo -n 'Email address of the new user:'
	read email

#The admin attribute 1 for admin or 0 for no admin role. 2 can also be given this will make it a system admin.
while [ -z $admin ] ;do
	echo 'Should the user have administrator rights?'
	echo 'Enter 1 for yes, 0 for no (The default is no):'
	read admin

#The non-active attribute for non-active users (resources) 
while [ -z $non ] ;do
	echo 'Should the non active bit be set for this user? This is common for resources.'
	echo 'Enter 1 for yes, 0 for no (The default is no):'
	read non

#The zarafa-admin command to create the user with the input given by the user.
zarafa-admin -c "$username" -p "$password" -f "$full" -e "$email" -a "$admin" -n "'$non"

# Here we add the resource attributes if you want to.
if [ $non == "1" -o $non == "1" ]; then
  echo  'This user is non active. Please set the resource attributes as well.'
  echo  'Would you like to use this resource as a bookable room? Yes/No:'
  read accept

# If the resource is set to auto accept you might want to set these options aswell.
   if [ $accept == "yes" ]; then
     echo -n 'Would you like to make the resource decline recurring appointments? Yes/No:'
     read recurring
     echo -n 'Would you like to make the resource decline conflicting appointments? Yes/No:'
     read conflict
     zarafa-admin -u "$username" --mr-accept "$accept" --mr-decline-conflict "$conflict" --mr-decline-recurring "$recurring" 

  echo "done"


#The details of the user will now be displayed:
echo 'User created with the following details:'
zarafa-admin --details "$username"

Personal tools