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