Change background login screen in macOS Sierra

You can do this by editing system .plist's through defaults (tedious), or you can use Onyx for this (simple). Onyx is quite a capable utility and it's free - if you like it, donate a bit for the Author though he does a great job with this app.

You can do this by launching Onyx, entering your admin password and choosing the login tab: Onyx login tab

There are also tons of other options you can check out. Tinkering with Onyx is quite secure since you can roll back to defaults with one button press, so don't worry about bricking something - but still be aware what you click ;)

If you want to do this without any extra software, you would need to edit your defaults by importing/exporting them. I wrote a script for the exporting part, it writes each domain into a separate file for easier overview and keeps system namespace/user namespace separate + sorts out system/apple defaults from those that were changed/set by any software the user installed.

I use it mostly for filtering crap leftovers from tests to keep the defaults tidy- since the background/login is also set there- that's what you need to edit.

In some cases, you might need to parse binary .plist files, and this needs an editor that can parse those- easily done with TextMate (or Xcode if in need of "vanilla"). Hope that solves your problem.

Script is here: export-defaults.zsh