3 releases (breaking)
0.3.0 | Sep 29, 2022 |
---|---|
0.2.0 | Apr 20, 2019 |
0.1.0 | Aug 6, 2018 |
#340 in Unix APIs
18KB
83 lines
clap-permission-flag
Drop permissions of a CLI using structopt.
Usage
use clap::Parser;
#[derive(Debug, Parser)]
struct Cli {
#[clap(flatten)]
permission: clap_permission_flag::Permission,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
let args = Cli::parse();
args.permission.drop()?;
Ok(())
}
This crate depends on Unix features - on other platforms a stub implementation which has no flags and always succeeds if used.
Example Output
clap-permission-flag 0.2.0
Yoshua Wuyts <yoshuawuyts@gmail.com>
Drop permissions of a CLI using structopt
USAGE:
main [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
--chroot <chroot> Change the process root directory
-g, --group <group> Change the process group
-u, --user <user> Change the process user
Installation
$ cargo add clap-permission-flag
Since --chroot
may not be suitable for all applications, it is behind the
chroot
feature and must be enabled explicitly:
[dependencies.clap-permission-flag]
version = "0.2"
features = ["chroot"]
See Also
License
MIT OR Apache-2.0
Dependencies
~3.5MB
~69K SLoC