Skip to content

Why does 'usbipd bind/unbind' require administrative privileges? Consider non-admin client support via service #1315

@falhumai96

Description

@falhumai96

I’d like to understand the design decision behind requiring administrator privileges for 'usbipd bind' and 'usbipd unbind'.

Other USB sharing / passthrough solutions (e.g., VirtualBox, VMware) allow non-admin users to attach and detach USB devices using a regular client, while privileged operations are handled by a background service or driver running with elevated rights.

From my understanding, 'usbipd-win' already provides a Windows service that acts as a privileged endpoint responsible for USB operations. Given that, it seems reasonable that:

  • The client CLI should not require administrator privileges

  • Authorization could instead be enforced by:

    • A Windows group membership check (e.g. 'USBIPD_ALLOWED_USERS' or 'USBIPD_USB_SHARING_USERS')

    • A policy / ACL-based permission model

  • The service would remain the only component performing privileged operations

Requiring frequent administrative elevation for basic workflows (bind/unbind) is inconvenient and arguably unnecessary, especially on developer machines. From a security standpoint, I prefer to minimize admin usage as much as possible.

Questions / discussion points:

  • Is there a technical limitation on Windows that forces bind / unbind to be admin-only?

  • If not, would you consider:

    • Allowing non-admin clients

    • Delegating authorization decisions to the service

    • Supporting an allowlisted Windows group for USB sharing operations

This would significantly improve usability while preserving security boundaries.

Thanks for considering this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions