- setup a collection of clients that are all workstations.
- grant the following rights only to the group or user (suggest using groups) on the class level to collections:
- if the group/user has any other permissions to the class level, make sure that gets removed.
- grant the group/user instance level permissions to the collection that you created in the first step with the following rights:
- read resource
- use remote tools (where wanted/applicable)
i'll explain a few things here. what you've done is removed class level read permissions to any collection in sms. now any time the user creates a new collection, any membership has to be validated against a specific collection - be it static (direct) or dynamic (query). in this case, they only have rights to read the information from the collection created in step 1.
you don't have to grant "modify" rights as stipulated in step 4. do this only if you want the user to be able to create subcollections under the collection created in step 1. modify does not mean that they can change the membership in the master collection. even the membership rules of this collection require validation against the master collection. since the master collection is itself... the most they could do is remove items but not add any more than what's defined initially. cool stuff. thanks eric.
update: since having posted this, i've modified step 4 to add "read resource" and "use remote tools". a new member of my team pointed out that without "read resource" rights, advanced query functions like subselect are not available.
here's the link for the script: http://marcusoh.blogspot.com/2005/09/sms-security-script.html