Warum erhalte ich einen Berechtigungsfehler, wenn "takeown" von der Befehlszeile aus ausgeführt wird?

580
Zhro

Ich bin Teil der Administratorengruppe. Ich habe eine Datei, die ich von mir in HOSTNAME \ Administrators ändern kann, und einfach über die Registerkarte "Sicherheit" in den Dateieigenschaften.

Ich kann auch dieses feine Skript aus dem Internet übernehmen, das ein Kontextmenü enthält, wenn Sie mit der rechten Maustaste auf eine Datei klicken.

Windows Registry Editor Version 5.00  [HKEY_CLASSES_ROOT\*\shell\runas] @="Take Ownership" "NoWorkingDirectory"=""  [HKEY_CLASSES_ROOT\*\shell\runas\command] @="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F" "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"  [HKEY_CLASSES_ROOT\Directory\shell\runas] @="Take Ownership" "NoWorkingDirectory"=""  [HKEY_CLASSES_ROOT\Directory\shell\runas\command] @="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t" "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t" 

Das Öffnen einer nicht privilegierten Eingabeaufforderung im Verzeichnis verweigert mir jedoch die Berechtigung, wenn ich "takeown" von dort aus aufrufe:

C:\path>takeown /f "file" ERROR: The current logged on user does not have ownership privileges on the file (or folder) "C:\path\file". 

Warum muss ich eine explizite Administratorberechtigung mit einer erhöhten Eingabeaufforderung aufrufen, wenn diese Registrierungssache, die von einem nicht privilegierten Explorer-Fenster aus aufgerufen wird, die Dinge ohne Probleme ändern kann?

2

1 Antwort auf die Frage

1
harrymc

Jedes Programm muss explizit die SeTakeOwnershipPrivilegeErlaubnis von Windows einholen, um den Besitz zu übernehmen .

Siehe Prozessberechtigungen, bei denen dies definiert ist als:

Bild

Es scheint also, als ob Windows Explorer diese Berechtigung selbst vergeben hat, diese wird jedoch cmdnur bei Ausführung mit erhöhten Berechtigungen erteilt. Ein cmdin Windows Explorer gestarteter Benutzer erbt seine übergeordneten Berechtigungen und kann somit den Besitz übernehmen.