summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Naour <romain.naour@smile.fr>2018-01-19 11:15:04 +0100
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>2018-05-03 23:14:43 +0200
commitd19ed2fe4c52cbc2e618af6d3a168e5669231453 (patch)
tree050bf67ff3366b4392f0684db6044f5f600795ac
parent129f3276989de6f07ba02eb3fe175f731f2ae9a8 (diff)
downloadbuildroot-d19ed2fe4c52cbc2e618af6d3a168e5669231453.tar.gz
buildroot-d19ed2fe4c52cbc2e618af6d3a168e5669231453.zip
package/screen: add /usr/bin/screen to /etc/shells
When screen is selected, /usr/bin/screen is not added to /etc/shells (see man shells). So, login tools like dropbear reject the ssh connections for users using screen as shell in /etc/passwd. buildroot authpriv.warn dropbear[853]: User 'kubu' has invalid shell, rejected While at it, drop an empty line between an existing hook definition and its registration, to be consistent with the coding style used in the rest of Buildroot. 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/screen/screen.mk9
1 files changed, 8 insertions, 1 deletions
diff --git a/package/screen/screen.mk b/package/screen/screen.mk
index 8d67c04b63..37d43366c2 100644
--- a/package/screen/screen.mk
+++ b/package/screen/screen.mk
@@ -17,7 +17,14 @@ SCREEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) SCREEN=screen install_bin
define SCREEN_INSTALL_SCREENRC
$(INSTALL) -m 0755 -D $(@D)/etc/screenrc $(TARGET_DIR)/etc/screenrc
endef
-
SCREEN_POST_INSTALL_TARGET_HOOKS += SCREEN_INSTALL_SCREENRC
+# Add /usr/bin/screen to /etc/shells otherwise some login tools like dropbear
+# can reject the user connection. See man shells.
+define SCREEN_ADD_SCREEN_TO_SHELLS
+ grep -qsE '^/usr/bin/screen$$' $(TARGET_DIR)/etc/shells \
+ || echo "/usr/bin/screen" >> $(TARGET_DIR)/etc/shells
+endef
+SCREEN_TARGET_FINALIZE_HOOKS += SCREEN_ADD_SCREEN_TO_SHELLS
+
$(eval $(autotools-package))
OpenPOWER on IntegriCloud