Skip to content

Commit 5fc738b

Browse files
authored
Revert "Refactor cloud-init/base.sh (#1797)" (#1856)
This reverts commit f0d0e91.
1 parent f0d0e91 commit 5fc738b

File tree

1 file changed

+15
-31
lines changed

1 file changed

+15
-31
lines changed

files/cloud-init/base.sh

+15-31
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,25 @@
11
#!/bin/bash
2-
set -euxo pipefail
2+
set -eux
33

4-
readonly user='algo'
5-
6-
export DEBIAN_FRONTEND='noninteractive'
7-
8-
until which sudo; do
9-
apt-get update -qq
10-
apt-get install -qqf --install-suggests sudo
11-
sleep 3
4+
which sudo || until \
5+
apt-get update -y && \
6+
apt-get install sudo -yf --install-suggests; do
7+
sleep 3
128
done
139

14-
getent passwd "${user}" \
15-
|| useradd -m -d "/home/${user}" -s /bin/bash -G adm -p '!' "${user}"
16-
17-
(
18-
umask 0337 \
19-
&& printf '%s\n' "${user} ALL=(ALL) NOPASSWD:ALL" \
20-
>"/etc/sudoers.d/10-algo-user"
21-
)
22-
23-
printf "{{ lookup('template', 'files/cloud-init/sshd_config') }}\n" \
24-
>/etc/ssh/sshd_config
10+
getent passwd algo || useradd -m -d /home/algo -s /bin/bash -G adm -p '!' algo
2511

26-
# This should be idempotent; correct permsission on .ssh dir if exists
27-
install -o "${user}" -g "${user}" -m 0700 -d "/home/${user}/.ssh"
12+
(umask 337 && echo "algo ALL=(ALL) NOPASSWD:ALL" >/etc/sudoers.d/10-algo-user)
2813

29-
# umask does not reliably work with sudo
30-
install -o "${user}" -g "${user}" -m 0600 \
31-
/dev/null "/home/${user}/.ssh/authorized_keys"
14+
cat <<EOF >/etc/ssh/sshd_config
15+
{{ lookup('template', 'files/cloud-init/sshd_config') }}
16+
EOF
3217

33-
printf "{{ lookup('file', '{{ SSH_keys.public }}') }}\n" \
34-
>"/home/${user}/.ssh/authorized_keys"
18+
test -d /home/algo/.ssh || (umask 077 && sudo -u algo mkdir -p /home/algo/.ssh/)
19+
echo "{{ lookup('file', '{{ SSH_keys.public }}') }}" | (umask 177 && sudo -u algo tee /home/algo/.ssh/authorized_keys)
3520

36-
until ! dpkg -l sshguard; do
37-
apt-get remove -qq --purge sshguard
38-
sleep 3
39-
done || :
21+
dpkg -l sshguard && until apt-get remove -y --purge sshguard; do
22+
sleep 3
23+
done || true
4024

4125
systemctl restart sshd.service

0 commit comments

Comments
 (0)