4

我在理解某些特定文件權限行爲時遇到了一些問題。下面是重現步驟:Windows Server 2008 R2文件權限

  1. 登錄到服務器使用默認的管理員帳戶

  2. C語言創建一個文本文件(TESTFILE.TXT):\ ProgramData包含的任意文本

  3. 創建新的用戶帳戶並使其成爲管理員組的成員

  4. 使用新帳戶登錄並打開C:\ ProgramData \ testfile.txt

  5. 編輯文本並試圖挽救

一旦點擊保存,我帶有另存爲對話框,這表明我沒有必要的權限來編輯文件。考慮到新的用戶帳戶是管理員的成員,這看起來很奇怪。

當我查看文件的權限時,我可以看到列出了三個組:System,Administrators和Users。 SYSTEM和Administrators具有完全權限,但是,用戶只能讀取&執行和讀取權限檢查。

看起來,當我從新用戶帳戶打開testfile.txt時,它將在Users組的上下文中打開,儘管它是Administrators的成員,這是正確的嗎?這當然會解釋這種行爲。

對我來說,這是一個問題的原因是,如果我通過'以管理員身份運行'部署應用程序,普通用戶是否可以編輯我安裝到ProgramData的文本文件。

此行爲僅限於Windows服務器,還是在Vista和Win7中相同。

回答

1

這是由UAC造成的,作爲管理員組是特殊的,但是你可以不UAC提示訪問該文件的原因,是因爲你將不得不在文件系統上的顯式ACL對象,可以在不使用內置管理員組的情況下授予您訪問權限。

您可能是該文件的所有者,並且Creator Owner : Full Control的ACL將(默認情況下)存在。作爲所有者,您還應該在您的帳戶中看到明確的ACL,例如DOMAIN\Fly_Trap : Full Control

0

我剛剛在Windows 7上測試過,並且可以在ProgramData下寫入文件而沒有問題。你可以通過啓動一個提升的記事本來測試你是否有UAC問題(在開始菜單中單擊右鍵並以管理員身份運行)。如果提升的記事本可以寫入文件,那麼你打算以管理員身份運行的應用程序也將能夠。如果提升的記事本不能寫,那麼提升你的應用程序將無濟於事。

0

我在windows 2008 r2上測試過它。這是它假設的。它叫做uac。你創建了普通用戶,並且想要編輯(即使是使用本地管理員組)文件,該文件是所有者是管理員的。你不能這樣做,但你可以授予管理員權限並編輯該文件。

更多細節 http://en.wikipedia.org/wiki/User_Account_Control