2011-04-19 96 views
0

我們有幾個Windows網絡共享位於共同位置(\\服務器名\共享),該共享位置擁有一組通用文件。這些份額在大約300臺服務器上覆制。我們有實際的複製,但我們遇到了一個意想不到的問題:服務器管理員將世界的一半管理權限改變爲我們共享的文件權限,並以創造性的方式破壞複製。跨多個網絡共享檢查文件權限?

在早期發現這種情況,我們想編寫一個腳本來檢查每個服務器的網絡共享,並確保該共享文件夾中存在&其內容的一些權限:

  • 每個人都需要讀訪問
  • 用戶X需求的變化/修改
  • 用戶Y需要完全控制

現在,到目前爲止,我有一個很好的腳本來檢查,至少每份額存在。複雜化源於(由於一個很好的活動目錄樹),用戶名在服務器(始終爲「DOMAIN/user」形式)上是一致的,但是它們的guid號碼是不同的。

到目前爲止,我一直在尋找cacls.exe和較新版本的Icacls.exe,但是這些選項令人困惑,似乎圍繞着改變訪問控制列表(我不想這麼做)。任何Windows內置的工具都是可取的,我只是不確定如何解決這個問題。

所以歸結爲:在某些任意服務器上,如果我只知道用戶的名稱,是否有辦法找出它們在給定文件夾上具有哪些文件權限?

+0

您可能想將此問題移至serverfault.com。 – 2011-04-20 02:23:46

回答

0

icacls確實允許使用「友好名稱」表格來指定用戶。這意味着你應該能夠使用人體風格的名字。所以'bob'應該指向你所有域名中的同一個人。

您可以授予用戶權限而不更改其他任何使用/grant:r這意味着「如果它已經沒有做任何事,否則添加它」。所以,

每個人都需要讀訪問
icacls \a\directory\somewhere /t /grant:r Everybody:(rd)

我想,你希望他們能夠列出目錄的內容,以及讀取。

用戶X需求的變化/修改
icacls \a\directory\somewhere /t /grant:r bobX:m

等。我認爲'm'足以表達'修改'權限。

ACL只是「權限」的另一個名稱。所以,如果你想改變權限,那麼你想改變ACL。