Tiny Deathstars of Foulness

macOS 10.13 brings changes to sysadminctl. You know those dscl scripts we used to use to create users? No longer supposed to be necessary (luckily they do still work). Now you can create a user with a one-liner, and do other forms of user management, such as enabling FileVault for a given user, or managing the guest accounts. However, you can’t do these tasks as root or via sudo. You have to do so with other admin accounts per Apple kbase HT208171 (in fact, this article has been in my queue waiting for that issue to be fixed – but keep in mind I’m not prefacing these with sudo in the below commands). In the below command, we’ll pass the -addUser option and then use -fullName to fill in the displayed name of the user, -password to send a password to the account and -hint so we can get a password hint into that attribute:

sysadminctl -addUser krypted2 -fullName "Charles Edge" -password testinguser -hint hi

The result would be as follows:

No clear text password or interactive option was specified (adduser, change/reset password will not allow user to use FDE) !
Creating user record…
Assigning UID: 503
Creating home directory at /Users/krypted2

Notice that in the above, the system automatically selected a home directory and UID. We could have passed those as well, using Now let’s use dscl to view the user we just created:

dscl . -read /Users/krypted2

Here’s a snippet of the dscl output:

NFSHomeDirectory: /Users/krypted2
Password: ********
Picture: /Library/User Pictures/Fun/Ying-Yang.png
PrimaryGroupID: 20
RealName: Charles Edge
RecordName: krypted2
RecordType: dsRecTypeStandard:Users
UniqueID: 503
UserShell: /bin/bash

Notice that the above is not the whole record you’d typically find with dscl. But if it were, you would not have the AuthenticationAuthority attribute. To see if it can unlock FileVault we can use the -secureTokenStatus operator built into sysadminctl. Simply pass the RecordName and you’ll get an indication if it’s on or off:

sysadminctl -secureTokenStatus krypted2

The response should be as follows:

Secure token is ENABLED for user Charles Edge

To just get the ENABLED response we’ll just use awk to grab that position (also note that we have to redirect stderr to stdout):

sysadminctl -secureTokenStatus charles.edge 2>&1 | awk '{print$7}'

We could append the AuthenticationAuthority attribute with dscl, as we would need a SecureToken. To get a SecureToken, we’ll use the -secureTokenOn verb:

sysadminctl -secureTokenOn krypted mysupersecretpassword

To disable, we’ll use -secureTokenOff

sysadminctl -secureTokenOff krypted mysupersecretpassword

Given that we like to rotate management passwords, we can do so using-resetPasswordFor which takes a username and a password as -newPassword and -passwordHint respectively:

sysadminctl -resetPasswordFor krypted -newPassword newsupersecretpassword -passwordHint "That was then this is now"

Note: In the above, we quoted the hint, which is supplied using the -passwordHint option. If it was one word we wouldn’t have needed to do so. 

Next, let’s check guest access. You can have guest enabled for logging in, afp, or smb. To check if guest is enabled for one of these use the -guestAccount, -afpGuestAccess, or -smbGuestAccess options. Each has an on, off, and status verb that can be used to manage that account type. So for example, if you wanted to check the status of the guest account, you could use -guestAccount as follows (also note that we have to redirect stderr to stdout):

sysadminctl -guestAccount status 2>&1 | awk '{print$5}'

To then disable if it isn’t already disabled:

sysadminctl -guestAccount Off

You can also use sysadminctl to do a quick check of the encryption state of the boot volume using the -filesystem option (although there’s no on and off verb for this option just yet):

bash-3.2# sysadminctl -filesystem status

2017-12-07 10:37:26.401 sysadminctl[8534:466661] Boot volume CS FDE: NO

2017-12-07 10:37:26.434 sysadminctl[8534:466661] Boot volume APFS FDE: YES

The help page is as follows:

Usage: sysadminctl [[interactive] || [-adminUser -adminPassword ]] -deleteUser [-secure || -keepHome] -newPassword -oldPassword [-passwordHint ] -resetPasswordFor -newPassword [-passwordHint ] -addUser [-fullName ] [-UID ] [-shell ] [-password ] [-hint ] [-home ] [-admin] [-picture ] -secureTokenStatus -secureTokenOn -password -secureTokenOff -password -guestAccount -afpGuestAccess -smbGuestAccess -automaticTime -filesystem status Pass '-' instead of password in commands above to request prompt.

Why should you switch to sysadminctl for scripts? Entitlements and I’m sure this is how mdmclient will pass management commands in the future… Why should you not? You can’t run most of it as root…

December 7th, 2017

Posted In: Mac OS X, Mac Security, Mass Deployment

Tags: , , ,

Leave a Comment

What do you do when iTunes launches with an error that a file is missing? Reinstall it. But if it isn’t in the Mac App Store, how do you do that?

