Dacav.org, screw up & restore This post marks the beginning of a new era! OK, maybe that's a bit of an overstatement. But yeah, I've finally registered a domain for this machine. Obviously I had to modify the configuration of certain parts of the system in order to reflect the registration. This boiled down to updating the host name in the provisioning system. Regarding said provisioning system: it is a very simple tool I've constructed from scratch. The basic principle is the same as ansible (that is, idem-powerful actions), although it does not rely on Python, or any other dependency besides what is already available on a vanilla target operating system (FreeBSD). It simply leverages SSH and the POSIX shell. As any not-invented-here-syndrome byproducts, it has some obvious downsides. Most notably: (1) it is tailored for one target system, and (2) it is not as tested as popular products such as Ansible. The second point is interesting in that it might be seen as a disservice, but it helps a lot in gaining experience. Obviously I don't care much if the site is down for a while: my salary and life do NOT depend on it. I'm here to maximize the FUN. Speaking of screwing up, since the remote file copying mechanism relies on tar(1), the reconfiguration turned out to mess with file permissions, which is why the system stopped to work for every non-root user. I found some inspiration on this thread[1]. I've used mtree(1) against BSD.root.dist[2] to find and repair the base system path that I damaged. Some of the broken permissions turned out to be under /usr/local/, for which I had no mtree(1) specification. Everything was correctly restored by: - Carefully removing /usr/local and /var/db/pkg - Re-running the setup script - Exercising the back-up restoration The next thing is to put toghether a mtree(1) specification for the parts touched by the setup scripts. .[1] https://forums.freebsd.org/threads/users-not-in-wheel-group-cannot-log-in-anymore.62491/ .[2] https://cgit.freebsd.org/src/plain/etc/mtree/BSD.root.dist