[Buildroot] [PATCH 1/7] package/skeleton-init-common: add /bin/sh to /etc/shells
Yann E. MORIN
yann.morin.1998 at free.fr
Sun Jan 14 22:51:26 UTC 2018
On 2018-01-14 22:03 +0100, Romain Naour spake thusly:
> Add the default shell /bin/sh to /etc/shells only if BR2_SYSTEM_BIN_SH_NONE
> is not selected.
>
> Add an empty /etc/shells in the rootfs skeleton.
>
> Signed-off-by: Romain Naour <romain.naour at smile.fr>
> ---
> package/skeleton-init-common/skeleton-init-common.mk | 7 +++++++
> system/skeleton/etc/shells | 1 +
> 2 files changed, 8 insertions(+)
> create mode 100644 system/skeleton/etc/shells
>
> diff --git a/package/skeleton-init-common/skeleton-init-common.mk b/package/skeleton-init-common/skeleton-init-common.mk
> index 8228a81..707f1aa 100644
> --- a/package/skeleton-init-common/skeleton-init-common.mk
> +++ b/package/skeleton-init-common/skeleton-init-common.mk
> @@ -79,6 +79,12 @@ define SKELETON_INIT_COMMON_SET_BIN_SH
> rm -f $(TARGET_DIR)/bin/sh
> endef
> else
> +# Add /bin/sh to /etc/shells otherwise some login tools like dropbear
> +# can reject the user connexion. See man shells.
> +define SKELETON_INIT_COMMON_ADD_SH_TO_SHELLS
> + grep -qsE '^/bin/sh' $(TARGET_DIR)/etc/shells \
> + || echo "/bin/sh" >> $(TARGET_DIR)/etc/shells
> +endef
> ifneq ($(SKELETON_INIT_COMMON_BIN_SH),)
> define SKELETON_INIT_COMMON_SET_BIN_SH
> ln -sf $(SKELETON_INIT_COMMON_BIN_SH) $(TARGET_DIR)/bin/sh
> @@ -86,5 +92,6 @@ endef
> endif
> endif
> SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_BIN_SH
> +SKELETON_INIT_COMMON_POST_INSTALL_TARGET_HOOKS += SKELETON_INIT_COMMON_ADD_SH_TO_SHELLS
Rgister your new hook right after it's defined.
The existing one is registered after the if-block, becasue it is the
same hook-name for the two cases of the condition, b ut your new hook is
only defined in the else case, so register it there.
Regards,
Yann E. MORIN.
> $(eval $(generic-package))
> diff --git a/system/skeleton/etc/shells b/system/skeleton/etc/shells
> new file mode 100644
> index 0000000..b5fd584
> --- /dev/null
> +++ b/system/skeleton/etc/shells
> @@ -0,0 +1 @@
> +# /etc/shells: valid login shells
> --
> 2.7.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list