-
Notifications
You must be signed in to change notification settings - Fork 0
/
script
60 lines (43 loc) · 1.54 KB
/
script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash
# combustion: network
# Redirect output to the console
exec > >(exec tee -a /dev/tty0) 2>&1
## Set hostname
hostnamectl set-hostname silly-dog
## Set timezone
timedatectl set-timezone Europe/Amsterdam
## Copy config to /boot/efi
cp extraconfig.txt /boot/efi/
## Setup vconsole so framebuffer console has right font/keyboard layout (Optional)
cp vconsole.conf /etc/vconsole.conf
## Disable IPv6
cp 90-disableipv6.conf /etc/sysctl.d/
## Enable i2c on boot
cp 10-i2c.conf /etc/modules-load.d/
## Install i2-tools, docker and docker-compose
zypper --non-interactive install toolbox i2c-tools docker docker-compose bash-completion
systemctl enable docker.service
## Disable root
passwd -d root
## Mount /var and /home so user can be created smoothly
mount /var
mount /home
## Make user
useradd server --create-home -s /bin/bash -g users
echo 'server:$6$Lmx49O.WVigkrQo5$5.ktW4939gS4zhsnulvxe1EnIXDcPz/yQyX5R41Ml811.l6xPwG.onYZCK5/X.bSUSfY34hEaxKAJ2sVkHpBw0' | chpasswd -e
## Add user to sudoers
echo "server ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/server
## Create ssh folder and populate authorized_keys for remote sshd
mkdir -pm700 /home/server/.ssh
chown server:users -R /home/server/.ssh
cat server.pub >> /home/server/.ssh/authorized_keys
systemctl enable sshd.service
## Add user server to docker group
#usermod -G docker -a server
## Reboot after setup
cp firstbootreboot.service /etc/systemd/system/
systemctl enable firstbootreboot.service
## Clear up mounts
umount /var
umount /home
echo "Configured with Combustion" > /etc/issue.d/combustion