Easy peasy. Go to provide an email address and click on download. Once downloaded, run the package installer and you’re done. 

November 20th, 2017

Posted In: Mac OS X

One Comment

The following is a list of common tools used to manage Apple devices. Do you use something that isn’t on this list? Comment it and I’ll try and add it! In order to remain vendor agnostic I am trying to list solutions in alphabetical order by category. A brief explanation of each category, being as follows:
  • Antivirus: Solutions for scanning Macs for viruses and other malware.
  • Automation Tools: Scripty tools used to automate management on the Mac
  • Backup: I highly recommend bundling or reselling some form of backup service to your customers, whether home, small business, or large enterprises. The flexibility to restore a device from a backup when needed is one of the most important things to keep costs at a manageable level and put devices back into the hands of customers in an appropriate time frame.
  • CRM: Mac-friendly tools used to track contacts and communications with those contacts.
  • Collaboration Suites: Once upon a time, a Mac server was great for shared calendars, contacts, and email. But most businesses aren’t going to want anything to do with the repercussions of potential downtime that can happen on a mail server. Nothing will get your hard-earned customers to fire you faster than an email outage. So while the Mac server is listed, consider cloud options, for optimal customer retention.
  • DEP Splash Screens and Help Menus: Tools that make the DEP and service desk process more user friendly by providing more information to users.
  • Development Tools, IDEs and Text Editors: Tools used when building scripts, writing and debugging software, and manipulating text.
  • Digital Signage and Kiosks: I put these in here, because I know a lot of organizations that have made a great little addition revenue stream by reselling or deploying these tools on behalf of their customers. I have friends that have also created managed service offerings just around these tools. Overall, it’s a possible new revenue stream and as an added bonus, you’ll likely have an NFR so you can have pretty cool signage in your office (if you’re into that kind of thing).
  • Directory Services: Tools that provide primarily on-premesis access to a shared directory of services and allow for single-sign on to those services.
  • File Sharing: Mac-centric cloud and on premises tools to share and synchronize files.
  • Identity Management: Providers of predominantly SAML based Single-Sign On solutions that federate security for Apple devices to access web-based services.
  • Imaging and Configuration Tools: Tools used to place devices into a given state or create that state. This includes traditional Mac including tools as well as those built for iOS. 
  • Line of Business: Traditionally Mac-focused solutions that automate various business functions.
  • Log Collection and Analysis: Centralized logging has been a necessity for large, growing fleets of devices. Modern tools can store large amounts of logs from client computers and allow fast and complex searching so you can triangulate issues quickly and effectively. As an added benefit, you can also centralize logs for network appliances, allowing you to isolate the source of issues across an entire ecosystem of devices.
  • Management Suites: Tools used to manage settings on Apple Devices. Each is marked as MDM, Agent-based, or both.
  • Print Servers: Servers that either provide access to printers or allow for more granular printing features, such as cost accounting.
  • Productivity Tools: Tools you might use to manage lists or other assets.
  • Remote Control and Management: These tools allow you to take control of the screen, keyboard, and mouse of devices. I can’t tell you which are the best. But I can tell you that I want my remote control solutions to be cross-platform, to be cloud-based, to prompt users for acceptance of the remote control session, and to audit connections so I know who is taking over what devices.
  • Print Servers: I’ve always hated printers. Whether the old Fiery print services, a common LPR-based printer, or one of the shared printing services, I still can’t stand managing printers. Printers jam, they break, the drivers seem to be rife with problems for every other operating system update, printers are often connected to via ad-hoc networks (like Bonjour), and you often need special software to access the cool features. All-in-all, printers suck, but these tools might make them just a tad bit easier to use, or if not, help to account for who is using them so your customers can bill their departments back as much as possible.
  • Point of Sale (PoS): Similar to digital signage, but you might also operate a storefront or track customer data in one of these solutions.
  • Remote Management: Tools used to take control of the screen of an Apple device.
  • Security Tools: Tools used to manage firewalls, filevault, and perform other tasks required to secure Macs, based on the security posture of a given organization.
  • Service Desk Tools: These tools are for ticketing and ticket management. It’s always great if you can pick one that actually integrates with both your billing solution and the various other techie bits you choose to use.
  • Software Packaging and Package Management: Tools for normalizing software for mass distribution on Apple platforms.
  • Storage: Apple-focused solutions for sharing files.
  • Troubleshooting, Repair, and Service Tools: Tools used to fix logical problems with hard drives, check hardware for issues, repair various system problems, or just clean up a Mac.
  • Virtualization and Emulation: Not all software runs on a Mac. Customers will have certain tasks that may require a Windows machine. You can use Citrix or a Microsoft Terminal Server to provide for that potential requirement. Or, especially if users need data from their Windows apps when offline, you can use a local virtualization tool.


  • AVG: Basic antivirus and spyware detection and remediation.
  • Avast: Centralized antivirus with a cloud console for tracking incidents and device status.
  • Avira: Antivirus and a browser extension. Avira Connect allows you to view device status online.
  • BitDefender: Antivirus and malware managed from a central console.
  • CarbonBlack: Antivirus and Application Control.
  • Cylance: Ransomware, advanced threats, fileless malware and malicious documents in addition to standard antivirus.
  • Kaspersky: Antivirus with a centralized cloud dashboard to track device status.
  • Malware Bytes: Antivirus and malware managed from a central console.
  • McAfee Endpoint Security: Antivirus and advanced threat management with a centralized server to track devices.
  • Sophos: Antivirus and malware managed from a central console.
  • Symantec Mobile Device Management: Antivirus and malware managed from a central console.
  • Trend Micro Endpoint Security: Application whitelisting, antivirus, ransomware protection in a centralized console.
  • Wandera: Malicious hot-spot monitoring, jailbreak detection, web gateway for mobile threat detection that integrates with common MDM solutions.

