⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.5
Server IP:
13.127.59.50
Server:
Linux ip-172-31-46-210 5.15.0-1033-aws #37~20.04.1-Ubuntu SMP Fri Mar 17 11:39:30 UTC 2023 x86_64
Server Software:
Apache/2.4.41 (Ubuntu)
PHP Version:
7.4.3-4ubuntu2.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
snap
/
core24
/
988
/
usr
/
share
/
subiquity
/
View File Name :
console-conf-wrapper
#!/bin/bash set -e trap true HUP INT QUIT TSTP echo_on () { stty echo; } trap echo_on EXIT # agetty only sets ICRNL if it has read the username and seen whether # it was terminated by CR or NL. We pass -n to agetty so that hasn't # happened and need to force it on. Yay UNIX! stty icrnl -echo redisplay_and_exit() { exit 42; } if [ -e /run/snapd-recovery-chooser-triggered ]; then # make sure the chooser binary is there to avoid getting into an awkward # state and locking out the user if [ -x /usr/lib/snapd/snap-recovery-chooser ]; then # when recovery chooser is invoked it takes over the terminal /usr/lib/snapd/snap-recovery-chooser rval=$? if [ "$rval" -eq 0 ]; then redisplay_and_exit else exit $rval fi fi if [ -e /var/lib/console-conf/complete ]; then exit 0 fi fi # always prefer to use modeevn if it is available if [ -e "/var/lib/snapd/modeenv" ]; then mode="$(/usr/libexec/core/get-mode mode)" else mode="$(/usr/libexec/core/get-arg snapd_recovery_mode)" fi if [ "${mode}" = "install" ]; then echo "Installing the system, please wait for reboot" # XXX: replace with something more user friendly after the beta? journalctl -u snapd.service -f sleep infinity fi if [ "$(snap managed)" = "true" ]; then # check if we have extrausers that have no password set if grep -qE '^[-a-z0-9+.-_]+:x:' /var/lib/extrausers/passwd && ! grep -qE '^[-a-z0-9+.-_]+:\$[0-9]+\$.*:' /var/lib/extrausers/shadow; then tty=$(tty) tty="$(echo "${tty#/dev/}" | tr '/' '-')" readargs=() filepath="/run/console-conf/login-details-${tty}.txt" if [ ! -f "${filepath}" ]; then mkdir -p /run/console-conf set +e /usr/share/subiquity/console-conf-write-login-details > "${filepath}.tmp" rval=$? set -e # A exit code of 2 from console-conf-write-login-details # means there are no scope global IP addresses. It will # have printed a message saying that you can't log in # until the device gets an IP address so we display that # but check every 5 seconds if an ip address has appeared. if [ $rval -eq 0 ]; then mv "${filepath}.tmp" "${filepath}" elif [ $rval -eq 2 ]; then mv "${filepath}.tmp" "${filepath}.noip" filepath=${filepath}.noip readargs=(-t 5) else exit $rval fi fi cat "$filepath" set +e while :; do read -r "${readargs[@]}" REPLY if [ $? -le 128 ]; then # If we didn't time out, re-display everything. redisplay_and_exit fi if ip addr show | grep -qE "scope global"; then # If we timed out, but it appears that we may now have # an IP address, re-display everything. redisplay_and_exit fi done else touch /var/lib/console-conf/complete fi exit 0 fi if [ -e /var/lib/console-conf/complete ]; then # we're done already exit 0 fi # if there is NOT console-conf snap, exit gracefully if [ ! -e "/snap/console-conf" ]; then touch /var/lib/console-conf/complete exit 0 fi snap run console-conf.wait read -r REPLY # start the console-conf routine in snapd to delay any new refreshes, and wait # for current refreshes to complete, this will print off messages if there are # on-going refreshes if snap routine console-conf-start --help >/dev/null 2>/dev/null; then snap routine console-conf-start fi # prepare host finger prints for console-conf as it cannot access sshd or host keys mkdir -p /run/console-conf /usr/share/subiquity/console-conf-write-login-details --host-fingerprints > /run/console-conf/host-fingerprints.txt snap run console-conf "$@" rval=$? if [ ${rval} -eq 0 ]; then # explicitly redisplay login information from the wrapper redisplay_and_exit else exit "$rval" fi