mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-04-29 10:10:19 +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
|
member: uid=$username,ou=users,dc=thisbox
|
||||||
EOF
|
EOF
|
||||||
fi
|
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"
|
ldapdelete -Y EXTERNAL -H ldapi:/// "$dn"
|
||||||
fi
|
fi
|
||||||
done <<< "$results"
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
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
|
member: uid=$old_username,ou=users,dc=thisbox
|
||||||
EOF
|
EOF
|
||||||
done <<< "$results"
|
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