Automation Tools

  • AutoCasperNBI: Automates the creation of NetBoot Images (read: NBI’s) for use with Casper Imaging.
  • AutoDMG: Takes a macOS installer (10.10 or newer) and builds a system image suitable for deployment with Imagr, DeployStudio, LANrev, Jamf Pro, and other asr-based imaging tools.
  • AutoNBI: Automates the the build and customization of Apple NetInstall Images.
  • Dockutil: Command line tool for managing dock items.
  • Homebrew: Package manager for macOS. Cakebrew: provides a pretty GUI for Homebrew.
  • Jamf Migrator: Copy assets from one Jamf server to another.
  • Jamjar: Synergises jamf, autopkg & munki into an aggregated convergence that cherry-picks functionality from each products core competency to create an innovative, scalable & modular update framework.
  • MacPorts: An open-source community initiative to design an easy-to-use system for compiling, installing, and upgrading either command-line, X11 or Aqua based open-source software on Macs.
  • Precache: Programmatically caches Mac and iOS updates rather than waiting for a device to initiate caching on a local caching server.
  • Outset:  Automatically processes packages, profiles, and scripts during the boot sequence, user logins, or on demand.
  • Spruce:  Locates items in Jamf Pro that you aren’t currently using (out of date scripts, packages, etc).
  • Recategorizer:  Recategorize policies and packages in Jamf Pro.


  • Acronis: Centrally managed backups with image-based restores.
  • Archiware: Centrally managed backups to disk and tape with a variety of agents for backing up common Apple requirements, such as Xsan.
  • Arq: One-time fee cloud-based backups and unlimited storage.
  • Backblaze: Unlimited continuous backup with a 30 day rollback feature.
  • Carbon Copy Cloner: File or disk-based cloning of files for macOS.
  • Carbonite: SaaS or local-server based backups of Mac clients.
  • Crashplan: Backup to cloud and local storage with a great deduplication engine.
  • Datto: Local and cloud backup and restore, as well as cloud failover for various services.
  • Druva: Backup for local computers as well as some backup for cloud services.
  • Quest Backup (formerly Netvault): Can backup Mac clients and Xsan volumes to a centralized tape or disk-based backup server.
  • SuperDuper!: Duplicates the contents of volumes to other disks.
  • Time Machine: Built-in backup tool for macOS.

Collaboration Suites and File Sharing

  • Atlassian: Development oriented suite including wiki (Confluence), issue tracking (Jira), messaging (HipChat) and other tools.
  • Box: File sharing in the cloud.
  • Dropbox: File sharing in the cloud.
  • Egnyte: Caches assets from popular cloud-based services so they’re accessible faster on networks where they’re frequently accessed.
  • G Suite: Shared Mail, Contacts, Calendars. Groupware, accessible from the built-in Apple tools, Microsoft Outlook, and through the web.
  • Kerio Connect: Shared Mail, Contacts, Calendars. Groupware, accessible from the built-in Apple tools, Microsoft Outlook, and through the web.
  • macOS Server: Shared Mail, Contacts, Calendars. Groupware, accessible from the built-in Apple tools, Microsoft Outlook, and through the web. Should be used in smaller environments, and it is strongly recommended to look at third party SaaS-based solutions as potential replacements for this solution.
  • Office 365: Shared Mail, Contacts, Calendars. Groupware, accessible from the built-in Apple tools, Microsoft Outlook, and through the web.


  • Daylite: Mac tool for managing contacts and communications with those contacts.
  • Hike: Mac tool for managing contacts and communications with those contacts.
  • Elements CRM: Mac tool for managing contacts and communications with those contacts. (EOL)
  • GroCRM: iOS tool for managing contacts and communications with those contacts.

