summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2020-05-28 14:07:31 -0400
committerAndrew Cady <d@jerkface.net>2020-05-28 14:07:31 -0400
commita1496350b891d9c6526abaf6034acf32d2492131 (patch)
tree44642b1c41c47cc097ba4beede0ddad7110ef58d
parentf1cb71db11b0b83dc38b98d9117a284e6f3f5e47 (diff)
New makefile target 'install-dyndns-server'
This isn't fully implemented: * doesn't create the dyndns user * doesn't install or configure pdns.
-rw-r--r--Makefile27
-rwxr-xr-xsrc/samizdat-ssh-command6
2 files changed, 32 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index b60f052..e4109f0 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ src_bin_programs = xorriso-usb.sh btrfs-functions.sh btrfs-receive-root.sh
46btrfs-send-root.sh var.sh grub-efi.sh keygen.sh initrd.sh qemu.sh \ 46btrfs-send-root.sh var.sh grub-efi.sh keygen.sh initrd.sh qemu.sh \
47dnsmasq-dhcp-script.sh samizdat-password-agent samizdat-gpg-agent publish-ip.sh \ 47dnsmasq-dhcp-script.sh samizdat-password-agent samizdat-gpg-agent publish-ip.sh \
48selfstrap samizdat-daily-snapshot-root samizdat-diff-root kiki-export-stdout \ 48selfstrap samizdat-daily-snapshot-root samizdat-diff-root kiki-export-stdout \
49kiki-import-stdin store-child-permanently $(dyndns_progs) 49kiki-import-stdin store-child-permanently samizdat-ssh-uid $(dyndns_progs)
50 50
51bin_programs=$(addprefix src/, $(src_bin_programs)) samizdat-paths.sh ${cc_files} ${btrfs_utils} 51bin_programs=$(addprefix src/, $(src_bin_programs)) samizdat-paths.sh ${cc_files} ${btrfs_utils}
52 52
@@ -65,6 +65,31 @@ samizdat-paths.sh: src/samizdat-paths.in
65 @sed -e "s?PREFIX?$(prefix)?g" $< > $@ 65 @sed -e "s?PREFIX?$(prefix)?g" $< > $@
66include samizdat-paths.sh 66include samizdat-paths.sh
67 67
68DD_USER = dyndns
69DD_GROUP = dyndns
70
71install-dyndns-server:
72ifneq ($(shell id -u),0)
73 $(SUDO_MAKE) $@
74else
75 : apt install pdns
76 : adduser $(DD_USER)
77 chown root:$(DD_GROUP) /etc/powerdns
78 chown pdns:$(DD_GROUP) /etc/powerdns/powerdns.sqlite3
79 chmod g+rwx /etc/powerdns
80 chmod g+rw /etc/powerdns/powerdns.sqlite3
81 $(MAKE) ~$(DD_USER)/.ssh/authorized_keys
82 install src/samizdat-ssh-command /usr/local/bin/
83 install src/dyndns-command.sh ~$(DD_USER)/samizdat-default-command
84endif
85
86define dyndns_authorized_keys_contents
87command="/usr/local/bin/samizdat-ssh-command /etc/powerdns/dyndns-command.sh",no-port-forwarding * Samizdat - YES WE CAN
88endef
89
90~$(DD_USER)/.ssh/authorized_keys:
91 : writing file $@ $(file >$@,$(dyndns_authorized_keys_contents))
92
68install-nested-kvm: conf/kvm.conf 93install-nested-kvm: conf/kvm.conf
69 install -m0644 conf/kvm.conf ${instdir}/etc/modprobe.d/ 94 install -m0644 conf/kvm.conf ${instdir}/etc/modprobe.d/
70 modprobe -r kvm-intel kvm-amd kvm; modprobe kvm; modprobe kvm-intel; modprobe kvm-amd; true 95 modprobe -r kvm-intel kvm-amd kvm; modprobe kvm; modprobe kvm-intel; modprobe kvm-amd; true
diff --git a/src/samizdat-ssh-command b/src/samizdat-ssh-command
index 79053fd..a03b554 100755
--- a/src/samizdat-ssh-command
+++ b/src/samizdat-ssh-command
@@ -222,6 +222,12 @@ fi
222 222
223eval "$(samizdat-ssh-uid)" || die eval 223eval "$(samizdat-ssh-uid)" || die eval
224 224
225if [ $# -gt 0 ]
226then
227 exec "$@"
228 exit
229fi
230
225# TODO: call password_authentication on all authorization failures 231# TODO: call password_authentication on all authorization failures
226 232
227#echo "SSH_ORIGINAL_COMMAND=$SSH_ORIGINAL_COMMAND" >&2 233#echo "SSH_ORIGINAL_COMMAND=$SSH_ORIGINAL_COMMAND" >&2