From 51c95256d3dd646d656540db6e2f96e61fa1a074 Mon Sep 17 00:00:00 2001 From: Thiago Abdo <tja14@inf.ufpr.br> Date: Tue, 19 Jan 2016 09:16:07 -0200 Subject: [PATCH] [add user] Adds remove group function, not tested Signed-off-by: Thiago Abdo <tja14@inf.ufpr.br> --- hdd/adduser.sh | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/hdd/adduser.sh b/hdd/adduser.sh index 7a4042b..4b103c3 100755 --- a/hdd/adduser.sh +++ b/hdd/adduser.sh @@ -93,6 +93,24 @@ add (){ fi } +remove_group(){ + local group=$1 + #get user that is direct from this group + local username=$( echo $group | cut -d':' -f1); + local userDetail=$( cat /etc/passwd | cut -d':' -f1-3 | grep -e "^$username:") + + #remove user that is from this group + remove_user "$userDetail" + + #remove group from groups + local temp=$(mktemp) + sed "/^$group$/d" /etc/group > $temp + cp $temp /etc/group + chown root:root /etc/group + chmod 644 /etc/group + rm $temp +} + remove_user(){ userDetail=$1 @@ -178,27 +196,25 @@ fi checkName=$( cat /etc/passwd | cut -d':' -f1-3 | grep -e "^$username:" ) if [ -z "$checkName" ]; then - #remove "$checkName" remove_user "$checkName" echo $0": encontrei outro usuario local com o mesmo nome, devo remove-lo" fi checkID=$( cat /etc/passwd | cut -d':' -f1-3 | grep -e ":$uID$" ) if [ -z "$checkID" ]; then - #remove "$checkID" remove_user "$checkID" echo $0": encontrei outro usuario local com o mesmo id, devo remove-lo" fi checkGID=$( cat /etc/group | grep -e ":$gID:" ) if [ -z "$checkGID" ]; then - #remove "$checkGID" + remove_group "$checkGID" echo $0": encontrei outro usuario local com o mesmo id de grupo, devo remove-lo" fi checkGName=$( cat /etc/group | grep -e "^$groupname:" ) if [ -z "$checkGName" ]; then - #remove "$checkGName" + remove_group "$checkGName" echo $0": encontrei outro usuario local com o mesmo nome de grupo, devo remove-lo" fi -- GitLab