DEP Splash Screens and Help Menus

  • ADEPT: Adds a splash screen for DEP enrollments so users can see what is happening on their devices.
  • DEPNotify: Adds a splash screen for DEP enrollments so users can see what is happening on their devices.
  • HelloIT: Customizable help menu so users can get information about their systems or IT support.
  • MacDNA: Customizable help menu so users can get information about their systems or IT support.
  • SplashBuddy: Adds a splash screen for DEP enrollments so users can see what is happening on their devices.

Development Tools, IDEs and Text Manipulators

  • aText: Replaces abbreviations with frequently used phrases you define.
  • Atom: A modern text editor with bells and whistles that make it work like an IDE for common scripting languages.
  • BBEdit: A modern text editor with bells and whistles that make it work like an IDE for common scripting languages.
  • Charles Proxy: A proxy tool that can be used to inspect traffic so you can programmatically reproduce the traffic or reverse engineer what is happening when trying to solve issues or build tools.
  • CocoaDialog: Create better dialog boxes than with traditional tools like AppleScript.
  • Coda: An IDE and a modern text editor with bells and whistles that make it work like an IDE for common scripting languages.
  • Dash: Offline access to 150+ API documentation sets.
  • Docker: Containerization tool.
  • FileMaker: Rapid application development software from Apple.
  • git: Code versioning, merging, and tracking – and with github, a repository to put code into and share code.
  • Hopper Disassembler: Disassemble binaries as part of reverse engineering and security testing.
  • Microsoft Visual Studio: An IDE for a variety of languages.
  • MacDown: An open source tool for creating and editing Markdown. 
  • MySQL Workbench: Create and edit MySQL databases and use to build complex queries.
  • Navicat Essentials: Create and edit MySQL databases and use to build complex queries.
  • Pashua: Creating native Aqua dialogs from programming languages that have none or only limi­ted support for graphic user inter­faces on Mac OS X, such as Apple­Script, Bash scripts, Perl, PHP, Python, and Ruby.
  • Platypus: creates native Mac OS X applications from interpreted scripts such as shell scripts or Perl, Ruby and Python programs.
  • Script Debugger: Tools like a dictionary explorer and more IDE-esque features for building AppleScript applications.
  • SequelPro: Create and edit MySQL databases and use to build complex queries.
  • Snippets Manager: Collect and organize code snippets
  • SourceTree: GUI tool for Git and Github.
  • SublimeText: A modern text editor with bells and whistles that make it work like an IDE for common scripting languages.
  • TextExpander: Replaces abbreviations with frequently used phrases you define.
  • TextWrangler: A modern text editor with bells and whistles that make it work like an IDE for common scripting languages.
  • Tower: A modern text editor with bells and whistles that make it work like an IDE for common scripting languages.
  • VisualJSON: Simple JSON pretty-viewer for the Mac.
  • Xcode: Apple tool for writing apps and scripts in common languages.

Digital Signage and Kiosks

  • Carousel Digital Signage: Run Digital Signage from an AppleTV.
  • Kiosk Pro: Turn any iPad into a single-user kiosk tool, manageable via an API (e.g. with a Jamf Pro integration).
  • Risevision: Run Digital Signage from a Mac.

Directory Services and Authentication Tools

  • Apple Enterprise Connect: Tool sold through Apple that connects to Active Directory environments without binding to Active Directory.
  • AdmitMac: Adds support for fringe Active Directory requirements.
  • JumpCloud: Run your directory service in the cloud.
  • LDAP: Open source directory service.
  • macOS Server Open Directory: Directory service installed in macOS Server that is based on OpenLDAP.
  • Microsoft Active Directory: Centralized directory service from Microsoft.
  • Nomad: Connects clients to Active Directory environments without binding to Active Directory. And has some other nifty features.

Identity Management

  • Centrify: Provide federated login across common web services and other SAML-capable solutions, as well as resolve common issues with Active Directory. Also has an integrated profile management tool for compliance.
  • Duo Mobile
  • LastPass Enterprise: Provide federated login across common web services and other SAML-capable solutions
  • Microsoft Azure Active Directory: Active Directory with Azure in the cloud.
  • NoLo
  • Okta: Provide federated login across common web services and other SAML-capable solutions
  • OneLogin: Provide federated login across common web services and other SAML-capable solutions
  • Ping Identity: Provide federated login across common web services and other SAML-capable solutions

