diff --git a/docs/kickstart/user/exists?.md b/docs/kickstart/user/exists?.md new file mode 100644 index 0000000..8b525bd --- /dev/null +++ b/docs/kickstart/user/exists?.md @@ -0,0 +1,9 @@ +# kickstart.user.exists? user +Checks if `user` already exists + + +### Example + +```bash +$ kickstart.user.exists? root || echo Root-less +``` diff --git a/docs/kickstart/user/homeFolder.md b/docs/kickstart/user/homeFolder.md new file mode 100644 index 0000000..93ae680 --- /dev/null +++ b/docs/kickstart/user/homeFolder.md @@ -0,0 +1,16 @@ +# kickstart.user.homeFolder user + +Looks up the `user` home folder on the `/etc/passwd` file. + +### Example + +```bash +$ kickstart.user.homeFolder vagrant +/home/vagrant + +$ kickstart.user.homeFolder root +/root + +$ kickstart.user.homeFolder no-user-existing + +``` diff --git a/kickstart/recipes/kickstart/user.sh b/kickstart/recipes/kickstart/user.sh index e010c45..7c89e3e 100644 --- a/kickstart/recipes/kickstart/user.sh +++ b/kickstart/recipes/kickstart/user.sh @@ -1,5 +1,9 @@ +kickstart.user.exists?() { + kickstart.mute id $1 +} + kickstart.user.create() { - kickstart.mute id $1 || ( useradd -m -s /bin/bash -U -p `openssl passwd -1 $2` $1 ) + kickstart.user.exists? $1 || ( useradd -m -s /bin/bash -U -p `openssl passwd -1 $2` $1 ) } kickstart.user.is_on_group() { @@ -18,6 +22,10 @@ kickstart.user.remove_group() { usermod -G `kickstart.print_with_separator , ${groups[*]}` $1 } +kickstart.user.homeFolder() { + grep ^$1 /etc/passwd | cut -d: -f 6 +} + kickstart.user.exec.command.module() { local cur_dir=`pwd` cat <