views:

115

answers:

2

I'm relatively new to SharePoint and am trying to put a bunch of Word files (that were on our network file server) into SharePoint. We have set up a document library that, by default, gives everyone access to everything. This is the desired top-level permission set because most items will work well this way.

The problem is that I have a bunch of documents I want to add and apply some specific permissions to. I can do this, but...please tell me there is some way I can do this for multiple documents at the same time. Attempting to do this one-by-one is a pain and I'm hoping for a better solution here.

Thanks very much in advance.

+2  A: 

You can create a folder and set permissions on it. See Office Docs, for the user view of things.

An alternative is to have several document libraries, each one for a specific purpose (generally available or secret stuff) and the set the permissions on each library.

Timores
That helps and led me to this site: http://www.siolon.com/blog/the-folder-less-sharepoint-paradigm/ with the following info: "Another big rea­son to not use fold­ers is the way Share­Point han­dles secu­rity. You’ll notice that secu­rity is done on the list level. You can set per­mis­sions on a folder which seems like a good solu­tion, but it’s only tem­po­rary. The best way is to use the groups for secu­rity on the list which inherit on up the site col­lec­tion, and when you need to aber­ate you can do so in a cleaner fashion." Since "lists" sound better for the long-term, how do create them?
mk
A big question mark regarding your question is: are you asking from a user point of view or from a developer's point of view ? From a user's point of view, another site would be better. From a developer's point of view, people here can answer.
Timores
@mk - a document library *is* a list; I think the implication is to put documents for everyone in one document library, and securables in another. Try to avoid item-level security if you can as it's very painful to manage as you found out.
x0n
@x0n - this...is not workable for me because I *have* to have some documents more secure than others. Even if I put them into a "Secure" library, a bunch of them would be one-off secure.@ Timores - It was from a user's perspective, but I happen to be a developer. Do you have a developer scripting solution that would help with this?
mk
+1  A: 

Personally (and it helps that I'm a powershell msmvp) I would use powershell to do this. Either v1 or v2 should suffice. If you run powershell on one of the servers in the sharepoint farm you will be able to load the sharepoint object model directly and programatically configure the ACLs on each document. Powershell can read the ACLs from the documents in the nextwork share quite easily:

dir \\server\Documents\*.* | get-acl |`
   select path -expand access | ft -GroupBy path

This example will read all files from the share, grab the NTFS ACL from each one, expand the ACL into ACEs and will group by the path. If powershell is not running on a farm server, you can still upload and configure security via one of the webservices. PowerShell v2 would be more suitable here as it has a great cmdlet called New-WebServiceProxy that will generate a proxy in a snap.

If you want some help with the specifics of the script, follow me on twitter @oising and DM me.

-Oisin

x0n
Thank you, Oisin, that's great. I may tinker with this approach because..doing it manually sucks.
mk