clap-permission-flag

Crates.ioclap-permission-flag
lib.rsclap-permission-flag
version0.3.0
sourcesrc
created_at2018-08-06 19:33:44.74569
updated_at2022-09-29 06:36:45.421839
descriptionDrop permissions of a CLI using clap
homepage
repositoryhttps://github.com/rust-clique/clap-permission-flag
max_upload_size
id77792
size48,926
Maintainers (github:rust-cli:maintainers)

documentation

https://docs.rs/clap-permission-flag

README

clap-permission-flag

crates.io version build status downloads docs.rs docs

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

Commit count: 41

cargo fmt