mirror of
https://github.com/uutils/shadow.git
synced 2026-06-10 16:14:57 -07:00
5d8ac9587d
- Fix cargo build --release --workspace in test scripts - Document setuid-on-symlinks as intentional in Makefile - Warn (not abort) on subid allocation failure in useradd - Propagate subid file read errors instead of unwrap_or_default - Update SELinux docs to describe best-effort behavior - Add env_clear() to getfattr subprocess in selinux.rs - Use hardening::sanitized_env() in nscd.rs instead of local reimpl - Create testuser in pam-e2e.sh, add cleanup - Document su-as-root limitation in pam-e2e.sh - Fix set -e exit code capture in gnu-compat.sh - Add 5 date validation unit tests in chage - Wire audit::log_user_event into all 7 tools
40 lines
1.1 KiB
Makefile
40 lines
1.1 KiB
Makefile
PREFIX ?= /usr/local
|
|
BINDIR ?= $(PREFIX)/sbin
|
|
PROFILE ?= release
|
|
|
|
TOOLS = passwd pwck useradd userdel usermod chpasswd chage \
|
|
groupadd groupdel groupmod grpck chfn chsh newgrp
|
|
|
|
.PHONY: all build test install uninstall clean
|
|
|
|
all: build
|
|
|
|
build:
|
|
cargo build --profile $(PROFILE)
|
|
|
|
test:
|
|
cargo test --workspace
|
|
|
|
install: build
|
|
install -Dm755 target/$(PROFILE)/shadow-rs $(DESTDIR)$(BINDIR)/shadow-rs
|
|
@for tool in $(TOOLS); do \
|
|
ln -sf shadow-rs $(DESTDIR)$(BINDIR)/$$tool; \
|
|
done
|
|
@# Setuid-root for tools that need it. chmod on symlinks affects the
|
|
@# underlying multicall binary — this is intentional for drop-in
|
|
@# replacement since all traditional shadow-utils tools are setuid-root.
|
|
@for tool in passwd chfn chsh newgrp; do \
|
|
chmod 4755 $(DESTDIR)$(BINDIR)/$$tool 2>/dev/null || true; \
|
|
done
|
|
@echo "Installed shadow-rs + $(words $(TOOLS)) symlinks to $(DESTDIR)$(BINDIR)/"
|
|
|
|
uninstall:
|
|
@for tool in $(TOOLS); do \
|
|
rm -f $(DESTDIR)$(BINDIR)/$$tool; \
|
|
done
|
|
rm -f $(DESTDIR)$(BINDIR)/shadow-rs
|
|
@echo "Uninstalled shadow-rs from $(DESTDIR)$(BINDIR)/"
|
|
|
|
clean:
|
|
cargo clean
|