]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commitdiff
Revert "package/bash: add /bin/bash to /etc/shells"
authorArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tue, 17 Apr 2018 10:01:09 +0000 (12:01 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 29 Apr 2018 10:13:48 +0000 (12:13 +0200)
Commit 4d279697af added /bin/bash to /etc/shells. In the default
skeleton, however, /etc/shells doesn't exist, so in fact it creates
this file, containing only /bin/bash. Therefore, when bash is selected,
/bin/sh does not appear in /etc/shells and bash is the only shell
allowed. Since /bin/sh is the shell that is used for root in the
default skeleton's /etc/passwd, root is no longer able to log in.

The proper solution is to add all available shells to /etc/shells. For
now, however, just revert commit 4d279697af as a stop-gap measure. That
way, the default situation still works, and only people who update
/etc/passwd with additional logins but don't update /etc/shells will
suffer.

This reverts commit 4d279697afbf8fb295274784103be2b837113d5e.

Fixes: https://bugs.busybox.net/show_bug.cgi?id=10896
Cc: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Romain Naour <romain.naour@smile.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/bash/bash.mk

index e9384911a0280778fb251735ffbadd2b1056c00d..6e58f0fd6491524b35198e9349ddd89c896c3e15 100644 (file)
@@ -39,14 +39,10 @@ BASH_CONF_ENV += bash_cv_getenv_redef=yes
 endif
 endif
 
-# 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
-       grep -qsE '^/bin/bash' $(TARGET_DIR)/etc/shells \
-               || echo "/bin/bash" >> $(TARGET_DIR)/etc/shells
 endef
 
 $(eval $(autotools-package))