Allow sudo usage to homebrew user

This commit is contained in:
T. R. Bernstein
2024-06-26 11:48:32 +02:00
committed by T. R. Bernstein
parent 9b07dbc989
commit bbc4b80d81

View File

@@ -24,14 +24,13 @@ function ensureUserIsInAdminGroup() {
dseditgroup -o edit -a "${username}" -t user admin
}
function ensureUserCannotRunSudo() {
function ensureUserCanRunPasswordlessSudo() {
local username=$1
local sudoersFile="/etc/sudoers.d/disallow-sudo-for-${username}"
local sudoersFile="/etc/sudoers.d/no-auth-sudo-for-${username}"
[[ -f ${sudoersFile} ]] && return
cat <<- SUDOERS > "${sudoersFile}"
Defaults:${username} !authenticate
${username} ALL=(ALL) !ALL
SUDOERS
Defaults:${username} !authenticate
SUDOERS
chown root:wheel "${sudoersFile}" || return 10
chmod u=rw,g=r,o= "${sudoersFile}" || return 20
}
@@ -245,7 +244,7 @@ function configure_system() {
lop -y h1 -- -i 'Install System Homebrew'
createHomebrewUserIfNeccessary || return 10
indicateActivity 'Ensure Homebrew user is in admin group' ensureUserIsInAdminGroup ${homebrew_username} || return 11
indicateActivity 'Ensure Homebrew user can not run sudo' ensureUserCannotRunSudo ${homebrew_username} || return 12
indicateActivity 'Ensure Homebrew user can run passwordless sudo' ensureUserCanRunPasswordlessSudo ${homebrew_username} || return 12
configureInstallPrefix ${homebrew_prefix} || return 13
ensureHomebrewCacheDirectory || return 14
ensureHomebrewLogDirectory || return 15