
___x_cmd_mac_tidsudo(){
    [ $# -gt 0 ]    ||      set -- status

    local op="$1";  shift

    case "$op" in
        status|enable|disable)
            ___x_cmd_mac_tidsudo_"$op" "$@"     ;;
        -h|--help)
            ___x_cmd help -m mac tidsudo "$@"   ;;
        *)
            N=mac M="Unsupported cmd -> $op" log:ret:64
    esac
}

___x_cmd_mac_tidsudo_status(){
    local pam_sudo="/etc/pam.d/sudo_local"

    if [ -f "$pam_sudo" ]; then
        printf "TouchID for sudo: %s\n" on
    else
        printf "TouchID for sudo: %s\n" off
    fi
}

___x_cmd_mac_tidsudo_disable(){
    local pam_sudo="/etc/pam.d/sudo_local"

    [ -f "$pam_sudo" ] || {
        mac:info "File unexisted -> $pam_sudo"
        mac:info "We assume you didn't enable it."
        return 0
    }

    ___x_cmd sudo rm "$pam_sudo"
}

___x_cmd_mac_tidsudo_enable(){
    local pam_sudo_tmpl="/etc/pam.d/sudo_local.template"
    [ -f "$pam_sudo_tmpl" ] || {
        N=mac M="Exepcting tempalte file -> $pam_sudo_tmpl" log:ret:1
    }

    local pam_sudo="/etc/pam.d/sudo_local"
    [ ! -f "$pam_sudo" ] || {
        mac:info "File already existed -> $pam_sudo"
        mac:info "We assume you already enable it."
    }


    local tmpfp="$___X_CMD_ROOT_TMP/mac/sudo_local"
    ___x_cmd ensurefp "$tmpfp"
    ___x_cmd_cmds sed -e 's/^#auth/auth/' >"$tmpfp" <"$pam_sudo_tmpl"

    ___x_cmd sudo mv "$tmpfp" "$pam_sudo"
}
