aboutsummaryrefslogtreecommitdiff
path: root/scripts/docker-pid1.bash
blob: cee0dffc4b6238109663dae1062319a6d322a935 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env bash

set -euo pipefail

cat <<"EOF" > /etc/sudoers.d/apheleia
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
EOF

groupadd -g "$(stat -c %g "$PWD")" -o -p '!' -r apheleia
useradd -u "$(stat -c %u "$PWD")" -g "$(stat -c %g "$PWD")" \
        -o -p '!' -m -N -l -s /usr/bin/bash -G sudo apheleia

runuser -u apheleia touch /home/apheleia/.sudo_as_admin_successful

if (( "$#" == 0 )) || [[ -z "$1" ]]; then
    set -- bash
fi

if (( "$#" == 1 )) && [[ "$1" == *" "* ]]; then
    set -- bash -c "$1"
fi

exec runuser -u apheleia -- "$@"