From cc174b4df09b16114ddbcf12c23a033e1e11fbb8 Mon Sep 17 00:00:00 2001 From: Avi Deitcher Date: Sun, 6 Aug 2017 10:00:15 +0300 Subject: [PATCH 1/2] test device exists before allowing getty to run Signed-off-by: Avi Deitcher --- pkg/getty/usr/bin/rungetty.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/getty/usr/bin/rungetty.sh b/pkg/getty/usr/bin/rungetty.sh index 1a474fb86..a75137ddb 100755 --- a/pkg/getty/usr/bin/rungetty.sh +++ b/pkg/getty/usr/bin/rungetty.sh @@ -15,6 +15,12 @@ start_getty() { term="linux" [ "$speed" = "$1" ] && speed=115200 + # does the device even exist? + if [ ! -c /dev/$tty ]; then + echo "getty: cmdline has console=$tty but /dev/$tty is not a character device; not starting getty for $tty" | tee /dev/console + return + fi + case "$tty" in ttyS*|ttyAMA*|ttyUSB*|ttyMFD*) line="-L" @@ -35,7 +41,7 @@ start_getty() { if ! grep -q -w "$tty" "$securetty"; then # we could not find the tty in securetty, so start a getty but warn that root login will not work - echo "getty: cmdline has console=$tty but does not exist in $securetty; will not be able to log in as root on this tty $tty." > /dev/$tty + echo "getty: cmdline has console=$tty but does not exist in $securetty; will not be able to log in as root on this tty $tty." | tee /dev/$tty fi # respawn forever infinite_loop setsid.getty -w /sbin/agetty $loginargs $line $speed $tty $term & From 944fc95e31d331bd9c6f752f48aced231198f2c5 Mon Sep 17 00:00:00 2001 From: Avi Deitcher Date: Sun, 6 Aug 2017 10:27:54 +0300 Subject: [PATCH 2/2] Update example gettt hash Signed-off-by: Avi Deitcher --- blueprints/docker-for-mac/base.yml | 2 +- examples/docker.yml | 2 +- examples/gcp.yml | 2 +- examples/getty.yml | 2 +- examples/minimal.yml | 2 +- examples/node_exporter.yml | 2 +- examples/redis-os.yml | 2 +- examples/sshd.yml | 2 +- examples/swap.yml | 2 +- examples/tpm.yml | 2 +- examples/vmware.yml | 2 +- examples/vultr.yml | 2 +- linuxkit.yml | 2 +- projects/kubernetes/kube-master.yml | 2 +- projects/kubernetes/kube-node.yml | 2 +- projects/memorizer/memorizer.yml | 2 +- projects/miragesdk/examples/fdd.yml | 2 +- projects/miragesdk/examples/mirage-dhcp.yml | 2 +- projects/shiftfs/shiftfs.yml | 2 +- projects/swarmd/swarmd.yml | 2 +- test/cases/040_packages/007_getty-containerd/test-ctr.yml | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/blueprints/docker-for-mac/base.yml b/blueprints/docker-for-mac/base.yml index fce95434c..4ed1e14ea 100644 --- a/blueprints/docker-for-mac/base.yml +++ b/blueprints/docker-for-mac/base.yml @@ -53,7 +53,7 @@ services: image: linuxkit/acpid:79e5c20de96e1633c9c40935b99dde45aefba37b # Enable getty for easier debugging - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true # Run ntpd to keep time synchronised in the VM diff --git a/examples/docker.yml b/examples/docker.yml index ba6831e1d..0904a25f2 100644 --- a/examples/docker.yml +++ b/examples/docker.yml @@ -18,7 +18,7 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/examples/gcp.yml b/examples/gcp.yml index efca66dda..f6b49dc30 100644 --- a/examples/gcp.yml +++ b/examples/gcp.yml @@ -16,7 +16,7 @@ onboot: image: linuxkit/metadata:cec86f3e1c260c9eafefa80c262fceb40c182ddf services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/examples/getty.yml b/examples/getty.yml index 6d1ead4ca..8ce3912d0 100644 --- a/examples/getty.yml +++ b/examples/getty.yml @@ -14,7 +14,7 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec # to make insecure with passwordless root login, uncomment following lines #env: # - INSECURE=true diff --git a/examples/minimal.yml b/examples/minimal.yml index cb8dbeaff..7013338da 100644 --- a/examples/minimal.yml +++ b/examples/minimal.yml @@ -11,7 +11,7 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true trust: diff --git a/examples/node_exporter.yml b/examples/node_exporter.yml index a832ab6f1..8ccb8f287 100644 --- a/examples/node_exporter.yml +++ b/examples/node_exporter.yml @@ -7,7 +7,7 @@ init: - linuxkit/containerd:7c986fb7df33bea73b5c8097b46989e46f49d875 services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/examples/redis-os.yml b/examples/redis-os.yml index 84dcb7708..b06b2a185 100644 --- a/examples/redis-os.yml +++ b/examples/redis-os.yml @@ -13,7 +13,7 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: redis diff --git a/examples/sshd.yml b/examples/sshd.yml index 3219f60f7..a16616243 100644 --- a/examples/sshd.yml +++ b/examples/sshd.yml @@ -14,7 +14,7 @@ onboot: command: ["/sbin/rngd", "-1"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/examples/swap.yml b/examples/swap.yml index fb31ae47b..a9e57ff9e 100644 --- a/examples/swap.yml +++ b/examples/swap.yml @@ -24,7 +24,7 @@ onboot: command: ["/swap.sh", "--path", "/var/external/swap", "--size", "1G", "--encrypt"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/examples/tpm.yml b/examples/tpm.yml index b7e871c60..414ee1454 100644 --- a/examples/tpm.yml +++ b/examples/tpm.yml @@ -14,7 +14,7 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: tss diff --git a/examples/vmware.yml b/examples/vmware.yml index e9885dfef..697367496 100644 --- a/examples/vmware.yml +++ b/examples/vmware.yml @@ -11,7 +11,7 @@ onboot: image: linuxkit/sysctl:154913b72c6f1f33eb408609fca9963628e8c051 services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/examples/vultr.yml b/examples/vultr.yml index 4b5e3603a..d9a083776 100644 --- a/examples/vultr.yml +++ b/examples/vultr.yml @@ -16,7 +16,7 @@ onboot: image: linuxkit/metadata:cec86f3e1c260c9eafefa80c262fceb40c182ddf services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/linuxkit.yml b/linuxkit.yml index 7dcf9e53c..144f33129 100644 --- a/linuxkit.yml +++ b/linuxkit.yml @@ -18,7 +18,7 @@ onshutdown: command: ["/bin/echo", "so long and thanks for all the fish"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/projects/kubernetes/kube-master.yml b/projects/kubernetes/kube-master.yml index 43f811dd7..2c92f75c3 100644 --- a/projects/kubernetes/kube-master.yml +++ b/projects/kubernetes/kube-master.yml @@ -28,7 +28,7 @@ onboot: - /var/lib:/var/lib services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/projects/kubernetes/kube-node.yml b/projects/kubernetes/kube-node.yml index 0d234c311..cb2d06c21 100644 --- a/projects/kubernetes/kube-node.yml +++ b/projects/kubernetes/kube-node.yml @@ -28,7 +28,7 @@ onboot: - /var/lib:/var/lib services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/projects/memorizer/memorizer.yml b/projects/memorizer/memorizer.yml index 5b936ff2d..f723f888c 100644 --- a/projects/memorizer/memorizer.yml +++ b/projects/memorizer/memorizer.yml @@ -11,7 +11,7 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true trust: diff --git a/projects/miragesdk/examples/fdd.yml b/projects/miragesdk/examples/fdd.yml index b2c81e078..79676165c 100644 --- a/projects/miragesdk/examples/fdd.yml +++ b/projects/miragesdk/examples/fdd.yml @@ -12,7 +12,7 @@ onboot: image: linuxkit/sysctl:154913b72c6f1f33eb408609fca9963628e8c051 services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/projects/miragesdk/examples/mirage-dhcp.yml b/projects/miragesdk/examples/mirage-dhcp.yml index 4f7491418..faf139146 100644 --- a/projects/miragesdk/examples/mirage-dhcp.yml +++ b/projects/miragesdk/examples/mirage-dhcp.yml @@ -30,7 +30,7 @@ services: - name: sshd image: linuxkit/sshd:505a985d7bd7a90f15eca9cb4dc6ec92789d51a0 - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true files: diff --git a/projects/shiftfs/shiftfs.yml b/projects/shiftfs/shiftfs.yml index f3dd2d581..085f68c67 100644 --- a/projects/shiftfs/shiftfs.yml +++ b/projects/shiftfs/shiftfs.yml @@ -14,7 +14,7 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: rngd diff --git a/projects/swarmd/swarmd.yml b/projects/swarmd/swarmd.yml index c21e8cf05..2b76d6dbb 100644 --- a/projects/swarmd/swarmd.yml +++ b/projects/swarmd/swarmd.yml @@ -23,7 +23,7 @@ onboot: image: linuxkit/metadata:cec86f3e1c260c9eafefa80c262fceb40c182ddf services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec env: - INSECURE=true - name: qemu-ga diff --git a/test/cases/040_packages/007_getty-containerd/test-ctr.yml b/test/cases/040_packages/007_getty-containerd/test-ctr.yml index d1c0bd17e..9354302d6 100644 --- a/test/cases/040_packages/007_getty-containerd/test-ctr.yml +++ b/test/cases/040_packages/007_getty-containerd/test-ctr.yml @@ -12,7 +12,7 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] services: - name: getty - image: linuxkit/getty:2c841cdc34396e3fa8f25b62d112808f63f16df6 + image: linuxkit/getty:797cb79e0a229fcd16ebf44a0da74bcec03968ec files: - path: etc/getty.shadow # sample sets password for root to "abcdefgh" (without quotes)