mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-28 08:03:36 +00:00
Also add admin users to posixGroup for sudo privileges.
This commit is contained in:
parent
6ca38ba665
commit
32bb08c269
@ -41,3 +41,28 @@ add: member
|
||||
member: uid=$username,ou=users,dc=thisbox
|
||||
EOF
|
||||
fi
|
||||
|
||||
# For admin users, also need a posixAccount for sudo.
|
||||
if [ "$groupname" == "admin" ]; then
|
||||
# check if sudo group already exists
|
||||
results=$(ldapsearch -Y EXTERNAL -H ldapi:/// -b 'ou=groups,dc=thisbox' -LLL "(cn=sudo)" cn)
|
||||
|
||||
if [ -z "$results" ]; then
|
||||
# create sudo group
|
||||
cat <<EOF |ldapadd -Y EXTERNAL -H ldapi:///
|
||||
dn: cn=sudo,ou=groups,dc=thisbox
|
||||
objectClass: posixGroup
|
||||
cn: sudo
|
||||
gidNumber: 27
|
||||
memberUid: $username
|
||||
EOF
|
||||
else
|
||||
# add user to sudo group
|
||||
cat <<EOF |ldapmodify -Y EXTERNAL -H ldapi:///
|
||||
dn: cn=sudo,ou=groups,dc=thisbox
|
||||
changetype: modify
|
||||
add: memberUid
|
||||
memberUid: $username
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -46,3 +46,15 @@ EOF
|
||||
ldapdelete -Y EXTERNAL -H ldapi:/// "$dn"
|
||||
fi
|
||||
done <<< "$results"
|
||||
|
||||
# update sudo group if needed
|
||||
results=$(ldapsearch -Y EXTERNAL -H ldapi:/// -b 'cn=sudo,ou=groups,dc=thisbox' -LLL "(memberUid=$username)")
|
||||
|
||||
if [ -n "$results" ]; then
|
||||
cat <<EOF |ldapmodify -Y EXTERNAL -H ldapi:///
|
||||
dn: cn=sudo,ou=groups,dc=thisbox
|
||||
changetype: modify
|
||||
delete: memberUid
|
||||
memberUid: $username
|
||||
EOF
|
||||
fi
|
||||
|
||||
@ -44,3 +44,17 @@ elif [ $? -eq 65 ]; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$groupname" == "admin" ]; then
|
||||
# update sudo group if needed
|
||||
results=$(ldapsearch -Y EXTERNAL -H ldapi:/// -b 'cn=sudo,ou=groups,dc=thisbox' -LLL "(memberUid=$username)")
|
||||
|
||||
if [ -n "$results" ]; then
|
||||
cat <<EOF |ldapmodify -Y EXTERNAL -H ldapi:///
|
||||
dn: cn=sudo,ou=groups,dc=thisbox
|
||||
changetype: modify
|
||||
delete: memberUid
|
||||
memberUid: $username
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -53,3 +53,22 @@ delete: member
|
||||
member: uid=$old_username,ou=users,dc=thisbox
|
||||
EOF
|
||||
done <<< "$results"
|
||||
|
||||
# update sudo group if needed
|
||||
results=$(ldapsearch -Y EXTERNAL -H ldapi:/// -b 'cn=sudo,ou=groups,dc=thisbox' -LLL "(memberUid=$old_username)")
|
||||
|
||||
if [ -n "$results" ]; then
|
||||
cat <<EOF |ldapmodify -Y EXTERNAL -H ldapi:///
|
||||
dn: cn=sudo,ou=groups,dc=thisbox
|
||||
changetype: modify
|
||||
delete: memberUid
|
||||
memberUid: $old_username
|
||||
EOF
|
||||
|
||||
cat <<EOF |ldapmodify -Y EXTERNAL -H ldapi:///
|
||||
dn: cn=sudo,ou=groups,dc=thisbox
|
||||
changetype: modify
|
||||
add: memberUid
|
||||
memberUid: $new_username
|
||||
EOF
|
||||
fi
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user