If a package hard codes the UID or GID when adding a user or group to
the system and that UID/GID already exists, we should abort rather than
changing the UID/GID.
---
eclass/user.eclass | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/eclass/user.eclass b/eclass/user.eclass
index f6a10a6bee2..0d0f9d9eb89 100644
--- a/eclass/user.eclass
+++ b/eclass/user.eclass
@@ -130,7 +130,8 @@ enewuser() {
if [[ -n ${euid} && ${euid} != -1 ]] ; then
if [[ ${euid} -gt 0 ]] ; then
if [[ -n $(egetent passwd ${euid}) ]] ; then
- euid="next"
+ eerror "UID is already taken"
+ die "user ${euser} needs a new UID"
fi
else
eerror "Userid given but is not greater than 0 !"
@@ -290,7 +291,8 @@ enewgroup() {
if [[ ! -z ${egid} ]] ; then
if [[ ${egid} -gt 0 ]] ; then
if [[ -n $(egetent group ${egid}) ]] ; then
- egid="next available; requested gid taken"
+ eerror "GID is already taken"
+ die "group ${egroup} needs a new GID"
fi
else
eerror "Groupid given but is not greater than 0 !"
--
2.21.0