[ -z "$key" -o "$(echo "$key" | wc -l)" -ne 1 ] && die "--key needs to be just one line"
echo "$key" | grep -q ssh || die "--key does not look like an SSH public key"
-adduser --disabled-password --shell $(which novaboot-shell) $adduser_opts "$@"
+adduser --disabled-password --ingroup novaboot --shell $(which novaboot-shell) $adduser_opts "$@"
user="$1"
home=$(getent passwd "$user"|awk -F: '{print $6;}')
echo "Creating $home/.ssh/authorized_keys"
mkdir -p -m 700 "$home/.ssh"
echo "command=\"user $admin admin\" $key" >> $home/.ssh/authorized_keys
-chown $user "$home/.ssh" "$home/.ssh/authorized_keys"
+chown $user: "$home/.ssh" "$home/.ssh/authorized_keys"
if [ -d /srv/tftp -a ! -e /srv/tftp/$user ]; then
- echo "Creating symlink from /srv/tftp/$user to $home/tftproot."
- mkdir -p $home/tftproot
- chown $user $home/tftproot
- ln -s $home/tftproot /srv/tftp/$user
+ echo "Creating /srv/tftp/$user and symlink to it from $home/tftproot."
+ mkdir -p /srv/tftp/$user
+ chown $user /srv/tftp/$user
+ ln -s /srv/tftp/$user $home/tftproot
else
- echo "NOT creating symlink from /srv/tftp/$user to $home/tftproot."
-fi
-
-if [ -d /run/systemd/system ]; then
- echo "Installing systemd services and timers in /etc/systemd/system/user@$uid.service.d"
- mkdir -p /etc/systemd/system/user@$uid.service.d
- cat <<EOF > /etc/systemd/system/user@$uid.service.d/novaboot-server.conf
-[Unit]
-Requires=novaboot-server-login@$user.service
-After=novaboot-server-login@$user.service
-EOF
+ echo "NOT creating /srv/tftp/$user and symlink to it from $home/tftproot."
fi
echo "Creating configuration template in $home/.novaboot-shell"
cat <<'CONFIG_EOF' > $home/.novaboot-shell
+#!/bin/sh
#
# Configuration for novaboot-shell
#
#reset_cmd='/bin/sh -c "(usbrelay LY03X_2=1; sleep 0.1; usbrelay LY03X_2=0) 2>/dev/null"'
-#on_cmd='/bin/sh -c "(usbrelay LY03X_1=1; sleep 0.1; usbrelay LY03X_1=0) 2>/dev/null"';;
-#off_cmd='/bin/sh -c "(usbrelay LY03X_1=1; sleep 7.0; usbrelay LY03X_1=0) 2>/dev/null"';;
-
-
-target_config() {
-# echo '--prefix=/prefix'
-# echo '--uboot="=>"'
-# echo '--uboot-init="setenv serverip 192.168.1.1"'
-}
+#on_cmd='/bin/sh -c "(usbrelay LY03X_1=1; sleep 0.1; usbrelay LY03X_1=0) 2>/dev/null"';
+#off_cmd='/bin/sh -c "(usbrelay LY03X_1=1; sleep 7.0; usbrelay LY03X_1=0) 2>/dev/null"';
+
+# target_config="\
+# --prefix=/prefix/
+# --uboot==>
+# --uboot-init=setenv serverip 192.168.1.1
+# --uboot-addr=kernel=0x81000000
+# --uboot-addr=fdt=0x83000000
+# --uboot-addr=ramdisk=0x83100000
+# "
CONFIG_EOF
+chown $user: $home/.novaboot-shell
+if [ -d /run/systemd/system ]; then
+ cat <<EOF
+See adduser-novaboot(8) for instructions how to automatically power of
+the target.
+EOF
+fi
echo "Done"