pub unsafe fn lchown<P: AsRef<Path>>(
filename: P,
user: uid_t,
group: gid_t
) -> Result<(), Errno>
Expand description
Change ownership of a file. Does not deference symbolic link.
§Example
let filename = "/tmp/nc-lchown";
let ret = unsafe {
nc::openat(
nc::AT_FDCWD,
filename,
nc::O_CREAT | nc::O_WRONLY | nc::O_TRUNC,
0o644
)
};
assert!(ret.is_ok());
let fd = ret.unwrap();
let ret = unsafe { nc::close(fd) };
assert!(ret.is_ok());
let ret = unsafe { nc::lchown(filename, 0, 0) };
assert!(ret.is_err());
assert_eq!(ret, Err(nc::EPERM));
let ret = unsafe { nc::unlinkat(nc::AT_FDCWD, filename, 0) };
assert!(ret.is_ok());