Files
uutils.github.io/content/shadow-rs.md
T
2026-05-30 09:54:48 +02:00

1.3 KiB

+++

title = "shadow-rs" template = "project.html"

[extra] wip = true

+++

Memory-safe Rust reimplementation of Linux shadow-utils: useradd, userdel, usermod, passwd, pwck, chpasswd, chage, groupadd, groupdel, groupmod, grpck, chfn, chsh, and newgrp.

This project aims to be a drop-in replacement for the original commands, with the same flags, exit codes, and output format as GNU shadow-utils.

Goals

This project aims to be a drop-in replacement for the GNU shadow-utils, with a focus on:

  • Drop-in compatibility — same flags, same exit codes, same output format as GNU shadow-utils.
  • Memory safety — eliminating buffer overflows and use-after-free vulnerabilities through Rust's type system.
  • Security hardening — Landlock sandboxing and privilege dropping.
  • Comprehensive testing — unit tests, property-based tests, integration tests, and fuzz targets.

Contributing

To contribute to uutils shadow-rs, please see CONTRIBUTING.

License

uutils shadow-rs is licensed under the MIT License - see the LICENSE file for details.

GNU shadow-utils is licensed under the BSD 3-Clause License.