Fix the macOS High Sierra Root Issue with JAMF Pro

Fix the macOS High Sierra Root Issue with JAMF Pro

Update: Apple fixed the issue.

A critical flaw has been discovered in macOS High Sierra that lets anyone log in as ‘root’ with an empty password. It’s fixable via this Apple guide.

But, as a System Administrator for hunderds of Macs, doing it automatically is better. So: a quick guide for JAMF Pro.

Could be useful for others:

Find Empty Root

Create an extension attribute that looks for users with empty root passwords. (Source)

#!/bin/bash

RESULT=$(sudo dscl . -read /Users/root Password)

if [[ $RESULT == “Password: ********” ]]; then

  echo “<result>haspassword</result>”

elif [[ $RESULT == “Password: *” ]]; then

  echo “<result>nopassword set</result>”

else

  echo “<result>unknown</result>”

fi

Scope all vulnerable devices

Create a Smart group that targets devices with nopassword or Unknown + High Sierra

Setting a password for root

Upload this package from Der Flounder

This package runs a script that sets a random password to the root user + sets its environment to /usr/bin/false

Fix it

Create a policy that runs the package + does an inventory update for all devices within the smart group.

The result:

Play Apple Podcasts on Sonos

Play Apple Podcasts on Sonos

We use Sonos at home to stream radio and music across our apartment. It’s a great system with a pretty decent app, but sadly it lacks AirPlay support to easily get media that’s played on an iPhone or iPad to the speakers.

I’m also an avid Podcast listener. I used to use Overcast, briefly switched to PocketCasts for its new Sonos integration, but I’ve currently moved back to Apple’s native Podcast app due to its new design, Siri integration and since I’m kinda hoping it’ll get support for the Watch someday.

Since I use the regular Podcast app, there wasn’t any clear way to AirPlay, sync or access those episodes on Sonos.

At least, not that I knew off.

But, while getting lost in Sonos’ new interface this morning, I discovered something: if you go to the Sonos app > Browse > On my iPhone, it now shows a Podcasts section at the bottom, and you can pick any downloaded episode on your device to play.

Sadly, it doesn’t sync playback status or time stamps (yet). And I have no idea happened to the album art. But I suspect they take it from the same source as Tesla does.

Here’s hoping AirPlay 2 will bring some better way of streaming media to Sonos.

Fixing the iPhone X Control Center

Fixing the iPhone X Control Center

I love my iPhone X. But if I got to change one thing, I’d change the way it gives you access to Control Center.

That upper right corner swipe is quite difficult to do one handed, and completely impossible when you’re a leftie.

I’d love to 3D Touch the home indicator to go to Control Center. Or have it available via multitasking. Or as a view on the right of the home screen similar to notifications on the left.

But for now, I’ve used Accessibility >> AssistiveTouch to embed a Control Center button on the bottom right of the Home Screen. It’s not pretty. But it works.

Demo

Sonos Network Issues

Sonos Network Issues

We use Sonos at the office for easy music-access across the entire building. We’ve got 8 Sonos AMPs linked to Bowers And Wilkins built-in ceiling speakers, combined with a couple of Play:3 and Play:1 units for smaller offices.

It’s an elegant system. We hooked up one radio, tuned to Studio Brussel to the line-in of one of the AMPs, thus combining one of Belgiums better radio stations with a zero-bandwidth solution.
It’s better to share the line-in of an AMP than to have a dozen Sonos devices all streaming high quality internet radio all day.

Users who do want something different can use the build-in Tune-In radio to pick a radio station of their preference. All hooked up to ethernet.

A perfect solution. Or so we thought.

Issues

For a while now we had some serious issues on the network. Switches would randomly lock, internet would grind to a stop and internal network traffic would just drop.

Frustrated and confused, because there was no obvious culprit to be found, I spent last weekend rewiring and checking our entire server-backbone. To make this process easier I decided to turn off any devices that weren’t necessary to work productively.

Accidentally I noticed that the network behaved a lot better after I disconnected the switch that contained all the Sonos devices. And said switch still acted weird even when unpatched from the rest of the network.

Turns out: Managed switches and wired Sonos is a big no-go. If you have more than one Sonos connected via ethernet, things may go wrong.

Since Sonos also talk to each other, they have the downside of possibly creating a Broadcast Storm on your network, and thus taking down a part or all of the network.

Luckily there’s a solution: either use a dumb unmanaged switch (not gonna happen), or adjust the Spanning Tree State settings of your switch(es). So a few configuration changes later, we again have a stable setup.

If you happen to have some managed switches, and think about hardwiring your Sonos to reduce the load on your wi-fi network: file this article for future use. It may save you from spending a sunny afternoon in a server room surrounded by ethernet cables and switches.

Yosemite Open Directory Replicas

Summertime is the ideal time do to some heavy duty system maintenance. Lots of people are out of office, and those that are in house don’t mind a few hours of planned downtime. So today I finally upgraded our root- and fileservers from OS X Mavericks to OS X Yosemite. Finally, because it’s been I year since Yosemite was first released.

