Don't fail on uid/gid change

This commit is contained in:
cytopia
2020-11-13 00:32:31 +01:00
parent d926629879
commit 04c051e72f
15 changed files with 29 additions and 45 deletions

View File

@@ -7,7 +7,7 @@
## Release 0.115
#### Fixed
- [#703](https://github.com/cytopia/devilbox/issues/703) Allow big uid's and gid's
- [#703](https://github.com/cytopia/devilbox/issues/703) Don't fail on uid/gid change
## Release 0.114

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -37,9 +37,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###

View File

@@ -60,10 +60,15 @@ set_uid() {
fi
# Change uid and fix homedir permissions
log "info" "Changing user '${username}' uid to: ${uid}" "${debug}"
run "usermod -u ${uid} ${username}" "${debug}"
run "chown -R ${username} ${homedir} || true" "${debug}"
if ! run "usermod -u ${uid} ${username} 2>/dev/null" "${debug}"; then
run "usermod -u ${uid} ${username}" "${debug}"
fi
run "chown -R ${username} ${homedir} 2>/dev/null || true" "${debug}"
run "chown -R ${username} /var/lib/php/session" "${debug}"
run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}"
if [ -f "/var/spool/mail/devilbox" ]; then
run "chown -R ${username} /var/spool/mail/devilbox" "${debug}"
fi
fi
fi
}
@@ -100,12 +105,17 @@ set_gid() {
run "groupmod -g ${spare_gid} ${target_groupname}" "${debug}"
fi
fi
# Change ugd and fix homedir permissions
# Change gid and fix homedir permissions
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
run "groupmod -g ${gid} ${groupname}" "${debug}"
run "chown -R :${groupname} ${homedir} || true" "${debug}"
if ! run "groupmod -g ${gid} ${groupname} 2>/dev/null" "${debug}"; then
run "groupmod -g ${gid} ${groupname}" "${debug}"
fi
run "chown -R :${groupname} ${homedir} 2>/dev/null || true" "${debug}"
run "chown -R :${groupname} /var/lib/php/session" "${debug}"
run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}"
if [ -f "/var/spool/mail/devilbox" ]; then
run "chown -R :${groupname} /var/spool/mail/devilbox" "${debug}"
fi
fi
fi
}

View File

@@ -47,9 +47,7 @@ ENV MY_USER="devilbox" \
###
RUN set -eux \
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER} \
&& sed -i'' 's/^UID_MAX.*/UID_MAX 10000000/g' /etc/login.defs \
&& sed -i'' 's/^GID_MAX.*/GID_MAX 10000000/g' /etc/login.defs
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
###