[baseimage]: specify gid for redis group. (#7249)
Problem: Default groupadd for redis, takes 1000 by default. This forces, subsequently created admin group to get 1001. As all TACACS users are created with 1000 as their gid, they end up in redis group. Fix: Create redis group *after* admin group is created Add a check that admin group id is 1000
This commit is contained in:
parent
31849a5f02
commit
2276e2de25
@ -233,15 +233,16 @@ sudo cp files/docker/docker.service.conf $_
|
|||||||
## Fix systemd race between docker and containerd
|
## Fix systemd race between docker and containerd
|
||||||
sudo sed -i '/After=/s/$/ containerd.service/' $FILESYSTEM_ROOT/lib/systemd/system/docker.service
|
sudo sed -i '/After=/s/$/ containerd.service/' $FILESYSTEM_ROOT/lib/systemd/system/docker.service
|
||||||
|
|
||||||
## Create redis group
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT groupadd -f redis
|
|
||||||
|
|
||||||
## Create default user
|
## Create default user
|
||||||
## Note: user should be in the group with the same name, and also in sudo/docker/redis groups
|
## Note: user should be in the group with the same name, and also in sudo/docker/redis groups
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT useradd -G sudo,docker,redis $USERNAME -c "$DEFAULT_USERINFO" -m -s /bin/bash
|
sudo LANG=C chroot $FILESYSTEM_ROOT useradd -G sudo,docker $USERNAME -c "$DEFAULT_USERINFO" -m -s /bin/bash
|
||||||
## Create password for the default user
|
## Create password for the default user
|
||||||
echo "$USERNAME:$PASSWORD" | sudo LANG=C chroot $FILESYSTEM_ROOT chpasswd
|
echo "$USERNAME:$PASSWORD" | sudo LANG=C chroot $FILESYSTEM_ROOT chpasswd
|
||||||
|
|
||||||
|
## Create redis group
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT groupadd -f redis
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT usermod -aG redis $USERNAME
|
||||||
|
|
||||||
if [[ $CONFIGURED_ARCH == amd64 ]]; then
|
if [[ $CONFIGURED_ARCH == amd64 ]]; then
|
||||||
## Pre-install hardware drivers
|
## Pre-install hardware drivers
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install \
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install \
|
||||||
@ -531,6 +532,13 @@ sudo du -hsx $FILESYSTEM_ROOT
|
|||||||
sudo mkdir -p $FILESYSTEM_ROOT/var/lib/docker
|
sudo mkdir -p $FILESYSTEM_ROOT/var/lib/docker
|
||||||
sudo mksquashfs $FILESYSTEM_ROOT $FILESYSTEM_SQUASHFS -e boot -e var/lib/docker -e $PLATFORM_DIR
|
sudo mksquashfs $FILESYSTEM_ROOT $FILESYSTEM_SQUASHFS -e boot -e var/lib/docker -e $PLATFORM_DIR
|
||||||
|
|
||||||
|
|
||||||
|
# Ensure admin gid is 1000
|
||||||
|
gid_user=$(sudo LANG=C chroot $FILESYSTEM_ROOT id -g $USERNAME) || gid_user="none"
|
||||||
|
if [ "${gid_user}" != "1000" ]; then
|
||||||
|
die "expect gid 1000. current:${gid_user}"
|
||||||
|
fi
|
||||||
|
|
||||||
## Compress docker files
|
## Compress docker files
|
||||||
pushd $FILESYSTEM_ROOT && sudo tar czf $OLDPWD/$FILESYSTEM_DOCKERFS -C ${DOCKERFS_PATH}var/lib/docker .; popd
|
pushd $FILESYSTEM_ROOT && sudo tar czf $OLDPWD/$FILESYSTEM_DOCKERFS -C ${DOCKERFS_PATH}var/lib/docker .; popd
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user