Skip to content

Conversation

@adombeck
Copy link
Contributor

@adombeck adombeck commented Dec 15, 2025

Important

This is based on #1087, please review and merge that first.

Allow users to change their shell.

Closes #939
UDENG-7089

@adombeck adombeck force-pushed the 939-set-shell branch 2 times, most recently from eb3fed6 to dfb2353 Compare December 17, 2025 11:35
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 63.65462% with 181 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.08%. Comparing base (6ff09d2) to head (dfb2353).

Files with missing lines Patch % Lines
internal/users/proc/proc.go 60.41% 38 Missing ⚠️
cmd/authctl/internal/completion/completion.go 0.00% 29 Missing ⚠️
internal/users/db/update.go 70.96% 27 Missing ⚠️
cmd/authctl/user/set-uid.go 0.00% 19 Missing ⚠️
cmd/authctl/group/set-gid.go 0.00% 16 Missing ⚠️
cmd/authctl/user/set-shell.go 0.00% 14 Missing ⚠️
internal/services/user/user.go 70.58% 10 Missing ⚠️
internal/services/permissions/permissions.go 66.66% 7 Missing ⚠️
internal/testlog/testlog.go 61.11% 7 Missing ⚠️
internal/users/manager.go 95.00% 6 Missing ⚠️
... and 4 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1165      +/-   ##
==========================================
- Coverage   87.64%   86.08%   -1.56%     
==========================================
  Files          90       97       +7     
  Lines        6222     6682     +460     
  Branches      111      111              
==========================================
+ Hits         5453     5752     +299     
- Misses        713      874     +161     
  Partials       56       56              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@adombeck adombeck marked this pull request as ready for review December 17, 2025 12:29
@adombeck adombeck requested a review from a team as a code owner December 17, 2025 12:29
}

// SetShell sets the shell for the given user.
func (m *Manager) SetShell(username, shell string) (warnings []string, err error) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we also check if the shell is allowed in /etc/shells?

Comment on lines +673 to +675
if err := m.db.SetShell(username, shell); err != nil {
return nil, err
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why doing this regardless the next checks are failing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support changing the user's shell via authctl

3 participants