Imaging and Configuration Tools

  • Apple Configurator: Configure iOS and tvOS devices en-masse, automate MDM enrollment, and distribute data.
  • Blast Image Configquickly restore and configure a Macintosh back to a known state (10.12.2 and below)
  • createOSXInstallPackage: create an installer package from an “Install OS” or an InstallESD.dmg. (10.12.4 and below)
  • Deep Freeze: Freeze the state of a Mac.
  • DeployStudio: Free imaging server for Macs.
  • FileWave Lightning: Local device imaging.
  • Google Restor: Image macOS computers from a single source. It is an application intended to be run interactively on a machine.
  • Ground Control: Mass deploy (and enroll) iOS devices.
  • Imagr: Open Source imaging and netinstall tool for macOS.
  • libimobiledevice: Suite of tools to configure, inspect, wipe, etc for iOS devices.
  • WinClone: Create windows images for deployment onto Macs.

Log Collection and Analysis

  • Elastic Search: Open Source, very fast log analysis.
  • RobotCloud Dashboard: Provides more granular and intuitive visibility into devices managed by Jamf Pro.
  • Splunk: Big data log analysis.
  • Tableau: Big data analysis.
  • Watchman Monitoring: Mac focused monitoring agents that inspects common third party tools.
  • Zentral: Open source, built on ElasticSearch, but with hooks into lots of other tools and custom recipes for Mac logs.

Management Suites


  • Jamf NetSUS: Reposado packaged up for Jamf servers.
  • InfineaIQ: Peripheral management software.
  • Reposado: An open source interpretation of the Apple Software Update Server.
  • Sassafras Keyserver: Centralized software license management server.

Point of Sale

  • Checkout: Point of sale solution that can run on Apple devices.
  • Lightspeed Point of sale solution that can run on Apple devices.
  • Paygo: Point of sale solution that can run on Apple devices.
  • Posim: Point of sale solution that can run on Apple devices.
  • Shopkeep: Point of sale solution that can run on Apple devices.
  • SquareUp: Point of sale solution that can run on Apple devices.
  • Vend: Point of sale solution that can run on Apple devices.
  • Papercut: Printer cost accounting for the Mac.
  • Printopia: Allows for better printing from iOS devices.

Productivity Tools

  • Alfred: Application Launcher for the Mac.
  • Amphetamine: Keep your Mac running when certain apps are open.
  • Evernote: Make lists and sync them to a cloud service, accessible from iOS and the Mac.
  • ITGlue: Store credentials and information about common IT tools in a SaaS-based database.
  • OmniPlan: Project planning and management tool to make Gantt charts.
  • OmniGraffle: Flowchart and network diagraming tool for the Mac.
  • Slack: Messaging and team management tool.
  • Trello: Make lists and sync them to a cloud service, accessible from iOS and the Mac.
  • WunderlistMake lists and sync them to a cloud service, accessible from iOS and the Mac.

Remote Management

  • Apple Remote Desktop: Apple tool for remotely controlling other Macs, sending packages to Macs, and running scripts on Macs over a LAN or directly to an IP address.
  • Bomgar: Appliance that allows for cross-platform remote control of devices.
  • CoRD: RDP client.
  • LogMeIn: Cross-platform remote control utility.
  • GoToMyPC: Cross-platform remote control utility.
  • Remote Desktop: The official RDP client for the Mac.
  • Remotix: RDP and VNC server with lots of bells and whistles.
  • TeamViewer: Cross-platform remote control utility.
  • VNC: Open source protocol for remote control, which many of the above tools are based on.

Security Tools

  • Cauliflower Vest: Store FileVault keys on a centralized server.
  • chainbreaker: Forensically acquire keychain information on a Mac.
  • Crypt: FileVault 2 Escrow solution.
  • Digital Guardian: Data Loss Prevention.
  • Google Santa: Binary blacklisting and whitelisting for the Mac.
  • iOS Location Scraper: Dump the contents of the location database files on iOS and macOS.
  • iOS Frequent Location Scraper: Dump the contents of the StateModel#.archive files located in /private/var/mobile/Library/Caches/
  • Little Snitch: Provides information about what is accessing network resources and where those resources are.
  • MacForensicsLab: A suite of tools from BlackBag Tech for the acquisition and analysis of forensically acquired Apple devices.
  • Macquisition: A suite of tools from BlackBag Tech for the acquisition and analysis of forensically acquired Apple devices.
  • Objective-See: ‘s KnockKnock, Task Explorer, BlockBlock, RansomWhere?, Oversight, and KextViewr, tools for finding more information about ports and services running on machines.
  • Osquery: Query for information on Macs in a live, granular search.
  • osxcollector: A forensic evidence collection & analysis toolkit for OS X
  • Portecle: Create and manage keystores, keys, certificates, certificate requests, and certificate revocation lists.
  • PowerBroker: Enable standard users on a Mac to perform administrative tasks without entering elevated credentials.
  • Prey: Track Mac and iOS devices if they’re stolen.
  • Recon: A forensic capture and analysis suite for Macs.

