Group policy for Unix
Quality Unix-based GPO support shock
Blog I was raised in the Red Hat world of Linux, starting with Red Hat 2, moving to Mandrake, and returning to Red Hat once more. Since then I have been using it through every iteration and have dabbled in Debian and Gentoo based distributions as well. Each camp has evangelical believers, but I tend to stick with Red Hat not because I think it is “better” than other distributions, but because it was what I was raised on.
Similarly, I have been dealing with Macs for a very long time. Mac business networking and management has come a long way, but it still isn’t a platform geared towards business use. It is possible to use Macs in an enterprise environment; there are thousands of businesses around the world that do. But, like Linux, Macs have spent so much time “empowering” the user of the computer that they have largely ignored empowering the administrators.
While I love Linux, and frankly couldn’t imagine a world without it, the lack of out-of-the-box support for policy-based management eats at me. Sure, if I wanted to write a bunch of scripts, and then write a script to deploy those scripts, I could. For more than 10 years, that sort of management is exactly how I have dealt with keeping herds of Unix boxen in line.
In Windows, if the configuration is stored in the registry - which it is for virtually every application - then you can manage it via a Group Policy object (GPO). If the .adm doesn’t exist to support your application, then knocking one together is often simpler than writing scripts to manage an application in Unix.
I wanted to compare Unix GPO setups to Microsoft’s Active Directory (AD) and Novell’s offerings, but I find that all the really good ones don’t so much “compare” to these directory services as “integrate with them.” The comparisons that can be made are largely “what kinds of things can I manage via GPO on Unix systems?”
When you create a GPO for a Windows system, you aren’t pushing a script out to the target system to get the job done. You are pushing out something much closer to an INI file: a simple list of variables, and their new values. GPOs are “inverse scripts”. The “script” that makes the configuration changes is a fundamental part of the Windows operating system.
Policy management for Unix is different. In Unix, every GPO system is little more than an abstraction layer between the systems administrator and a series of scripts that will execute on the target system. There is no common chunk of code that will read a list of variables and apply changes to a centralised database such as the Windows registry. Instead, configuration changes on Unix are stored either in text files or databases of formats unique to the application or module.
So policy management in Unix is much more difficult. Any vendor who attempts this task is choosing to learn how to modify configurations for every application and module that its policy sets support. Vendors also tend to offer you the ability to write your own policy scripts and integrate them into the system. It is a vastly more complicated undertaking than the Microsoft approach. Until I saw it with my own eyes, I would never have believed it was feasible.
And so to policy-based management for Unix-based devices. Similar to Microsoft’s AD-plus-GPO approach to management, there are now mature GPO based systems available for Unix.