32 lines
1.0 KiB
Plaintext
32 lines
1.0 KiB
Plaintext
|
#!/usr/bin/with-contenv bash
|
||
|
|
||
|
mkdir -p /config/{extensions,data,workspace,.ssh}
|
||
|
|
||
|
if [ -n "${SUDO_PASSWORD}" ] || [ -n "${SUDO_PASSWORD_HASH}" ]; then
|
||
|
echo "setting up sudo access"
|
||
|
if ! grep -q 'abc' /etc/sudoers; then
|
||
|
echo "adding abc to sudoers"
|
||
|
echo "abc ALL=(ALL:ALL) ALL" >> /etc/sudoers
|
||
|
fi
|
||
|
if [ -n "${SUDO_PASSWORD_HASH}" ]; then
|
||
|
echo "setting sudo password using sudo password hash"
|
||
|
sed -i "s|^abc:\!:|abc:${SUDO_PASSWORD_HASH}:|" /etc/shadow
|
||
|
else
|
||
|
echo "setting sudo password using SUDO_PASSWORD env var"
|
||
|
echo -e "${SUDO_PASSWORD}\n${SUDO_PASSWORD}" | passwd abc
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
[[ ! -f /config/.bashrc ]] && \
|
||
|
cp /root/.bashrc /config/.bashrc
|
||
|
[[ ! -f /config/.profile ]] && \
|
||
|
cp /root/.profile /config/.profile
|
||
|
|
||
|
# fix permissions (ignore contents of /config/workspace)
|
||
|
find /config -path /config/workspace -prune -o -exec chown abc:abc {} +
|
||
|
chown abc:abc /config/workspace
|
||
|
chmod 700 /config/.ssh
|
||
|
if [ -n "$(ls -A /config/.ssh)" ]; then
|
||
|
chmod 600 /config/.ssh/*
|
||
|
fi
|