Hi 各位好
想請問一下,關於Windows Fileserver上面有設定不少資料夾,以及賦予特定的權限,但有時候資料結構多且深,還有牽扯到繼承問題,也不太方便一直切換使用者帳號逐一測試,想請問,有沒有關於權限的模擬測試軟體。
目前有測試過一些指令,但碰到問題,像是"Domain User"或是其他群組,如果使用檢查名稱後比對就會失敗,所以想詢問一下有沒有好用的工具?可以切換用戶針對多個資料夾模擬有無權限?
AccessEnum v1.35
可以列出權限。
列出我已經有使用指令對照了,但他不能模擬使用者吧?
這會幫你掃描所有子資料,並且把有讀/寫權限的使用者/群組列出來,你只要看你需要的資料夾的權限就能知道某使用者能不能讀寫了,這比模擬還好用吧?
如果群組很多,有部門群組,有專案群組混用,逐一比對太花時間,所以才想有沒有類似的工具。
我還沒看過可以模擬,等待別人提出。
嗯,我是有查了一下,我也沒發現,突發奇想而已。
Powershell 的查詢範例
參考自 https://community.spiceworks.com/t/get-acl-for-folder-and-subfolder-but-exclude-disabled-users/949638/4
查詢某資料夾及其子資料夾的ACL清單
$FolderPath = "\\server\share"
$Users = Get-ADUser -Filter { Enabled -eq $True } | Select-Object SamAccountName
$Report = Get-ChildItem $FolderPath -Recurse -Force | Where-Object { $_.PSIsContainer } | ForEach-Object {
$ACLs = Get-Acl $_.FullName | Select-Object -ExpandProperty Access
foreach ($ACL in $ACLs) {
$User = $ACL.IdentityReference.Value
if ($Users -contains $User) {
$Group = $ACL.FileSystemRights.Split(',')[0].Split('=')[1]
$Type = $ACL.AccessControlType
$Inherited = $ACL.IsInherited
$Folder = $_.FullName
[PSCustomObject]@{
User = $User
Group = $Group
Type = $Type
Inherited = $Inherited
Folder = $Folder
}
}
}
}
$Report | Export-Csv -Path "output.csv"
檔案總管內建的功能就可以模擬了,我想應該不會有人想開發吧!
不管是加帳戶還是群組都能看到權限列表,通常是用帳戶去檢查,
嫌不夠底下還有一個包含群組成員資格的功能,它可以加群組加到你爽為止
你的問題其實是組織資訊架構問題,
這不是一般檔案系統要協助處理的東西
假設公司有10個專案或者團隊要使用到檔案共享系統
A方案:建一個資料夾當根目錄>底下建立10個專案資料夾
權限套用:根目錄一個權限表,底下10個專案自己的權限表
B方案:建立10個專案資料夾
權限套用:10個專案資料夾有自己的權限表
有管理經驗的人只會往B方案走
走A方案的人,遲早遇到你現在遇到的這種問題
實務上很難乾淨切分這兩種情境。
管理的便利性跟使用者的便利性本來就是要互相配合
老闆不懂就要去溝通,讓老闆知道AB方案的優缺點
如果老闆還是那副麻煩是麻煩在你身上,跟我無關
那要嘛就是自己吞,要嘛就是自己寫程式去爬了建表
但是資料只要有人使用就會變化,你能顧到何時?
這不是技術問題,這是資訊管理的問題了,如果還要走稽核
我想這100%不會過關吧,像千層糕的權限表稽核看都不用看
以前垃圾可以不分類大家隨便丟一起進焚化爐處理
現在垃圾還能不分類丟去給焚化爐嗎?
有沒有工具可以做這件事情?
可以再等等看有沒有人有資訊,我是覺得科技再進步
會有新的工具減輕管理需求,但是你這是倒退的需求
權限無法往下繼承,導致要爬每層資料的權限表出來
我覺得這不是常態的正常需求,應該有的機率不大。