1-sudo 837 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env bash
  2. # NAME: Configure passwordless sudo for wheel group
  3. # REQUIRES: sudo
  4. set -euo pipefail
  5. # Source common functions
  6. source "$(dirname "$0")/../common.sh" || {
  7. echo "[ERROR] Could not source common.sh" >&2
  8. exit 1
  9. }
  10. check_requirements() {
  11. if ! is_root; then
  12. log_error "This script requires root privileges"
  13. log_info "Run with: sudo $0"
  14. exit 1
  15. fi
  16. }
  17. configure_sudo() {
  18. local sudoers_file="/etc/sudoers.d/wheel"
  19. local config_line="%wheel ALL=(ALL:ALL) NOPASSWD: ALL"
  20. log_sudo "Configuring wheel group for passwordless sudo"
  21. echo "$config_line" >"$sudoers_file"
  22. chmod 440 "$sudoers_file"
  23. log_info "Wheel group configured for passwordless sudo"
  24. log_info "Users in wheel group can now use sudo without password"
  25. }
  26. main() {
  27. init_script
  28. check_requirements
  29. configure_sudo
  30. finish_script 0
  31. }
  32. main "$@"