Initial RK1 media-center image project
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
install -d -m 0755 /var/lib/rk1-media
|
||||
hostnamectl set-hostname rk1-media 2>/dev/null || printf 'rk1-media\n' >/etc/hostname
|
||||
|
||||
for group_name in audio video render input; do
|
||||
getent group "$group_name" >/dev/null || groupadd --system "$group_name"
|
||||
done
|
||||
|
||||
getent group rkadmin >/dev/null || groupadd rkadmin
|
||||
if ! id rkadmin >/dev/null 2>&1; then
|
||||
useradd --create-home --gid rkadmin --shell /bin/bash --groups sudo,adm,systemd-journal,video,render,audio,input rkadmin
|
||||
fi
|
||||
usermod --password '!' rkadmin
|
||||
install -d -o rkadmin -g rkadmin -m 0700 /home/rkadmin/.ssh
|
||||
install -o rkadmin -g rkadmin -m 0600 /opt/rk1-seed/authorized_keys /home/rkadmin/.ssh/authorized_keys
|
||||
|
||||
install -d -m 0755 /etc/sudoers.d
|
||||
printf 'rkadmin ALL=(ALL:ALL) NOPASSWD: ALL\n' >/etc/sudoers.d/90-rkadmin
|
||||
chmod 0440 /etc/sudoers.d/90-rkadmin
|
||||
visudo --check --file=/etc/sudoers.d/90-rkadmin >/dev/null
|
||||
|
||||
usermod --password '!' root
|
||||
if grep -q '^127\.0\.1\.1[[:space:]]' /etc/hosts; then
|
||||
sed -i 's/^127\.0\.1\.1[[:space:]].*/127.0.1.1\trk1-media/' /etc/hosts
|
||||
else
|
||||
printf '127.0.1.1\trk1-media\n' >>/etc/hosts
|
||||
fi
|
||||
rm -f /root/.not_logged_in_yet /etc/ssh/ssh_host_*
|
||||
ssh-keygen -A
|
||||
# ssh.service normally creates this through RuntimeDirectory=sshd. This
|
||||
# validation runs before ssh.service, so it must provide the directory itself.
|
||||
install -d -o root -g root -m 0755 /run/sshd
|
||||
/usr/sbin/sshd -t
|
||||
touch /var/lib/rk1-media/identity-ready
|
||||
Reference in New Issue
Block a user