3 releases

0.1.2 Sep 4, 2023
0.1.1 Dec 17, 2021
0.1.0 Mar 15, 2021

#843 in Filesystem

Download history 1444/week @ 2025-09-22 1818/week @ 2025-09-29 1778/week @ 2025-10-06 1192/week @ 2025-10-13 1730/week @ 2025-10-20 1740/week @ 2025-10-27 1544/week @ 2025-11-03 1986/week @ 2025-11-10 1986/week @ 2025-11-17 1907/week @ 2025-11-24 2006/week @ 2025-12-01 2394/week @ 2025-12-08 2387/week @ 2025-12-15 1746/week @ 2025-12-22 1961/week @ 2025-12-29 2201/week @ 2026-01-05

8,596 downloads per month
Used in 14 crates (10 directly)

MIT license

16KB
256 lines

Set and get Unix file owner and group.

UID/GUI numbers or user/group names can be used.

Note: This crate will only compile on Unix systems.

Usage examples

Set owner and group by name

use file_owner::PathExt;

"/tmp/baz".set_owner("nobody").unwrap();
"/tmp/baz".set_group("nogroup").unwrap();

Set owner and group by id

use file_owner::PathExt;

"/tmp/baz".set_owner(99).unwrap();
"/tmp/baz".set_group(99).unwrap();

Get owner and group

use file_owner::PathExt;

let o = "/tmp/baz".owner().unwrap();
o.id(); // 99
o.name(); // Some("nobody")

let g = "/tmp/baz".group().unwrap();
g.id(); // 99
g.name(); // Some("nogroup")

Latest Version Documentation License

Set and get Unix file owner and group.

UID/GUI numbers or user/group names can be used.

Note: This crate will only compile on Unix systems.

use file_owner::PathExt;

"/tmp/baz".set_owner("nobody").unwrap();
"/tmp/baz".set_group("nogroup").unwrap();

let o = "/tmp/baz".owner().unwrap();
o.id(); // 99
o.name(); // Some("nobody")

let g = "/tmp/baz".group().unwrap();
g.id(); // 99
g.name(); // Some("nogroup")

See module level documentation on docs.rs for more examples.

Dependencies

~1.5MB
~37K SLoC