[Buildroot] [PATCH] package/bash: add /bin/bash to /etc/shells

Romain Naour romain.naour at smile.fr
Thu Jan 11 10:27:24 UTC 2018


When bash is selected, /bin/bash is not added to /etc/shells
(see man shells). So, login tools like dropbear reject the ssh
connexions for users using bash as shell in /etc/passwd.

buildroot authpriv.warn dropbear[853]: User 'kubu' has invalid shell, rejected

Reported-by: Jeremy Rosen <jeremy.rosen at smile.fr>
Signed-off-by: Romain Naour <romain.naour at smile.fr>
Cc: "Yann E. MORIN" <yann.morin.1998 at free.fr>
---
The same issue can happend with other shells.
---
 package/bash/bash.mk | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package/bash/bash.mk b/package/bash/bash.mk
index 089d062..eec6559 100644
--- a/package/bash/bash.mk
+++ b/package/bash/bash.mk
@@ -40,10 +40,13 @@ endif
 endif
 
 # Make /bin/sh -> bash (no other shell, better than busybox shells)
+# Add /bin/bash to /etc/shells otherwise some login tools like dropbear
+# can reject the user connexion. See man shells.
 define BASH_INSTALL_TARGET_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
 		DESTDIR=$(TARGET_DIR) exec_prefix=/ install
 	rm -f $(TARGET_DIR)/bin/bashbug
+	echo "/bin/bash" >> $(TARGET_DIR)/etc/shells
 endef
 
 $(eval $(autotools-package))
-- 
2.7.4



More information about the buildroot mailing list