But since our fileserver is an Open Directory replica of our root server, updating one means updating the other, and combined with all the DiscoveryD issues that plagued OS X these last few months, I didn’t really dare to update any one of them.

Currently, when updating OS X server from one OS to another, we need to update its core OS first, which disables all server services. Only then can you download the new server.app for this new OS, which upgrades all server services and hopefully launches successfully afterwards.

But OS X Server 5.0, which is being developed in tandem with El Capitan, will be the first Server app that can be installed on a previous system, without the need to upgrade OS X first. Getting all our servers on OS X 10.10.4 now, means upgrading from Server 4 to 5 in the fall will be as easy as moving from Server 4.0 to 4.1.

Luckily the upgrades went smoothly this time without any major problems. And in less than three hours, which was far less than I expected.

A quick note on Open Directory Replicas

Unknown

Our two main servers are replicas of each other to spread the load over multiple servers. But after upgrading them according to Apple’s own guidelines, I somehow still destroyed our Open Directory Master-Slave link.

Turns out:
If you have passwords policies on your Open Directory Master, and your diradmin’s password does not comply with these policies, the Open Directory Replication will fail.
The solution: either change your diradmin password —and create an avalanche of permission troubles— or easier: temporarily disable your policies before relinking both servers.

Hiding the iTunes Music Store

Shortly after Apple released Apple Music last week plenty of people started posting various tutorials on improving the app’s interface. My favorites so far are:

Music.app

Hiding @Connect

You can hide @connect and replace it with the playlist icon by going to Settings > General > Restrictions. If you turn off Apple Music Connect, the Connect icon is replaced with Playlists in Music app.  Update: Apple removed this option in iOS 9 beta 3.

Usage

You can check which songs are downloaded and how much space they use on your iOS device by going to Settings > General > Usage > Manage Storage > Music.

Update For You

By going to Music > Profile icon top left > Choose Artist for you, you can run the Setup process again and select other or better genres and artists.

Change the icon of a Playlist

You can even change the icon of a playlist, replacing the 4×4 grid of album art with a custom photo by opening iTunes on the Mac and dragging a square image on top of the current image. iTunes will even change the header color to match your custom art.

albumart

iTunes Store

Cool tweaks, but they only apply to the Music app. What about the iTunes Store? Now that streaming is native on iOS, and integrated into iTunes, I don’t have any use for the music part of the iTunes Store anymore.

Luckily, you can hide music in the app, and put the remaining parts front and center. Which, in my case, means turning the iTunes Store app into a dedicated Movie Store app.

Somehow it’s a shame Apple didn’t fully exploit Apple Music launch to strip the iTunes Store app on iOS into separate parts. If they can put the iBook Store into iBooks, surely they can put the iTunes movie store into Movies.app? Maybe that’s something they’ll do once the Apple TV and video platform are relaunched?

nomusic_result

How to hide music in the iTunes Store

  • Open the iTunes Store app
  • Click on the More-ellipsis icon in the toolbar
  • Press Edit top right
  • Drag any of the remaining icons on the Music icon (I picked purchases)
  • Rearrange the toolbar if needed
  • Press Done.

nomusic_setup

Moving from Spotify to Apple Music, an easier way

Moving from Spotify to Apple Music, an easier way

Untitled-1

Update 04/04/2017

There’s an easier way: Stamp Music

Original article

Yesterday I posted a guide to move from Spotify to Apple Music. It involved a lot of manual labor and I ended my disclaimer with a request for a script that would match songs better.

A day later, someone send me a link to this Github Page, that solves that issue and promises a way better import. The script is currently running on my Mac and takes a while, but I’m already seeing a whole lot more songs showing up.

For those who speak Dutch: OneMoreThing.nl did a nice write up of the procedure that’s less technical.

Screenshot 2015-07-02 20.27.01

Moving from Spotify to Apple Music

Moving from Spotify to Apple Music

Untitled-1

Update 04/04/2017

An even easier method: Stamp Music

Update 02/07/2015

There is an easier and better way: link

Original Article

Apple released Apple Music yesterday, and as often happens when a good service arrives later on the market: users need to migrate their data from existing solutions to the new one. Although Apple offers a convenient way to migrate from Beats to Apple Music, users of other platforms aren’t offered an easy solution.

After Googling around and playing with a couple of Spotify Exporters I’ve figured out a way to export my Spotify playlists to Apple Music.

Disclaimer

This procedure requires a lot of manual labour. Most of it could be scripted, but since I only wanted to migrate my starred songs, I didn’t really botter.

Secondly, the import into Apple Music is based on track name, artist and album, and Apple only imports songs that 100% match the iTunes Store. So not all songs can be imported, but most of them do

What doesn’t get imported:

  • Spotify calls an album The Social Network, and Apple calls it The Social Network (Soundtrack)
  • Spotify has it written as Nick Cave and The Bad Seeds, and Apple used Nick Cave & The Bad Seeds.

Screenshot 2015-07-01 18.30.05Once you can export the song data out of Spotify the only work you really have is converting the file from a pattern that works for Spotify to one that Apple understands.

