Skip to content

Deprecate and remove the groupmems utility #1343

@ikerexxe

Description

@ikerexxe

I propose that we deprecate the groupmems utility in an upcoming release, with the goal of removing it completely in a subsequent release (e.g., 2-3 releases later).

The utility's use cases are split between root and regular users, and it fails to provide significant value for either.

  • For root users, the functionality of groupmems is largely redundant. Administrative tasks like managing group memberships can be accomplished with more common and powerful tools like usermod. Removing it would not cause a loss of functionality for administrators.

  • For regular users, the utility is designed to manage their own primary group membership. However, this requires the binary to be setuid, which presents a security risk and is not the default behavior in major distributions. This leaves the tool non-functional for its primary non-root use case.

The intended functionality for regular users is already broken or disabled in several key distributions:

  • Fedora: the man page explicitly states that groupmems is not setuid, rendering it unusable for its intended non-root purpose.
In this operating system the groupmems executable is not setuid and regular users cannot
use it to manipulate the membership of their own group.

Proposed plan

  • Next release: mark groupmems as deprecated in the release notes.

  • Future release (2-3 releases later): remove the groupmems binary and its associated man page entirely.

Given that the utility is redundant for root and effectively broken for regular users across major distributions, its continued maintenance adds complexity for little to no benefit.

I'm opening this issue to gather feedback on this proposal. Are there any objections or use cases I might have missed?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions