This file is indexed.

/usr/share/subiquity/console-conf-wrapper is in console-conf 0.0.29.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 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
61
62
63
#!/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

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 "${readargs[@]}" REPLY
            if [ $? -le 128 ]; then
                # If we didn't time out, re-display everything.
                exit 0
            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.
                exit 0
            fi
        done
    else
        touch /var/lib/console-conf/complete
    fi
    exit 0
fi

cat /usr/share/subiquity/console-conf-wait
read REPLY
exec console-conf "$@"