Allow azwdevice and admin as filevault users
This commit is contained in:
40
bin/azw-set-filevault-users
Executable file
40
bin/azw-set-filevault-users
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env zsh
|
||||
# vi: set ft=zsh tw=80 ts=2
|
||||
|
||||
function main {
|
||||
local username="$1"
|
||||
|
||||
function doesFilevaultUserExist() {
|
||||
dscl . -list /Users | grep ${username} >&! /dev/null
|
||||
}
|
||||
|
||||
function isFilevaultUserEnabled() {
|
||||
fdesetup list | grep ${username} &> /dev/null
|
||||
}
|
||||
|
||||
function isFilevaultEnabled() {
|
||||
fdesetup status | grep On &> /dev/null
|
||||
}
|
||||
|
||||
function allowOnlyFilevaultUserToUnlock() {
|
||||
local fdeuser
|
||||
for fdeuser in $(fdesetup list | cut -d',' -f1); do
|
||||
[[ ${fdeuser} != ${username} && ${fdeuser} != "admin" ]] && fdesetup remove -user "${fdeuser}"
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
function disableUser() {
|
||||
pwpolicy -u ${username} -disableuser
|
||||
}
|
||||
|
||||
[[ $(id -un) == 'root' ]] || { lop -- -e 'This script needs to be run by root. Aborting.'; return }
|
||||
isFilevaultEnabled || { lop -- -e 'FileVault is disabled. Aborting.'; return }
|
||||
doesFilevaultUserExist && isFilevaultUserEnabled && allowOnlyFilevaultUserToUnlock && disableUser
|
||||
}
|
||||
|
||||
if [[ "${ZSH_EVAL_CONTEXT}" == toplevel || "${ZSH_EVAL_CONTEXT}" == cmdarg ]]; then
|
||||
_DIR="${0:A:h}"
|
||||
source autoload-zshlib
|
||||
main "$@"
|
||||
fi
|
||||
Reference in New Issue
Block a user