Repository navigation
nopass v3
Password-less – Release Notes
Unversioned changes (latest)
Script: setup-passwordless-fb.sh
- Improved PAM
suintegration for passwordlesssuvia thewheelgroup:- Locates
su/su-lPAM configs in/etc/pam.dor vendor files in/usr/lib/pam.dand creates local overrides when needed. - If a
pam_wheel.soline already exists, only adds thetrustoption (without duplicating the line). - If no
pam_wheel.soline exists, injects a single
auth sufficient pam_wheel.so use_uid trust group=wheel
line either immediately after thepam_rootok.soauth line (preferred) or near the top of the file as a fallback. - Changes are idempotent: re-running the script does not keep adding extra
pam_wheel.solines ortrustflags.
- Locates
- Tightened polkit detection for newer versions (e.g. polkit-1 124+):
- Uses
pkaction --versionto detect newer polkit. - Scans common rules directories for existing JS
.rulesfiles containingpolkit.addRule; if none are found, treats JS rules as "maybe unsupported".
- Uses
- Added optional
--delete-passwd-on-polkit-failflag:- When JS rules look unsupported, and this flag is set, the script can offer to delete the local Unix password for the target user via
sudo passwd -d <TARGET_USER>(with confirmation and full support for--dry-run).
- When JS rules look unsupported, and this flag is set, the script can offer to delete the local Unix password for the target user via
- Verified the script passes a basic syntax check (
bash -n).
Documentation: README.md
- Added a section “Why passwordless sudo / su and what this script is for” explaining the intended use case (single-user personal/lab machines, convenience over isolation, reproducible config).
- Expanded the feature and options sections to document:
- PAM
supasswordless behavior forwheelmembers and its idempotent, cross-distro design. - The
--delete-passwd-on-polkit-failflag and how it interacts with polkit detection. - The tightened polkit JS detection heuristics (version check + scan for existing JS rules).
- PAM
These notes describe the current state after the latest edits to the script and README.