Service Desk Tools

  • Freshdesk: Case/ticket management that allows for automatic billing via Freshbooks.
  • Salesforce Cases: Case/ticket management that automatically integrates with SalesforceCRM.
  • ServiceNow: Case/ticket management with an expansive marketplace for integrations.
  • Webhelpdesk: Case/ticket management.
  • Zendesk: Case/ticket management with an expansive marketplace for integrations.

Software Packaging and Package Management

  • Autopkg: Automate the creation of Mac software distribution packages using recipes.
  • CreateUserPkg: Creates packages that create local user accounts when installed. (10.12 and below).
  • JSSImporter: Connects Autopkg to Jamf Pro.
  • Iceberg: Create Mac software distribution packages.
  • InstallApplication: Dynamically download packages for use with MDM’s InstallApplication.
  • ipaSign: Programmatically resign ipa files with a new key.
  • Jamf Composer: Create Mac software distribution packages.
  • Luggage: Open Source project to create a wrapper that makes pkgs for Macs so you can have peer review of a package by examining the diffs between versions of a Makefile.
  • Munkipkg: A simple tool for building packages in a consistent, repeatable manner from source files and scripts in a project directory.
  • Pacifist: A shareware application that opens Mac OS X .pkg package files, .dmg disk images, and .zip, .tar, .tar.gz, .tar.bz2, and .xar archives and allows you to extract individual files and folders out of them.
  • Payload Free Package Creator: An Automator application that uses AppleScript, shell scripting and pkgbuild behind the scenes to create payload-free packages.
  • QuickPkg: Create Mac software distribution packages.
  • Simple Package Creator: Create Mac software distribution packages.
  • Suspicious Package: View the contents of Mac software distribution packages.
  • Whitebox Packages: Create Mac software distribution packages.


  • Netatalk: Better AFP connectivity to Windows and other storage platforms from a Mac.
  • Promise: Apple-vetted direct attached storage (DAS), storage area networking (SAN), etc. 
  • Synology: Storage appliances tailored to working with the Mac.
  • Xsan: The built-in Apple SAN filesystem.

Troubleshooting, Repair and Service Tools

  • AppCleaner: Clean up unneeded files on a Mac.
  • AppleJack: Repair disks/permissions and cleans cache/swap files from single user mode when a Mac can’t fully boot.
  • Bartender: Manage items in the menu bar on a Mac.
  • CleanMyDrive: Drag-and-drop files directly to any drive, check disk stats and automatically clean hidden junk from external drives.
  • Data Rescue: Data recovery tool for Mac.
  • Disk Doctor: Repairs logical drives and cleans up unneeded files.
  • DiskWarrior: Repair logical volume corruption on Macs.
  • Drive Genius: Automates monitoring for hard drive errors, finds duplicate files, allows for repartition of volumes, clones volumes, performs secure erase and defragmentation.
  • Disk Inventory X: Visual representation of what’s on a logical volume in macOS.
  • EasyFind: Find files, folders, or contents in any file without indexing through Spotlight.
  • iStumbler: Wireless discovery tool for Mac that can locate Wi-Fi networks, Bluetooth devices, Bonjour services, and perform spectrum analysis.
  • GeekTool: Put script output and logs directly on the desktop of a Mac.
  • Google PlanB: Remediate Macs that fall out of a given state by performing a secure download of disk images and then putting the device into a management platform.
  • GrandPerspective: Visual representation of what’s on a logical volume in macOS.
  • Hardware Monitor: Read hardware sensor information on a Mac.
  • Lingon: Create, manage, and delete LaunchAgents and LaunchDaemons on macOS.
  • Memtest OS X: Test each RAM module in a Mac.
  • Network Radar: Network scanning and mapping tool.
  • nMap: Advanced port scanning, network mapping, and network troubleshooting.
  • Peak Hour: Network performance, quality and usage monitoring.
  • Omni DiskSweeper: Find and remove unused files in macOS to conserve and reclaim disk space.
  • OnyX: Verify the startup disk and structure of system files, run maintenance and cleaning tasks, configure settings(e.g. for the Finder, Dock, Safari), delete caches, and rebuild various databases and indexes. 
  • Push Diagnostics: Test port and host access for APNs Traffic.
  • Stellar Phoenix: Mac data recovery tool.
  • TechTool Pro: Drive repair, RAM testing, and data protection.
  • TinkerTool: Graphical interface for changing preferences on a Mac that would otherwise need to be managed with the defaults command.
  • Xirrus Wi-Fi Inspector: Search for Wi-Fi network, site surveys, troubleshoot Wi-Fi connectivity issues, locate Wi-Fi devices, and detect rogue Apps.

