You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Correct the QNAP Entware Bash login guard using the verified active Bash path, record post-reboot validation, document the prompt fallback, and ignore local private QNAP notes.
Copy file name to clipboardExpand all lines: README.md
+12-6Lines changed: 12 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,14 +26,14 @@ PowerShell requires PowerShell 7 or later, PSReadLine, and an interactive consol
26
26
27
27
Bash requires Bash 4.4 or later built with GNU Readline, an interactive TTY session, and standard utilities normally present on supported distributions (`mktemp` and `rm`; the installer also uses `awk` and `cp`). The Bash 3.2 shipped by default on many macOS releases is unsupported; install a current Bash before using `hmm.bash` there.
28
28
29
-
“Tested” means the automated job or a documented manual test actually completed. “Expected” means the implementation is designed for the platform but has not yet produced test evidence in this checkout. The CI results below refer to GitHub Actions run `30455806726`.
29
+
“Tested” means the automated job or a documented manual test actually completed. “Expected” means the implementation is designed for the platform but has not yet produced test evidence in this checkout. The CI results below refer to GitHub Actions run `30546897359` on the merged `main` commit.
30
30
31
31
| Platform | Implementation | Status in this checkout |
QTS may use `/bin/sh` as the login shell and ship `/bin/bash` 3.2. Neither is sufficient for `hmm.bash`. On a QNAP system with Entware, install and use Entware's current Bash without replacing either system shell:
100
+
QTS may use `/bin/sh` as the login shell while implementing it with its Bash 3.2 build in `sh` mode. Neither that shell nor `/bin/bash` 3.2 is sufficient for `hmm.bash`. On a QNAP system with Entware, install and use Entware's current Bash without replacing either system shell:
101
101
102
102
```sh
103
103
/opt/bin/opkg update
@@ -110,12 +110,12 @@ After confirming Bash 4.4 or later, run `sh ./install.sh` from the repository. T
110
110
After explicit startup has been tested successfully, an interactive QTS login can enter Entware Bash automatically by placing this guarded block in the user's persistent `~/.profile`:
The TTY checks avoid replacing the shell for non-interactive SSH commands and file-transfer sessions. If Entware has not started and `/opt/bin/bash` is unavailable, the login remains in the QTS system shell. Test a second SSH session before closing the first one; do not replace `/bin/sh`, `/bin/bash`, or the QTS account shell globally.
118
+
The TTY checks avoid replacing the shell for non-interactive SSH commands and file-transfer sessions. Comparing `$BASH` with the Entware path prevents recursion and handles QTS `/bin/sh`, which may set `BASH_VERSION` even though it is the unsupported 3.2 build. If Entware has not started and `/opt/bin/bash` is unavailable, the login remains in the QTS system shell. Test a second SSH session before closing the first one; do not replace `/bin/sh`, `/bin/bash`, or the QTS account shell globally.
119
119
120
120
An Entware Bash prompt containing `I have no name!` means its user lookup cannot map the current numeric UID to an account name. Compare the system and Entware account databases before changing either one:
This prompt is cosmetic for `hmm`, but the account database should not be edited or copied blindly. As a temporary prompt-only workaround, obtain the QTS user name before starting Bash and configure `PS1` without Bash's `\u` escape.
128
+
This prompt is cosmetic for `hmm`, but the account database should not be edited or copied blindly. If command-line identity tools resolve the user but Bash's `\u` escape still does not, use the existing `$USER` value in the interactive Bash prompt instead:
0 commit comments