To view parent comment, click here.
To read all comments associated with this story, please click here.
The idea of root is inherently insecure, because if that is compromised, everything is compromised. Because of that, your system is as secure as the least secure process running as root on a UNIX machine. The upside is that this allows for something that is extremely simple to wrap your head around.
ACLs allow a far more fine grained approach to security... "
On any computer system, there is going to be at least one user who is all powerful. That is unavoidable. The only thing ACLs give you is the ability to give different permissions to different users. The granularity is good. But you can't knock UNIX for having root. And besides, you do get ACLs with UNIX nowadays anyway, at least you do in Linux. If you need to.
You can't just talk about UNIX security as a generality. Most of modern UNIX operating systems have ways to deal with containing the all mighty root. The BSDs have TrustedBSD (MAC), Secure Levels and Jails. Linux has SELinux (MAC), UML, and chroot(). Solaris has Zones and MAC. All of these also support POSIX ACLs. In the case of Solaris, it also support NFSv4 style ACLs which are very similar to NT ACLs. FreeBSD should also get this in the near future.
Even though NT doesn't have the concept of a super-user, for all practical intents, if an admin account is compromised, you're still hosed because the ACLs pretty much give admins carte blanche access anyway.
NT style ACLs are also really easy to get wrong (most permissive access rather than least permissive access), and its non-trivial to verify that any particular entity has the access that you think they do.
The original poster wasn't talking about that though, he was talking about the whole user/group/other thing compared to the NT ACLs.
Granted, which is why absolutely nothing should ever be run as an admin user on an NT system. You have very fine grained controls, so you should make least priviledged users to run your services under.
I actually mentioned that in my origional post. The verification got alot better with vista, because you now have an "Effective Permissions" tab that tells you what it ends up evaluating to for a given user. What is still missing though is why it evaluated to that, which can be a real pain to track down, even with the effective permissions tab.




Member since:
2006-02-05
The idea of root is inherently insecure, because if that is compromised, everything is compromised. Because of that, your system is as secure as the least secure process running as root on a UNIX machine. The upside is that this allows for something that is extremely simple to wrap your head around.
ACLs allow a far more fine grained approach to security, both in regards to root/no root and in regards to cascading permissions. The other edge of this is that it drives the complexity way up from the traditional UNIX DAC approach. On windows, the tooling has gotten a hell of alot better with Vista and 2k8, but even though I know what I am doing and there is a GUI to show me effective permissions, I still sometimes sit there scratching my head wondering where something came from.
All that to say that I actually agree with you that a UNIX approach would be more appropriate for home users, because they dont stand a chance in hell of figuring out ACLs, but that UNIX style ugo is not the end all of security paradigms.