Virtualization and Emulation

  • Anka veertu: Run Virtual Machines on a Mac. 
  • Citrix: Publish Windows application sessions that end users connect to from a Mac using standard RDP clients.
  • Parallels: Run Virtual Machines on a Mac. 
  • Microsoft Windows Terminal Server: Publish Windows sessions that end users connect to from a Mac using standard RDP clients.
  • vFuse: Script to create a VMware Fusion VM from a DMG that hasn’t been booted.
  • VirtualBox: Run Virtual Machines on a Mac. 
  • VMware Fusion: Run Virtual Machines on a Mac. 

Honorable Mention

  • The MacAdmins Slack: Join a community of 15,000 other Admins charged with managing large fleets of Apple devices.
  • Apple Developer Program: Sign up for a developer account in order to get access to beta resources and documentation not otherwise available.
  • AppleSeed Program
  • Your Apple SE
  • Coffee… lots and lots of coffee

November 13th, 2017

Posted In: iPhone, Mac OS X

I’d written an efi version checker. But the lovely Andrew Seago texted me one that’s better than mine. So I present it here: current_efi_version=`/usr/libexec/efiupdater | grep "Raw" | cut -d ':' -f2 | sed 's/ //'`
echo "current_efi_version $current_efi_version"
latest_efi_version=`ls -La /usr/libexec/firmwarecheckers/eficheck/EFIAllowListShipping.bundle/allowlists/ | grep "$current_efi_version"`
echo "latest_efi_version $latest_efi_version"
if [ "$latest_efi_version" == "" ]; then
exit 1
exit 0

November 2nd, 2017

Posted In: Mac OS X, Mac OS X Server, Mac Security, Mass Deployment, Uncategorized

Tags: , , ,

When you push a certificate out in a profile, the certificate is statically stored on a Mac. If you are delivering a certificate over the air and in a device profile that is seperate from the MDM payload then the Active Directory Certificate payload can enable automatic certificate renewals. You can enable automatic renewals with a defaults command (or manage the preference domain via MDM) using the following command:

defaults write /Library/Preferences/ AutoRenewCertificatesEnabled -bool YES
Note: Because they’re already dymanic and all, SCEP payloads cannot be automatically renewed.

October 5th, 2017

Posted In: Mac OS X

Tags: , , , ,

Below is my pesentation from MacSysAdmin, if you’re into such things.

October 4th, 2017

Posted In: Mac OS X, public speaking

You can easily disable password hints in macOS by opening the System Preferences, clicking on the “Users & Groups” System Preference pane and then clicking on Login Options. From there, uncheck the box for “Show password hints”

You can also disable this feature using the defaults domain. Send the following through a script to do so:

defaults write RetriesUntilHint -int 0

October 4th, 2017

Posted In: Mac OS X

Tags: , ,

The following is a list of application bundles that come pre-installed with macOS that are protected by SIP:
/Applications/Utilities/Audio MIDI
/Applications/Utilities/Bluetooth File
/Applications/Utilities/Boot Camp
/Applications/Utilities/Digital Color
Note: Files located in /System, /usr, /bin, and /sbin are recursively protected as well.

October 2nd, 2017

Posted In: Mac OS X, Mac Security

Tags: , , ,

The macOS High Sierra update has netted a few weird upgrades where I had to start over, restore, or boot into safe mode (e.g. if you DEP a device that forces encryption in Sierra and then gets into a loop after a High Sierra update is started). So I’ve been using modifier keys more than usual. The following startup modifier keys are available in macOS High Sierra:
  • Alt or Option key: Access Mac Startup Manager, which allows you to select a wireless network and then choose which volume you want to boot to.
  • C: Mostly legacy, boots to volumes on a CD, DVD, or USB drive.
  • Command-Option-P-R: Resets the parameter RAM (or PRAM for short).
  • Command-Option-R: Same as Recovery Mode, but over the Internet.
  • Command-R: Boots into the macOS Recovery Mode, useful when doing an internet restore or using Disk Utility to repair a volume.
  • Command-S: Enables Single User Mode.
  • Command-V: Boots into Verbose Mode, so you see a log of everything during the startup process.
  • D: Diagnostics mode starts up using Apple Hardware Test or Apple Diagnostics utility, for checking the hardware of your system.
  • Option-D: Load Diagnostics tools over the Internet.
  • Eject key, F12, or mouse/trackpad button: Ejects any removable media inserted.
  • N: NetBoot attempts to boot to a NetBoot volume on a network.
  • Option-N: NetBoot automatically to the default boot image
  • Shift:  Safe Boot verifies the startup disk and repairs directory issues, disables user fonts and clears the cache for them, only loads required kernel extensions and clears the cache for them, clears system caches, and disables startup and login items.
  • T: Target Disk Mode, which sets the system as a disk that can then be mounted on another system (if FileVault encrypted, you may need to enter a password to mount the volumes on the disk).
  • X: Boot to a macOS startup disk when otherwise booting to a Windows partition or startup manager.

October 1st, 2017

Posted In: Mac OS X

