sleep 1
systemctl --quiet is-active NetworkManager.service
NM_RC=$?
-WAITED=0
+CYCLES_WAITED=0
while [ $NM_RC -ne 0 ]
do
+ if [ $CYCLES_WAITED -ge 10 ]
+ then
+ exit 1
+ fi
echo -n .
sleep 1
- WAITED=1
+ CYCLES_WAITED=$(( $CYCLES_WAITED + 1 ))
systemctl --quiet is-active NetworkManager.service
NM_RC=$?
done
-[ $WAITED -eq 1 ] && echo
+[ $CYCLES_WAITED -gt 0 ] && echo
-CONNECTIONS=$(nmcli --terse connection show | wc -l)
-while [ $CONNECTIONS -ne 1 ]
+# wait for one/the network connection to come up
+CONNECTION_DEVICES_UP=$(nmcli --terse connection show \
+ | grep --invert-match ':$' | wc -l)
+CYCLES_WAITED=0
+while [ $CONNECTION_DEVICES_UP -lt 1 ]
do
- echo "Number of connections: $CONNECTIONS" >&2
+ if [ $CYCLES_WAITED -ge 10 ]
+ then
+ nmcli connection show
+ exit 1
+ fi
+ echo -n .
sleep 1
- CONNECTIONS=$(nmcli --terse connection show | wc -l)
+ CYCLES_WAITED=$(( $CYCLES_WAITED + 1 ))
+ CONNECTION_DEVICES_UP=$(nmcli --terse connection show \
+ | grep --invert-match ':$' | wc -l)
done
+[ $CYCLES_WAITED -gt 0 ] && echo
-nmcli --terse connection show | grep ':$' >/dev/null
-ALL_CONNECTION_DEVICES_KNOWN=$?
-while [ $ALL_CONNECTION_DEVICES_KNOWN -eq 0 ]
-do
- echo "Not all connection devices are known yet" >&2
- sleep 1
- nmcli --terse connection show | grep ':$' >/dev/null
- ALL_CONNECTION_DEVICES_KNOWN=$?
-done
+CONNECTIONS=$(nmcli --terse connection show | wc -l)
+if [ $CONNECTIONS -ne 1 ]
+then
+ echo "Number of connections: $CONNECTIONS" >&2
+ exit 1
+fi
CONNECTION_LINE=$(nmcli --terse connection show)
CONNECTION_UUID=$(echo $CONNECTION_LINE | cut -f 2 -d ':')
cat >>/etc/openldap/ldap.conf <<EOF
BASE dc=user,dc=hu
-URI ldap://ldap.in.useribm.hu
+URI ldap://fds.in.useribm.hu
EOF
--- /dev/null
+#!/bin/sh
+
+
+/usr/local/bin/getletsencrypt.sh
--- /dev/null
+#!/bin/sh
+
+
+if [ -d /etc/letsencrypt/live/useribm ]
+then
+ for ORIG_FILE in /etc/httpd/conf.d/*.le
+ do
+ CONF_FILE=$(echo $ORIG_FILE | sed 's/^\(.*\)\.le$/\1/')
+ echo "Moving $ORIG_FILE to $CONF_FILE"
+ mv $ORIG_FILE $CONF_FILE
+ done
+ cp --archive \
+ /usr/lib/python3.10/site-packages/certbot_apache/_internal/tls_configs/current-options-ssl-apache.conf \
+ /etc/letsencrypt/options-ssl-apache.conf
+ systemctl enable httpd.service
+ systemctl start httpd.service
+fi
#!/bin/sh
-systemctl disable httpd.service
-
systemctl enable NetworkManager-wait-online.service
+systemctl start NetworkManager-wait-online.service
systemctl enable logrotate.timer
+systemctl start logrotate.timer
--- /dev/null
+# mode file (relative to /c3d)
+755 firstboot/scripts/*.sh
+755 postinstall/install-data/usr/local/bin/*.sh
+755 postinstall/scripts/*.sh
--- /dev/null
+#!/bin/sh
+
+
+if [ -d /etc/letsencrypt ]
+then
+ rm --force --recursive /etc/letsencrypt.old
+ cp --archive /etc/letsencrypt /etc/letsencrypt.old
+fi
+
+/usr/bin/rsync \
+ --archive \
+ --delete-after \
+ --info=STATS \
+ pki.in.useribm.hu::letsencrypt \
+ /etc/letsencrypt
+
+cp --archive \
+ /usr/lib/python3.10/site-packages/certbot_apache/_internal/tls_configs/current-options-ssl-apache.conf \
+ /etc/letsencrypt/options-ssl-apache.conf
--- /dev/null
+#!/bin/sh
+
+
+systemctl disable httpd.service
+systemctl disable NetworkManager-wait-online.service
+
+systemctl disable logrotate.timer
DISTRIBUTION=Fedora
DISTRIBUTION_VERSION=35
-ROOT_PACKAGES="hostname initscripts iproute rootfiles systemd-udev"
-BASE_PACKAGES="NetworkManager iputils logrotate rsyslog tar vim-minimal"
-SPEC_PACKAGES="openssh-server openssh-clients"
-SPEC_PACKAGES="$SPEC_PACKAGES httpd mailx mod_ssl php postfix python3-certbot-apache"
+SPEC_PACKAGES="httpd mod_ssl"
+++ /dev/null
-#!/bin/sh
-
-
-echo "Trying to generate certificates..."
-# testing/temporary/staging
-# --staging \
-# final
-certbot certonly \
- --agree-tos \
- --standalone \
- --cert-name user \
- --non-interactive \
- -d hg.useribm.hu \
- -d hg.userrendszerhaz.hu \
- -d jtrac.useribm.hu \
- -d jtrac.userrendszerhaz.hu \
- -d minicrm.useribm.hu \
- -d minicrm.userrendszerhaz.hu \
- -d redmine.useribm.hu \
- -d redmine.userrendszerhaz.hu \
- -d store.useribm.hu \
- -d svn.useribm.hu \
- -d svn.userrendszerhaz.hu \
- -d wiki.useribm.hu \
- -d wiki.userrendszerhaz.hu \
- -d useribm.hu \
- -d www.useribm.hu \
- -m zoltan.felleg@userrendszerhaz.hu
-RC=$?
-echo "RC: $RC"
-if [ \( $RC -eq 0 \) -a \( -d /etc/letsencrypt/live/user \) ]
-then
- for f in /etc/httpd/conf.d/*.le
- do
- cf=$(echo $f | sed 's/^\(.*\).le$/\1/')
- mv $f $cf
- done
- /usr/bin/cp \
- --archive \
- /usr/lib/python3.10/site-packages/certbot_apache/_internal/tls_configs/current-options-ssl-apache.conf \
- /etc/letsencrypt/options-ssl-apache.conf
- systemctl enable certbot-renew.timer
- systemctl start certbot-renew.timer
- systemctl enable httpd.service
- systemctl start httpd.service
-fi
+++ /dev/null
-#!/bin/sh
-
-
-#echo "relayhost = mx.usr.user.hu" >>/etc/postfix/main.cf
-
-systemctl enable postfix.service
-systemctl start postfix.service
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-
-echo rm -Rf $REAL_PATH
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-SOURCE_PATH=$REAL_PATH/install
-
-
-chown -R root.root $SOURCE_PATH/*
-
-chgrp ssh_keys $SOURCE_PATH/etc/ssh/*_key
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-SOURCE_PATH=$REAL_PATH/install
-
-
-chmod 400 $SOURCE_PATH/etc/ssh/*_key
-chmod 444 $SOURCE_PATH/etc/ssh/*.pub
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-
-tar --create \
- --directory=$REAL_PATH \
- --exclude=.placeholder \
- --to-stdout \
- install \
- | tar --extract \
- --backup \
- --directory=/ \
- --no-overwrite-dir \
- --strip-components=1 \
- --suffix=.orig
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-
-echo rm -Rf $REAL_PATH
+++ /dev/null
------BEGIN OPENSSH PRIVATE KEY-----
-b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
-1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQRV9gPUp7JtrYKTmjnCfenOtimEhmj6
-zY6k631As6vvCH6QpLU3qxoPs+kdRbWD9gXhQDimJGZLnlIY8FeHFyfqAAAAoEJDyclCQ8
-nJAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFX2A9Snsm2tgpOa
-OcJ96c62KYSGaPrNjqTrfUCzq+8IfpCktTerGg+z6R1FtYP2BeFAOKYkZkueUhjwV4cXJ+
-oAAAAhAOPPGAEPClQE2nh3ba2NW2YBKHcYARhbYKADtnufmOe+AAAAAAECAwQFBgc=
------END OPENSSH PRIVATE KEY-----
+++ /dev/null
-ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFX2A9Snsm2tgpOaOcJ96c62KYSGaPrNjqTrfUCzq+8IfpCktTerGg+z6R1FtYP2BeFAOKYkZkueUhjwV4cXJ+o=
+++ /dev/null
------BEGIN OPENSSH PRIVATE KEY-----
-b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
-QyNTUxOQAAACDDnEGt+oDQ21ShuMBtp9pF6c/KbuGkyi7G87RC7sH0gwAAAIgsZ2UFLGdl
-BQAAAAtzc2gtZWQyNTUxOQAAACDDnEGt+oDQ21ShuMBtp9pF6c/KbuGkyi7G87RC7sH0gw
-AAAEBmAugNoMxjQJkGGyCIGFPE2NorShm1gcLuD1C0HnMzr8OcQa36gNDbVKG4wG2n2kXp
-z8pu4aTKLsbztELuwfSDAAAAAAECAwQF
------END OPENSSH PRIVATE KEY-----
+++ /dev/null
-ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIFw20kXef4L7ZnrOqpbiBBSICKjbF4BGUsSjjzTVxnhuAAAAIMOcQa36gNDbVKG4wG2n2kXpz8pu4aTKLsbztELuwfSDAAAAAAAAAAAAAAACAAAAEHdzLnBtLnVzZXJpYm0uaHUAAAAUAAAAEHdzLnBtLnVzZXJpYm0uaHUAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACBF2CCM61EsfPwUOv7bZEq+aBMgeReWIOG6dQzpKgzjfQAAAFMAAAALc3NoLWVkMjU1MTkAAABABvS4I9z4yPUIdwPZeTK36B5S/yh16ccUBwPQdFbEkH+53OWETlsyL5EKiMEWZz90e1PRJSk83Reqv8JypGqjAA== /etc/ssh/ssh_host_ed25519_key.pub
+++ /dev/null
-ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMOcQa36gNDbVKG4wG2n2kXpz8pu4aTKLsbztELuwfSD
+++ /dev/null
------BEGIN OPENSSH PRIVATE KEY-----
-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
-z2OALeF2o5d4zTAAAAAAEC
------END OPENSSH PRIVATE KEY-----
+++ /dev/null
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZk8JumNNwiIRGzYrwHRb2syH9GjHNtSW/PYo+I0a4qQTHlpa1LOwoZcmPrzF4UEgsN5aWggcBsHbH0J+XEPTgFh2rcp1RZ79iPCs+utfL9WNPjJZk758RzPob+8sbNGr7ms0dnyTklhaOHSkEpyEoZs9U6c/o+aSAU8kMaWuwEW0RbFqK5y9gSfeGap3TEoFNv5oovfW98YvOj3hGgutel1z+cHP9j0BiYPbjWlSnjZMPZa+vKGwX1dKt44y0AqSSPRH+OQmhgDyjg/Bpys7AFmHLKVOBk9Qbe9SMbdH5+d6AYN8u0n5GZM5Rl2khIG8WVULIEb9TwL+ljSmoFNPvLb8Swa65Lfhu0cKxiuxSHIxy7qm4/zt+uiep79D/TUj06x3EssHPd5VkBRXdC1Ku6iNWWR/fcZSoxbtlHpE0Nt+COYVoQQ1wmp8tqCrg+4/UEW8+0NmxDymFrX/CATTWNNj5P9IrxKG5Hntd9t2OQlRVnjdUMqEt5merTsOct08=
+++ /dev/null
-HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub
+++ /dev/null
-TrustedUserCAKeys /etc/ssh/trusted-user-ca.keys
+++ /dev/null
-ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcf/XXU8dNVtbveGmwbdnRJfYIItzxKmgRkzlp0k6r5 user-CA