[badges.maintainance]
badge = "https://img.shields.io/badge/maintenance-actively%20maintained-brightgreen.svg"
status = "actively-maintained"
[[bin]]
name = "chsr"
path = "src/chsr/main.rs"
[[bin]]
name = "sr"
path = "src/sr/main.rs"
required-features = ["finder"]
[build-dependencies.serde_json]
version = "1.0.128"
[build-dependencies.toml]
version = "0.8.13"
[dependencies.bitflags]
version = "2.6.0"
[dependencies.capctl]
version = "0.2.4"
[dependencies.chrono]
version = "0.4.38"
[dependencies.ciborium]
version = "0.2.2"
[dependencies.const_format]
version = "0.2.33"
[dependencies.derivative]
version = "2.2.0"
[dependencies.glob]
version = "0.3.1"
[dependencies.hex]
version = "0.4.3"
[dependencies.libc]
version = "0.2.159"
[dependencies.linked_hash_set]
version = "0.1.4"
[dependencies.nix]
features = ["user", "process", "signal", "fs"]
version = "0.29.0"
[dependencies.once_cell]
version = "1.20.2"
[dependencies.pam-client]
version = "0.5.0"
[dependencies.pam-sys]
version = "1.0.0-alpha.5"
[dependencies.pcre2]
optional = true
version = "0.2.7"
[dependencies.pest]
version = "2.7.14"
[dependencies.pest_derive]
version = "2.7.14"
[dependencies.pty-process]
version = "0.4.0"
[dependencies.rar-common]
package = "rootasrole-core"
version = "3.0.0"
[dependencies.semver]
features = ["serde"]
version = "1.0.23"
[dependencies.serde]
features = ["rc"]
version = "1.0.210"
[dependencies.serde_json]
version = "1.0.128"
[dependencies.sha2]
version = "0.10.8"
[dependencies.shell-words]
version = "1.1.0"
[dependencies.strum]
features = ["derive"]
version = "0.26.3"
[dependencies.syslog-tracing]
version = "0.3.0"
[dependencies.tracing]
version = "0.1.40"
[dependencies.tracing-subscriber]
version = "0.3.18"
[dev-dependencies.env_logger]
version = "0.11.5"
[dev-dependencies.test-log]
features = ["trace"]
version = "0.2.12"
[dev-dependencies.tracing]
version = "0.1.37"
[dev-dependencies.tracing-subscriber]
default-features = false
features = ["env-filter", "fmt"]
version = "0.3.16"
[features]
default = ["finder"]
finder = ["dep:pcre2", "rar-common/pcre2", "rar-common/finder"]
[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(tarpaulin_include)"]
level = "allow"
priority = 0
[package]
authors = ["Eddie Billoir <eddie.billoir@irit.fr>"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = "build.rs"
categories = ["command-line-utilities", "os::linux-apis", "config"]
default-run = "sr"
description = "An alternative to sudo that uses Linux capabilities and Role based access control."
edition = "2021"
exclude = ["sudoers-reader/*", "book/*"]
homepage = "https://lechatp.github.io/RootAsRole/"
keywords = ["sudo", "capabilities", "rbac", "linux", "security"]
license = "GPL-3.0-or-later"
name = "rootasrole"
readme = "README.md"
repository = "https://github.com/LeChatP/RootAsRole"
rust-version = "1.76.0"
version = "3.0.2"
[package.metadata.deb]
assets = [["target/release/sr", "usr/bin/sr", "0555"], ["target/release/chsr", "usr/bin/chsr", "0555"], ["target/man/sr.8.gz", "usr/share/man/man8/sr.8.gz", "0644"], ["target/man/chsr.8.gz", "usr/share/man/man8/chsr.8.gz", "0644"], ["target/man/fr/sr.8.gz", "usr/share/man/fr/man8/sr.8.gz", "0644"], ["target/man/fr/chsr.8.gz", "usr/share/man/fr/man8/chsr.8.gz", "0644"]]
changelog = "target/debian/changelog"
conf-files = ["/etc/pam.d/sr", "/etc/security/rootasrole.json"]
depends = "libpam0g, libpam-modules, libpcre2-8-0"
extended-description = "RootAsRole is a project to allow Linux/Unix administrators to delegate their administrative tasks access rights to multiple co-administrators through RBAC model and Linux Capabilities features."
license-file = "LICENSE"
maintainer = "Eddie Billoir <lechatp@outlook.fr>"
maintainer-scripts = "target/release/"
preserve-symlinks = true
priority = "optional"
section = "admin"
[package.metadata.generate-rpm]
post_install_script = "resources/rh/postinst.sh"
post_install_script_flags = 5
pre_uninstall_script = "resources/rh/prerm.sh"
pre_uninstall_script_flags = 5
[[package.metadata.generate-rpm.assets]]
caps = "=p"
dest = "/usr/bin/sr"
group = "root"
mode = "0555"
source = "target/release/sr"
user = "root"
[[package.metadata.generate-rpm.assets]]
dest = "/usr/bin/chsr"
group = "root"
mode = "0555"
source = "target/release/chsr"
user = "root"
[[package.metadata.generate-rpm.assets]]
config = true
dest = "/etc/pam.d/sr"
group = "root"
mode = "0644"
source = "resources/rh/rh_sr_pam.conf"
user = "root"
[[package.metadata.generate-rpm.assets]]
config = true
dest = "/etc/security/rootasrole.json"
group = "root"
mode = "0644"
source = "resources/rootasrole.json"
user = "root"
[[package.metadata.generate-rpm.assets]]
dest = "/usr/share/man/man8/sr.8.gz"
doc = true
group = "root"
mode = "0644"
source = "target/man/sr.8.gz"
user = "root"
[[package.metadata.generate-rpm.assets]]
dest = "/usr/share/man/man8/chsr.8.gz"
doc = true
group = "root"
mode = "0644"
source = "target/man/chsr.8.gz"
user = "root"
[[package.metadata.generate-rpm.assets]]
dest = "/usr/share/man/fr/man8/sr.8.gz"
doc = true
group = "root"
mode = "0644"
source = "target/man/fr/sr.8.gz"
user = "root"
[[package.metadata.generate-rpm.assets]]
dest = "/usr/share/man/fr/man8/chsr.8.gz"
doc = true
group = "root"
mode = "0644"
source = "target/man/fr/chsr.8.gz"
user = "root"
[package.metadata.generate-rpm.requires]
pam = "*"
pcre2 = "*"
[profile.release]
codegen-units = 1
lto = true
opt-level = "s"
strip = "symbols"