Monday May 22, 2006 Sometime ago I wrote a blog entry about the ACL support in GNOME. I have been working on that for sometime, and currently the ACL support is working alright, so I think we ought to think about including all that stuff into GNOME 2.16.
The two modules affected by all these changes were: gnome-vfs and nautilus. In the case of gnome-vfs, Christian created a branch to work on this some time ago. We wrote down the base classes and two back-ends supporting both, POSIX 1003.1e for Linux, and Solaris system calls. The Nautilus interface is working as well, and in a previous post I uploaded a screen-shot. I have fixed a few minor issues since I captured that image, but it basically remains the same.
The original idea was to put all the VFS changes back into GNOME 2.14, but I wasn't completely sure about it and we ended up delaying it for GNOME 2.16. Now that 2.16 is approaching we should think of merging all the changes into HEAD.
However, there is something important that we didn't take into consideration: We are only supporting the most basic ACLs scheme. I think the base classes in gnome-vfs are flexible enough to handle more complex and modern ACL systems, and we should write down the back-ends before making that interface stable.
There are some file systems that support ACL in a much more flexible way to what Linux or Solaris do by default. In the case of the Linux file systems like ext3 or reiserfs, and the Solaris UFS, they support only the basic stuff that you could expect of a ACL system. In most of the cases it is fair enough, so at first look, it shouldn't be a big issue for anyone if we go ahead only with the two current back-ends.

However, there are ACL systems much more powerful than those ones. For example, the Windows NTFS ACL system (which is currently supported by Samba) is much more flexible. We have also ZFS (Zettabyte Filesystem) included in OpenSolaris, which implements the ACL scheme described in the RFC 3530.
If you take a look at the RFC or to some of this blogs:
Currently Solaris ZFS implements many of the features of the new ACL scheme, but as far as I know, the rest of the file systems don't support anything even similar to it; although I guess/hope other free operating systems like Linux or the BSDs will support it soon
I have done some work some to support the RFC3530 ACL scheme in gnome-vfs. It isn't finished though, so I'm going to keep working on this and committing the changes into the acl branch of the gnome-vfs module. The idea is to implement it all before GNOME 2.16 is released in order to ensure that the access control list related API supports all these new features.
The next step will be to redesign the Nautilus related stuff. Currently, there is a patch available that hasn't gone upstream yet. Some days ago, I talked with Alex Larsson about this during the last OSDL Desktop Architects Meeting in Mainz, so I hope he is going to review it soon :-).
The idea is to check the capabilities of the file system in which we are working. If it support all the advanced features of ZFS or NFS4, Nautilus should allow the user to see and manipulate all its properties, otherwise it should show something close to what the current patch shows: a quite simple ACL management dialog from which you can add, remove and modify ACL entries, and "default ACL entries" in the case of the directories.
So, summarizing: The ACL support for GNOME is ready and working. However, we're working to support the new ACL features included in the most advanced file systems like ZFS.