From 8acc3f25fec3d94ab230aad0b347637c538e366e Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Sat, 5 Mar 2022 17:36:58 -0500 Subject: [PATCH] subu_add subu_del --- exec/subu_add | 35 ++++++++++++++++ exec/subu_del | 63 ++++++++++++++++++++++++++++ try/sss_cache_probs/dbprintf.aux.o | Bin 1680 -> 0 bytes try/sss_cache_probs/dispatch.lib.o | Bin 2496 -> 0 bytes try/sss_cache_probs/sss_cache | Bin 19200 -> 0 bytes try/sss_cache_probs/sss_cache.cli.o | Bin 1688 -> 0 bytes try/sss_cache_probs/sss_cache.lib.o | Bin 2880 -> 0 bytes 7 files changed, 98 insertions(+) create mode 100755 exec/subu_add create mode 100755 exec/subu_del delete mode 100644 try/sss_cache_probs/dbprintf.aux.o delete mode 100644 try/sss_cache_probs/dispatch.lib.o delete mode 100755 try/sss_cache_probs/sss_cache delete mode 100644 try/sss_cache_probs/sss_cache.cli.o delete mode 100644 try/sss_cache_probs/sss_cache.lib.o diff --git a/exec/subu_add b/exec/subu_add new file mode 100755 index 0000000..abd732e --- /dev/null +++ b/exec/subu_add @@ -0,0 +1,35 @@ +#!/bin/bash +# must have commands rsync and user-stem +# user-stem is in the system repo +# +# wish we could set the uids and gids so that backups would restore properly on other systems but it is too much trouble +# to do in a shell script. Perhaps in the python code for the actual release. + +subu=$1 + + +if [ ! -x "/usr/local/bin/user-stem" ]; then + echo "no /usr/local/bin/user-stem program found (it is in the system repo)" + exit 1 +fi + +if [ -z "$subu" ]; then + echo "no subuser name supplied" + exit 1 +fi + +# stem includes all characters up to the first '-' +stem=$(/usr/local/bin/user-stem) + +user_subu="$stem-$subu" +user_admin="$stem-admin" + +home_subu="/home/$stem/$subu" +home_admin="/home/$stem/admin" + +sudo useradd --home-dir "$home_subu" "$user_subu" +sudo usermod -aG "$user_subu" "$user_admin" +sudo find "$home_admin/subu_default" -mindepth 1 -execdir cp -p {} "$home_subu" \; +sudo find "$home_subu" -execdir chown "$user_subu":"$user_subu" {} \; + + diff --git a/exec/subu_del b/exec/subu_del new file mode 100755 index 0000000..2a9e474 --- /dev/null +++ b/exec/subu_del @@ -0,0 +1,63 @@ +#!/bin/bash +# must have command user-stem +# user-stem is in the system repo +# +# currently this is setup to be run by any user who has sudo - it doesn't have to be run by the user-admin account; though chances are it will be. +# +# userdel -r deletes both the /var/spool/mail/user and the user's home directory. We don't want to delete the old data just in case there +# is something important there. However we can not leve the old /var/spool/mail/user file under /var/spool/mail in case another subu is +# created later with the same name. Hence we will move the /var/spool/mail/user file into the users home directory. We will give ownership +# of the old home directory to the admin. +# +# I have run into a problem that subu users do not inherit the MAIL variable, I wouldn't trust it anyway. I do not know if userdel -r +# references the MAIL variable. I will hard code a local variable to /var/sppol/mail. This must be changed for systems that put the mail spool +# file eleswhere. +# +#set -x + +subu=$1 + +if [ ! -x "/usr/local/bin/user-stem" ]; then + echo "no /usr/local/bin/user-stem program found (it is in the system repo)" + exit 1 +fi + +if [ -z "$subu" ]; then + echo "no subuser name supplied" + exit 1 +fi + +# stem includes all characters up to the first '-' +stem=$(/usr/local/bin/user-stem) +user_subu="$stem-$subu" +user_admin="$stem-admin" +home_subu="/home/$stem/$subu" +archive_suffix=_former_subu +archive_subu="$home_subu$archive_suffix" +mail_source_dir="/var/spool/mail" +mail_source_file="$mail_source_dir/$user_subu" +mail_target_file="$home_subu/mail_spool" + +if [ -e "$archive_subu" ]; then + echo "there is already a saved directory for a deleted subu with this name, move this out of the way first: $archive_subu" + exit 1 +fi +if [ ! -d "$mail_source_dir" ]; then + echo "could not find mail spooler directory: $mail_source_dir" + exit 1 +fi + +if [ -e "$mail_target_file" ]; then + echo "there is already file system object where we planned to move the deleted user's mail spool, which is here: $home_subu/mail_spool" + exit 1 +fi + +sudo killall --signal 5 --user "$user_subu" +sudo mv "$mail_source_file" "$mail_target_file" +sudo chmod -R go-rwx "$home_subu" +sudo chown -R "$user_admin":"$user_admin" "$home_subu" +mv "$home_subu" "$archive_subu" +sudo groupdel -f "$user_subu" +sudo userdel "$user_subu" + +#set +x diff --git a/try/sss_cache_probs/dbprintf.aux.o b/try/sss_cache_probs/dbprintf.aux.o deleted file mode 100644 index 0b30dabab6ba550d98e6df3ece7ffd326e665b75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1680 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 LsOciEGXeerkVTIN diff --git a/try/sss_cache_probs/sss_cache.lib.o b/try/sss_cache_probs/sss_cache.lib.o deleted file mode 100644 index 97c858430e3e8b1069931c9105b480ad29a9da65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2880 zcmbtW&1)n@6tBr>_A9$)MQ|k|rMNPIOlK$SF42R`8pia&U6#PG-eONrO{PtzJ5*JZ z>|#&}2+gptNAV(fiZ{Il59%Vgdh_I85MgCKWFdzf0`a}-SCdYs=i%1<4@OEQW~Id5V@H-nL7zVA*G;$1&a*Mrbd$f`&3`|3lZ~yP5#Pqo`#1Od&Aoo(;6}2W{Fd|I+&Ex*baP{$>5AKb9z(jx!yn%P{S%gG=qA|q zA;>@9TI{HVTtxR#!|>gH{BHSL5zrJ-k(~(z))CiTNCick*-+)}K&^V(@8VpQQj5Ol1FPEP z!1q^#Ck?M%?MKzE~9b0K9UAtIZf zn|qg6=5IA8`K&YJ)cDMm+H7s6c8ymSz|-|~idU~svX^L`OZOI7X??sjF?Q(|;Il*U`Vf462!3k_esrLm zm7wML3~%0IZ<)1Qt1<|6hb@`ghYC+TYPe#?M6Gli&KK*f$v_KcPd9_NF%>+Y*= zaNI#0JHV$4#GWa{&t>p8p^t+27&ObDLJ$OT%w_Sn5d=Z}0yK-?L=eQ*Q#Tf4cSs{Y zThAwikAQvwnvL@*;Wkc}>@P@T96S$}|A27I-y-{K()qmKa5x1L3%4xX!QR zMFV-5Dzlb|Un6{naLkKm+Sa*8cz(X4BMH_-+v592+;nE%%w-z|)JZ12Ecr$qTWZ2dqng8$7R^-5|EzE3D%b%3NDTff!s z18nZSaIXfV&k`;S<@e(R6#Z&vd4FTh~Y{(VkAId-3L|IpX^Tf8VY=DSVxe@_MD j{XSFRk67VU>HOID4QNL4^T#)!$p0&<-y=V(^8Wt;q>;2z -- 2.20.1