Category Archives: Mac OS X Server

Mac OS X Server Mac Security Mass Deployment

More Command Line Service Control In OS X

The serverctl command can be used to start and stop services in OS X Server. Use serverctl with a list verb to show a list of services:

serverctl list

Grab a service (without the quotes) and feed it back into serverctl with the enable option and a service= option to identify the service:

serverctl enable

Or disable, using the disable verb:

serverctl disable

Mac OS X Mac OS X Server Mac Security

Use scp To Connect To A Remote Mac And Copy A File

Use scp to connect to a remote host and copy a file. To do so, use the -E option, followed by the source file, in this case the path for that file is ~/elcap.dmg. Then do the username followed by a : and then the password. Those credentials are then being used on the server defined by the @ symbol and then the fqdn of the host, all together here being where krypted is the username, mrrobot is the password and is the hostname of the target box running ssh. Then just list the path and filename of the target. In this case, it would be /Users/krypted/Desktop/elcap.dmg:

scp -E ~/elcap.dmg

Mac OS X Mac OS X Server Mac Security Mass Deployment

Mavericks Server: Enable APNS Debug Logging

Troubleshooting push notification communications between OS X Server and Apple’s Push Notification can be a challenge. Especially with Profile Manager. One great tip I’ve learned over the years is that the APNS daemon, apsd, has a debug mode. To enable APNS debug logging, run these commands:

defaults write /Library/Preferences/ APSLogLevel -int 7
defaults write /Library/Preferences/ APSWriteLogs -bool TRUE
killall apsd

Then use tail -f to watch the apsd.log file at /Library/Logs/apsd.log. Be wary, as this can fill up your system. So to disable, use these commands:

defaults write /Library/Preferences/ APSWriteLogs -bool FALSE
defaults delete /Library/Preferences/ APSLogLevel
killall apsd

Mac OS X Mac OS X Server Mac Security

A Comprehensive List of OS X 10.x Error Codes

I just put a new page up based on a  parsing thing I was working on the other night. Basically, it lists the error codes in OS X 10.x by type. Enjoy:

iPhone Mac OS X Mac OS X Server Mac Security Mass Deployment

Use Verbose Logging With Profile Manager

Verbose logging can help you isolate a number of problems with Profile Manager. Turn on verbose logging by writing a debugOutput key with a value of 3 into /Library/Preferences/ using the defaults command:

defaults write /Library/Preferences/ debugOutput 3

Once set, restart the daemon using killall:

killall -u _devicemgr

To disable, just write the key with a blank value:

defaults delete /Library/Preferences/ debugOutput

Then restart the daemon again:

killall -u _devicemgr

Bushel Interviewing Mac OS X Mac OS X Server Mac Security

Part 1: Interviewing Pepijn Bruienne

I count myself very lucky that I got to interview Pepijn Bruienne, who interviewed me some time ago. Both, on the AFP548 podcast. Here’s the first part of me interviewing Pepijn!

Mac OS X Mac OS X Server Mac Security

X World: See You At The Sydney Mac Conference

I’ll be doing a couple of presentations in Sydney on July 9th and 10th at X World. Judging from the sessions in past years, it looks to be a great time that’s sure to make you smarter!

Screen Shot 2015-03-16 at 10.56.06 AM

If you’re able, check it out at

Bushel iPhone Mac OS X Mac OS X Server

Learning iOS Security Now Available for Pre-Orders

Boom. 3 books in about 6 months. The next, and likely last for a few months at least, book is finally ready. Written with Allister Banks, Learning iOS Security is a look into iOS Security for those coming to the Apple platform. It’s meant for business, enterprise, infosec.



The first chapter, as I’ve done in a few previous books, was written as a quick and dirty “oh, this is all you’re gonna’ read, cool” type of thing. In security, 90 percent (or more) of the work is done in the first 10 percent of the time. I have this theory (unproven) that each percent represents a j curve in cost increase and when you hit 99, each .1 continues, then each.01, etc. No one can be truly secure.

Also, as I’ve done in the past, the final chapter looks at a few forensics options and tools. Allister was the best coauthor I’ve had to date. This was his book that I was brought in on. I didn’t have to do any of his work, and he held the chapters to a higher standard than the publisher. Truly, this is his book, I just contributed. Either way, Packt was great again and I hope you enjoy what we’ve done!

Mac OS X Mac OS X Server Mac Security Mass Deployment

Take Control Of OS X Server (Yosemite) Now Available

I’ve been light on posting here, mostly because I’ve been swamped with work, selling my old house, buying a new house, doing some crazy taxes, wrapping production on a new book and updating the Take Control of OS X Server book to Yosemite Server. Well, earlier this week I sold my house, got the next version of Bushel ready to rock and filed my taxes. Aaaaannnnnndddddd, the Yosemite version of Take Control Of OS X Server is now available at

Screen Shot 2015-02-05 at 2.24.54 PM

Boom. Will get back to my normally scheduled postings shortly!

Mac OS X Mac OS X Server Mac Security Mass Deployment Ubuntu Unix WordPress

Install Pow for Rails Testing On OS X

Pow is a Rack server for OS X. It’s quick and easy to use and lets you skip that whole update an Apache file, then edit /etc/hosts, ethane move a file, then run an app type of process. To get started with Pow, curl it down and pipe it to a shell, then provide the password when prompted to do so:

odr:~ charlesedge$ curl | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9039 100 9039 0 0 10995 0 --:--:-- --:--:-- --:--:-- 10996
*** Installing Pow 0.5.0...
*** Installing local configuration files...
*** Installing system configuration files as root...
*** Starting the Pow server...
*** Performing self-test...
*** Installed

For troubleshooting instructions, please see the Pow wiki:

To uninstall Pow, `curl | sh`

To install an app into Pow, create a symlink to it using ln (assuming ~/.pow is your current working directory):

ln -s /path/to/myapp

Then just open the url, assuming my app is


Pow can also use ~/Library/LaunchAgents/cx.pow.powd.plist to port proxy. This allows you to redirect different apps to different ports. When pow boots, it runs .powconfig, so there’s a lot you can do there, like export, etc. Once you’re done testing out pow, if you don’t decide it’s awesome, remove it with the following command:

curl | sh