Message ID | 1516211058-466-7-git-send-email-romain.naour@smile.fr |
---|---|
State | Changes Requested |
Headers | show |
Series | Add /etc/shells handling | expand |
Romain, All, On 2018-01-17 18:44 +0100, Romain Naour spake thusly: > When zsh is selected, /bin/zsh is not added to /etc/shells > (see man shells). So, login tools like dropbear reject the ssh > connexions for users using zsh 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> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Regards, Yann E. MORIN. > --- > v2: add double-dollar after /bin/zsh (Yann) > --- > package/zsh/zsh.mk | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/package/zsh/zsh.mk b/package/zsh/zsh.mk > index bfd0a1a..3afb467 100644 > --- a/package/zsh/zsh.mk > +++ b/package/zsh/zsh.mk > @@ -34,6 +34,14 @@ else > ZSH_CONF_OPTS += --disable-pcre > endif > > +# Add /bin/zsh to /etc/shells otherwise some login tools like dropbear > +# can reject the user connexion. See man shells. > +define ZSH_INSTALL_ADD_ZSH_TO_SHELLS > + grep -qsE '^/bin/zsh$$' $(TARGET_DIR)/etc/shells \ > + || echo "/bin/zsh" >> $(TARGET_DIR)/etc/shells > +endef > +ZSH_POST_INSTALL_TARGET_HOOKS += ZSH_INSTALL_ADD_ZSH_TO_SHELLS > + > # Remove versioned zsh-x.y.z binary taking up space > define ZSH_TARGET_INSTALL_FIXUPS > rm -f $(TARGET_DIR)/bin/zsh-$(ZSH_VERSION) > -- > 2.7.4 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
diff --git a/package/zsh/zsh.mk b/package/zsh/zsh.mk index bfd0a1a..3afb467 100644 --- a/package/zsh/zsh.mk +++ b/package/zsh/zsh.mk @@ -34,6 +34,14 @@ else ZSH_CONF_OPTS += --disable-pcre endif +# Add /bin/zsh to /etc/shells otherwise some login tools like dropbear +# can reject the user connexion. See man shells. +define ZSH_INSTALL_ADD_ZSH_TO_SHELLS + grep -qsE '^/bin/zsh$$' $(TARGET_DIR)/etc/shells \ + || echo "/bin/zsh" >> $(TARGET_DIR)/etc/shells +endef +ZSH_POST_INSTALL_TARGET_HOOKS += ZSH_INSTALL_ADD_ZSH_TO_SHELLS + # Remove versioned zsh-x.y.z binary taking up space define ZSH_TARGET_INSTALL_FIXUPS rm -f $(TARGET_DIR)/bin/zsh-$(ZSH_VERSION)
When zsh is selected, /bin/zsh is not added to /etc/shells (see man shells). So, login tools like dropbear reject the ssh connexions for users using zsh 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> --- v2: add double-dollar after /bin/zsh (Yann) --- package/zsh/zsh.mk | 8 ++++++++ 1 file changed, 8 insertions(+)