What bothers me a lot, and that’s currently out of our hands, is the 60% succes rate based on the way tracks match Apple’s database. If someone has a script that can search the iTunes Store for a better matching title based on the export from Spotify, feel free to share it.

Part 1: Getting data out of Spotify

  • Go to Exportify and authenticate with your Spotify account.
  • Select a playlist you would like to migrate and click the Export button.
  • A new tab opens with a text based view of your playlist, do a Select All and copy to BBEdit or your text editor of choice.
  • Replace the comma’s with semicolons to convert the data into a csv file Numbers can read.
  • Save as export.csv

If you want to verify the validity of the file you can use Quicklook to check if all the colums are correctly aligned. Often a misplaced , or ” in the middle of a songtitle can mess things up. Luckily this is easy to solve by either removing the character or by putting a backslash in front of it.

Part 2: Convert to iTunes Playlist format

  • Open export.csv in Numbers
  • Delete all columns that aren’t Artist, Album, Name, CD, Track
  • Sort alfabetically for convenience
  • Open this template file in Numbers. It contains all the necessary headers for iTunes to match tracks when you import it later.
  • Copy the corresponding columns from the first numbers file to this new one.
  • Export again as a your_playlist_name.csv and pick Unicode UTF-8 as a type.
  • Finally, open the csv in BBedit and replace the semicolons with a TAB so iTunes can work with it.

Part 3: Import into iTunes

  • Open iTunes 12.2.2
  • Make sure you have Apple Music enabled and are logged in correctly to your account.
  • Go to File > Library > Import Playlist and pick your_playlist_name.csv
  • iTunes will take a few moments to match the songs and a new playlist should appear with your songs.

14

testflight

Last year Apple released TestFlight, their in-house beta testing platform that allows Developers to easily distribute beta’s to testers. Throughout the year I tried (and bug reported!) a lot of apps this way, and I collected a nice set of (mostly expired) beta’s.

The months after WWDC are traditionally a beta season, when not only iOS, but also plenty of third party developers, are trying out new things, and bug-fixing their apps to become compatible with the new API changes.

Since most of the TestFlight Apps in my list are currently Expired, and a couple of developers are moving their last iPad only apps to a Universal model, my TestFlight contains a lot of stuff that will probably never be updated.

It’s easy to clear the list though: just swipe to the left on the app, select Unsubscribe, confirm and the app is gone from your list. Extra benefit for the developer: they gain 1 slot in their list of 1000. (Or is it 2000 now?)

Rock Werchter with an Apple Watch

Next week I’ll be enjoying four days of music at Rock Werchter. I love festivals and enjoy both listening to bands I already know (come on Dave Grohl, heal your leg!), and discovering new bands.

Werchter is one of Belgian’s biggest festival and it has multiple stages with bands playing at overlapping times. A few years ago I used to carry a paper program around the park, upgraded to a screenshot of the program on my iPhone’s homescreen a few years later, but this year I thought: why not use my Apple Watch? 

Checking when the next band comes up takes only a glance, I’m far less likely to lose my Watch than my iPhone in a crowd (moshpits) and — when it comes to easily glanceable information — the Watch is king.

I decided that, until native apps are available in September, the easiest approach at this moment would be the creation of a separate calendar in iCloud which contains all the performances as events. I can add that calendar as a glance to the Apple Watch (I’ll probably use the Modular watchface) and voila, a Festival schedule on my wrist.

festival

The festival’s website only offers an overview and no downloadable .ics-file, so getting the program on the Watch required some scripting I copied the schedule to Drafts, used a bit of Javacript to prepend each line with a date, and append a location (the stage name) followed by /w to point it to a new Werchter calendar I created in advance.

I ended up with a long list of performances:

  • 25/06 14:00 – 14:50 Marmozets at Main Stage /w
  • 25/06 15:30 – 16:30 Eagles of Death Metal at Main Stage /w
  • 25/06 17:15 – 18:15 Rise Against at Main Stage /w
  • 25/06 19:00 – 20:00 Florence + the Machine at Main Stage /w
  • 25/06 21:00 – 23:30 Foo Fighters at Main Stage /w

Up next: getting this list, which is formatted in a parseable string, into Fantastical. I used this Drafts‘s Action to batch import all the events. After seeing my iPad quickly flipping back and forth between Drafts and Fantastical for a few minutes, everything calmed down and I ended up with a nice overview of all the performances in my Agenda.

So next week while ordering a fresh pint and listening to some awesome band, I can quickly glance at my Watch and see if I how long they’ve got left, and if there’s still time to play that one hit song they didn’t play yet.

AplWatch-Modular-PR-PRINT

After finishing this small project I realised that watchOS 1 only shows the current event on the watchface. If I easily want to see upcoming bands, I either need to open the Calendar or Fantastical app each time.. or install watchOS 2 and use the awesome Time Travel feature. It’s tempting..

For those who want to skip those steps and quickly import the schedule into iCal: here’s a downloadable ics-file..