High Sierra sees the Caching service moved out of macOS Server and into the client macOS. This means administrators no longer need to run the Server app on caching servers. Given the fact that the Caching service only stores volatile data easily recreated by caching updates again, there’s no need to back the service up, and it doesn’t interact with users or groups, so it’s easily divested from the rest of the Server services.

And the setup of the Caching service has never been easier. To do so, first open System Preferences and click on the Sharing System Preferences pane.

From here, click on the checkbox for Content Caching to start the service.

At the Content Caching panel, the service will say “Content Caching: On” once it’s running. Here, you can disable the “Cache iCloud content” option, which will disable the caching of user data supplied for iCloud (everything in here is encrypted, by the way). You can also choose to share the Internet Connection, which will create a wireless network that iOS devices can join to pull content. 

Click Options. Here, you can see how much storage is being used and limit the amount used. 

defaults read /Library/Preferences/

Which returns the following configurable options:

Activated = 1;
CacheLimit = 0; DataPath = “/Library/Application Support/Apple/AssetCache/Data”; LastConfigData = <BIGLONGCRAZYSTRING>; LastConfigURL = “”; LastPort = 56452; LastRegOrFlush = “2017-09-11 16:32:56 +0000”; LocalSubnetsOnly = 1; PeerLocalSubnetsOnly = 1; Port = 0; Region = 263755EFEF1C5DA178E82754D20D47B6; ReservedVolumeSpace = 2000000000; SavedCacheDetails = {
SavedCacheSize = 0;
ServerGUID = “EB531594-B51E-4F6A-80B9-35081B924629”;
Version = 1;}

This means that all those settings that you used to see in the GUI are still there, you just access them via the command line, by sending defaults commands. For example, 

defaults write /Library/Preferences/ CacheLimit -int 20000000000

You can

AssetCacheManagerUtil status

Which returns something similar to the following:

2017-09-11 11:49:37.427 AssetCacheManagerUtil[23957:564981] Built-in caching server status: {
Activated = 1;
Active = 1;
CacheDetails = {
iCloud = 4958643;
“iOS Software” = 936182434;};
CacheFree = 472585174016;
CacheLimit = 0;
CacheStatus = OK;
CacheUsed = 941141077;
Parents = ();
Peers = ();
PersonalCacheFree = 472585174016;
PersonalCacheLimit = 0;
PersonalCacheUsed = 4958643;
Port = 56452;
PrivateAddresses = (“”);
PublicAddress = “”;
RegistrationStatus = 1;
RestrictedMedia = 0;
ServerGUID = “EB531594-B51E-4F6A-80B9-35081B924629”;
StartupStatus = OK;
TotalBytesDropped = 0;
TotalBytesImported = 4958643;
TotalBytesReturnedToChildren = 0;
TotalBytesReturnedToClients = 166627405;
TotalBytesReturnedToPeers = 0;
TotalBytesStoredFromOrigin = 166627405;
TotalBytesStoredFromParents = 0;
TotalBytesStoredFromPeers = 0;

You can also use AssetCacheManagerUtil to manage tasks previously built into the Server app. To see the available options, simply run the command:

bash-3.2# /usr/bin/AssetCacheManagerUtil

Which would show the following:

Options are:
-a|–all show all events
-j|–json print results in JSON
-l|–linger don’t exit
2017-09-11 11:57:30.066 AssetCacheManagerUtil[24213:569932] Commands are:
moveCacheTo path
absorbCacheFrom path read-only|and-destroy

As such, to enable the server:

bash-3.2# /usr/bin/AssetCacheManagerUtil activate 

To disable the server

bash-3.2# /usr/bin/AssetCacheManagerUtil deactivate

To check if the server can be activated

bash-3.2# /usr/bin/AssetCacheManagerUtil canActivate

To flush the cache of assets on the server:

bash-3.2# /usr/bin/AssetCacheManagerUtil flushCache 

To reload settings if you make any changes:

bash-3.2# /usr/bin/AssetCacheManagerUtil reloadSettings

To move the database

/usr/bin/AssetCacheManagerUtil moveCacheTo "/Volumes/SONY/Library/Application Support/Apple/AssetCache/Data"

Finally, if you’d like to see the caching server your client system is using, you can run the following command:

/usr/bin/AssetCacheLocatorUtil 2>&1 | grep guid | awk '{print$4}' | sed 's/^\(.*\):.*$/\1/' | uniq

And if you use Jamf Pro and would like to use this as an extension attribute, that’s posted here: I didn’t do any of the if/then there, as I’d usually just do that on the JSS.

Note: To see how AssetCache interacts with Tetherator, see Tethered Caching of iOS Assets from macOS 10.12.4.

September 28th, 2017

Posted In: Mac OS X, Mac OS X Server

Tags: , , , , , ,

Next Page »