Buildroot:更改默认根 shell

Buildroot: change default root shell

我们已将 bash 添加到我们的 buildroot 配置中,现在想将其设为根用户的默认值 shell。我不希望将 passwd 文件添加到我们的覆盖层,所以有没有办法通过 buildroot 的配置使根 shell 默认为 /bin/bash 而不是 /bin/sh?

您可以通过设置 BR2_SYSTEM_BIN_SH_BASH 所有 用户的 shell 设置为 bash,即在 menuconfig 中设置 System configuration -> /bin/shbash。这将生成 /bin/sh 作为 bash.

的符号链接

要仅为 root 用户设置它,您需要一个 post-build 脚本,例如:

#!/bin/sh
sed -i '/^root:/s,:/bin/sh$,:/bin/bash,' ${TARGET_DIR}/etc/passwd