Add kickstart.user functions
This commit is contained in:
@ -31,6 +31,14 @@ kickstart.command_exists() {
|
||||
which $1 >/dev/null 2>&1
|
||||
}
|
||||
|
||||
kickstart.print_with_separator() {
|
||||
(
|
||||
IFS=$1
|
||||
shift
|
||||
echo -e "$*"
|
||||
)
|
||||
}
|
||||
|
||||
for recipe in recipes/kickstart/*; do
|
||||
source $recipe
|
||||
done
|
||||
|
@ -2,7 +2,18 @@ kickstart.user.create() {
|
||||
kickstart.mute "id $1" || ( useradd -m -s /bin/bash -U -p `openssl passwd -1 $2` $1 )
|
||||
}
|
||||
|
||||
kickstart.user.is_on_group() {
|
||||
grep -q $2 <(id -nG $1)
|
||||
}
|
||||
|
||||
kickstart.user.add_group() {
|
||||
kickstart.info "Adding $2 group to $1"
|
||||
grep -q $2 <(groups $1) || usermod -a -G $2 $1
|
||||
kickstart.user.is_on_group $1 $2 || usermod -a -G $2 $1
|
||||
}
|
||||
|
||||
kickstart.user.remove_group() {
|
||||
kickstart.info "Remove $1 from group $2"
|
||||
kickstart.user.is_on_group $1 $2 && \
|
||||
IFS=" " read -a groups < <(id -nG $1 | sed "s/$2//") && \
|
||||
usermod -G `kickstart.print_with_separator , ${groups[*]}` $1
|
||||
}
|
||||
|
Reference in New Issue
Block a user