summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Naour <romain.naour@smile.fr>2018-01-19 11:15:02 +0100
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>2018-05-03 23:12:20 +0200
commit854e3dd1a0ce1902230118f3abd90a0113d171cd (patch)
treedec284d4f3c362a7b08d036476212298e3e9ebf3
parentc493b2a5fae505cc96c3859d47d37891e997d3ee (diff)
downloadbuildroot-854e3dd1a0ce1902230118f3abd90a0113d171cd.tar.gz
buildroot-854e3dd1a0ce1902230118f3abd90a0113d171cd.zip
package/busybox: add /bin/{a, hu}sh to /etc/shells
When ash (busybox) is selected, /bin/{a,hu}sh is not added to /etc/shells (see man shells). So, login tools like dropbear reject the ssh connections for users using {a,hu}sh as shell in /etc/passwd. buildroot authpriv.warn dropbear[853]: User 'kubu' has invalid shell, rejected Signed-off-by: Romain Naour <romain.naour@smile.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-rw-r--r--package/busybox/busybox.mk14
1 files changed, 14 insertions, 0 deletions
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index fd4ac600c2..60a55a2c78 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -262,6 +262,20 @@ define BUSYBOX_INSTALL_TELNET_SCRIPT
fi
endef
+# Add /bin/{a,hu}sh to /etc/shells otherwise some login tools like dropbear
+# can reject the user connection. See man shells.
+define BUSYBOX_INSTALL_ADD_TO_SHELLS
+ if grep -q CONFIG_ASH=y $(@D)/.config; then \
+ grep -qsE '^/bin/ash$$' $(TARGET_DIR)/etc/shells \
+ || echo "/bin/ash" >> $(TARGET_DIR)/etc/shells; \
+ fi
+ if grep -q CONFIG_HUSH=y $(@D)/.config; then \
+ grep -qsE '^/bin/hush$$' $(TARGET_DIR)/etc/shells \
+ || echo "/bin/hush" >> $(TARGET_DIR)/etc/shells; \
+ fi
+endef
+BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_INSTALL_ADD_TO_SHELLS
+
# Enable "noclobber" in install.sh, to prevent BusyBox from overwriting any
# full-blown versions of apps installed by other packages with sym/hard links.
define BUSYBOX_NOCLOBBER_INSTALL
OpenPOWER on IntegriCloud