Yes, as already noted, a home directory share point is one that has a dynamic mount record for user homes in an LDAP domain to which the client and server are bound (and the server may host as well). That share point serves as the "Users folder" for users who have network homes.
A network home directory share point should not be confused with a collaborative share point, which is a shared folder that multiple users or groups can read from and write to. The problem isn't really the type of share point; rather, it's the way in which the Trash is designed to operate:
Each user has his/her own trash, located in his/her home at ~/.Trash. If the home is local (in the Users folder, by default), then a Sally's trash is in /Users/sally/.Trash. Joe's trash is in /Users/joe/.Trash. When Joe empties the trash, it doesn't affect Sally's trash, since they are two separate folders.
In the case of a network home, the dynamic automount would put mount Sally's home directory share point in /Network/Servers/server-hostname/path/path/.../home-directory-share/sally. So Sally's trash folder would be created within that path, where it's still separate from Joe's.
There is a good reason why share point-based deletion doesn't use a trash. The ability to delete a file or folder is only possible if:
* For basic POSIX permissions only (no special POSIX bits, no ACL entries): The user in question receives the ability to delete an item if he/she has POSIX read and write to the item's parent folder. Permissions of the individual item do not matter.
* When using the POSIX sticky bit (1---), the user in question can delete the item only if he/she has POSIX read/write to the item's parent and is the POSIX owner of the item. An example of these permissions can be found in /Users/Shared - all users can read and write to the folder, but only the user who "put the file or folder there" - the POSIX owner - can delete it.
* With ACLs, the ability to delete an item is possible if the user in question's applicable ACL entries for the item grant the following effective set: 1. The delete control for the item or the delete_child control for the item's parent is allowed for the user; AND 2. it is not the case that both the delete control on the item and the delete_child control on the parent are denied.
But back to the problem of accidentally deleting a file: You could simply set up Time Machine to back up your share points on the server to another drive local to the server computer. This way your server would maintain its own backup. Now, by default, the backup interval is once an hour, but you
can change that if you want. You can manually start a Time Machine backup with this command:
*sudo /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper*
Or you could change the value of the
StartInterval key in /System/Library/LaunchDaemons/com.apple.backupd-auto.plist. The value represents the amount of time, in seconds, between Time Machine backup attempts. If you decrease it to say 360 (once every six minutes), your server would perform incremental backups ten times more frequently than by default (every hour or 60 minutes). I'd do some testing with this, because I think you may be left with only up to the most recent 24 backups for any one day, which puts your restoration window somewhere between 138 minutes and 144 minutes in our example. In other words, test it out first!
--Gerrit
Message was edited by: Gerrit DeWitt