fix: use exact match for USER_NAME in /etc/passwd check#119
Merged
thespad merged 1 commit intolinuxserver:masterfrom Feb 22, 2026
Merged
fix: use exact match for USER_NAME in /etc/passwd check#119thespad merged 1 commit intolinuxserver:masterfrom
thespad merged 1 commit intolinuxserver:masterfrom
Conversation
The grep pattern `^${USER_NAME}` incorrectly matches usernames that
are prefixes of existing users. For example, USER_NAME=b matches the
'bin' user, causing the container to halt with a false positive.
Adding a colon after USER_NAME ensures exact username matching:
`^${USER_NAME}:` only matches the exact username field.
closes linuxserver#118
There was a problem hiding this comment.
Thanks for opening this pull request! Be sure to follow the pull request template!
Contributor
|
I am a bot, here are the test results for this PR:
|
Contributor
|
This pull request has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions. |
thespad
approved these changes
Feb 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description:
Fix grep pattern in init-adduser script to use exact username matching by adding a colon delimiter.
Change:
grep -q "^${USER_NAME}"→grep -q "^${USER_NAME}:"Benefits of this PR and context:
The current check incorrectly matches usernames that are prefixes of existing system users. For example,
USER_NAME=bmatches thebinuser becausegrep "^b"matchesbin:x:1:1:....This causes containers to halt with a false positive error:
The
/etc/passwdformat isusername:password:uid:gid:..., so matching^username:ensures exact username field matching.closes #118
How Has This Been Tested?
Verified the regex logic:
echo "bin:x:1:1:bin" | grep -q "^b"→ matches (current behavior, incorrect)echo "bin:x:1:1:bin" | grep -q "^b:"→ no match (fixed behavior, correct)echo "bin:x:1:1:bin" | grep -q "^bin:"→ matches (correct, exact match)Source / References:
root/etc/s6-overlay/s6-rc.d/init-adduser/run