2014-01-21 137 views
3

我需要能夠檢查所有these用戶權限和權限。如何獲取用戶權限和Windows用戶帳戶的權限

我試圖使用令牌來訪問這些,但是這隻能完成特權列表。我檢查了this librarythis one,但無法找到解決方案。是否獨立完成每項指定權限/特權的測試的唯一方法?或者我可能會無能爲力。

任何幫助正確的方向將不勝感激!

+1

對文件的訪問權限與文件存儲在一起,而不是用戶帳戶。基本上你必須枚舉所有文件。那麼,這是一個XY問題嗎?你爲什麼需要這個? – MSalters

+2

例如,SeLogonRight無法通過訪問令牌進行檢索,因爲它是一種權利而非特權。使用訪問令牌是我可以考慮這樣做的唯一方式,所以我不知道如何檢查是否爲用戶啓用了此權限。我不確定你在列表中指的是哪一個。 – Jon

回答

5

我相信唯一的方法是使用LsaEnumerateAccountsWithUserRightLsaEnumerateAccountRights查詢LSA策略。因爲不需要直接分配權限(即可以將權限分配給組或安全基元,如EveryoneINTERACTIVE USERS),您需要枚舉用戶令牌中的SID並交叉引用此與LSA政策。

+0

太棒了!我會放棄這一點,謝謝你的迴應! – Jon

+0

但是如果組內有一個組呢?是否必須遞歸地遍歷這些? –

+1

@zespri:如果您有一個用戶令牌可以使用,請不要使用它,因爲它已包含所有嵌套組。如果你只有一個用戶名,那麼你需要自己做遞歸。理解。@HarryJohnston, –