From 8633879b635d4ca49776a6bfca173ba4b6b73f85 Mon Sep 17 00:00:00 2001 From: Serghey Rodin Date: Sat, 17 Dec 2011 22:14:00 +0200 Subject: [PATCH] Added suspend/unsuspend user function --- bin/v_suspend_sys_user | 85 ++++++++++++++++++++++++++++++++++++++++ bin/v_unsuspend_sys_user | 82 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100755 bin/v_suspend_sys_user create mode 100755 bin/v_unsuspend_sys_user diff --git a/bin/v_suspend_sys_user b/bin/v_suspend_sys_user new file mode 100755 index 00000000..5fd3f66a --- /dev/null +++ b/bin/v_suspend_sys_user @@ -0,0 +1,85 @@ +#!/bin/bash +# info: Suspending sys user + +#----------------------------------------------------------# +# Variable&Function # +#----------------------------------------------------------# + +# Argument defenition +user=$1 + +# Importing variables +source $VESTA/conf/vars.conf +source $V_CONF/vesta.conf +source $V_FUNC/shared.func + + +#----------------------------------------------------------# +# Verifications # +#----------------------------------------------------------# + +# Checking arg number +check_args '1' "$#" 'user' + +# Checking argument format +format_validation 'user' + +# Checking user +is_user_valid + +# Checking user status +is_user_suspended + +# Checking user vesta +if [ "$user" = 'vesta' ]; then + exit +fi + + +#----------------------------------------------------------# +# Action # +#----------------------------------------------------------# + +# Adding '!' in front of the password +/usr/sbin/usermod --lock $user + +# Suspending web domains +if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then + $V_BIN/v_suspend_web_domains $user +fi + +# Suspending dns domains +if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then + $V_BIN/v_suspend_dns_domains $user +fi + +# Suspending mail domains +# TBD + +# Suspending datbabases +if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then + $V_BIN/v_suspend_db_bases $user +fi + +# Suspending cron jobs +if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then + $V_BIN/v_suspend_sys_cron_jobs $user +fi + + +#----------------------------------------------------------# +# Vesta # +#----------------------------------------------------------# + +# Adding task to the vesta pipe +restart_schedule 'cron' +restart_schedule 'web' +restart_schedule 'dns' + +# Changing suspend value +update_user_value "$user" '$SUSPEND' 'yes' + +# Logging +log_event 'system' "$V_EVENT" + +exit diff --git a/bin/v_unsuspend_sys_user b/bin/v_unsuspend_sys_user new file mode 100755 index 00000000..003ed6c1 --- /dev/null +++ b/bin/v_unsuspend_sys_user @@ -0,0 +1,82 @@ +#!/bin/bash +# info: Unsuspending sys user + +#----------------------------------------------------------# +# Variable&Function # +#----------------------------------------------------------# + +# Argument defenition +user=$1 + +# Importing variables +source $VESTA/conf/vars.conf +source $V_CONF/vesta.conf +source $V_FUNC/shared.func + + +#----------------------------------------------------------# +# Verifications # +#----------------------------------------------------------# + +# Checking arg number +check_args '1' "$#" 'user' + +# Checking argument format +format_validation 'user' + +# Checking user +is_user_valid + +# Checking user vesta +if [ "$user" = 'vesta' ]; then + exit +fi + + +#----------------------------------------------------------# +# Action # +#----------------------------------------------------------# + +# Deleting '!' in front of the password +/usr/sbin/usermod --unlock $user + +# Unsuspending web domains +if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then + $V_BIN/v_unsuspend_web_domains $user +fi + +# Unsuspending dns domains +if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then + $V_BIN/v_unsuspend_dns_domains $user +fi + +# Unsuspending mail domains +# TBD + +# Unsuspending datbabases +if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then + $V_BIN/v_unsuspend_db_bases $user +fi + +# Unsuspending cron jobs +if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then + $V_BIN/v_unsuspend_sys_cron_jobs $user +fi + + +#----------------------------------------------------------# +# Vesta # +#----------------------------------------------------------# + +# Adding task to the vesta pipe +restart_schedule 'cron' +restart_schedule 'web' +restart_schedule 'dns' + +# Changing suspend value +update_user_value "$user" '$SUSPEND' 'no' + +# Logging +log_event 'system' "$V_EVENT" + +exit