commit: 970abc63ba7144c45208acf3f727d8a559caaa43
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 27 08:37:53 2019 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 29 09:21:48 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=970abc63
user.eclass: Allocate next free UID or GID from 999 downwards.
Fixed UIDs and GIDs are mostly located in the low range, therefore
going downwards from 999 to 101 will minimise collisions between fixed
and dynamically allocated IDs.
Note that on Linux and other targets using "groupadd -r" from
sys-apps/shadow, GIDs are already allocated that way implicitly.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/user.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/user.eclass b/eclass/user.eclass
index 9dc15fa75d2..a3cacb6d5f1 100644
--- a/eclass/user.eclass
+++ b/eclass/user.eclass
@@ -157,10 +157,10 @@ enewuser() {
euid="next"
fi
if [[ ${euid} == "next" ]] ; then
- for ((euid = 101; euid <= 999; euid++)); do
+ for ((euid = 999; euid >= 101; euid--)); do
[[ -z $(egetent passwd ${euid}) ]] && break
done
- [[ ${euid} -le 999 ]] || die "${FUNCNAME}: no free UID found"
+ [[ ${euid} -ge 101 ]] || die "${FUNCNAME}: no free UID found"
fi
opts+=( -u ${euid} )
einfo " - Userid: ${euid}"
@@ -318,10 +318,10 @@ enewgroup() {
_enewgroup_next_gid() {
if [[ ${egid} == *[!0-9]* ]] ; then
# Non numeric
- for ((egid = 101; egid <= 999; egid++)) ; do
+ for ((egid = 999; egid >= 101; egid--)) ; do
[[ -z $(egetent group ${egid}) ]] && break
done
- [[ ${egid} -le 999 ]] || die "${FUNCNAME}: no free GID
found"
+ [[ ${egid} -ge 101 ]] || die "${FUNCNAME}: no free GID
found"
fi
}