View Single Post
Old 06-12-2011, 10:27 PM  
Yil
Too much time...
 
Join Date: May 2005
Posts: 1,194
Default

You have two options for private directories. The first is to use a custom .vfs file for the user or their primary group (which would affect everyone with that as their primary group). The second method is to use the 'site chattr +h' command (see 'site help chattr') which turns an existing directory into a hidden directory to everyone but those explicitly granted access via the permission list. Thus you could give access to a list of users by name, group, user-flag, etc. The chattr method is the way I would go as it's much more flexible. With a custom .vfs file you can only hide top level dirs, but you can make any directory anywhere hidden with chattr. Only VM flagged users can see/modify the private dirs hidden attribute, but to everyone else who is granted access they work as a normal directory.

Use the custom "list/stat -Zal" feature (see 'help list') to have directory listings replace the group field of directory listings with a mangled form of the access list for the dir. Provides the user listing the dir has the VM flag.

NOTE: For any user to access a path they must have access to every dir in the entire path. Thus if you make the /GAMES dir hidden to everyone but those in the games group all subdirs under /GAMES accessed via that path are also hidden. The only exceptions would be pure virtual directories in some cases (there's a feature to help expose hidden dirs this way but I'm not aware of anyone using it), and a .vfs file that mounts subdirs of the /GAMES dir under additional names so it could be access some other way than through /GAMES.

Use 'site chattr' it's a better way to do things and updating multiple .vfs files is far more prone to errors over time as you forget to update it. Under either method just make sure that sitebot and/or any search results are set up to not report results under the hidden dirs.
Yil is offline   Reply With Quote