Von Zeit zu Zeit stoße ich auf eine Datei, deren Besitz ich übernehmen muss. Normalerweise verwende ich cacls
zum Ändern von ntfs-Berechtigungen, aber es scheint keinen Besitz zu haben. Unter * nix würde ich sowas laufen lassen chown me:me <file>
. Gibt es ein Windows-Äquivalent zu chown
?
34
Antworten:
subinacl ist das Power-Tool eines Windows- Systemadministrators für alles, was mit Besitz und ACLs zu tun hat. Sie können den Eigentümer auf eine andere Person als Sie selbst ändern ( dies ist mit der GUI nicht möglich ).
Auf diese Weise können Sie die Berechtigung für einen beliebigen Benutzer festlegen, ohne ein Administrator sein zu müssen (wie ich glaube, dass takeown.exe dies erfordert).
quelle
Sie suchen nach "TAKEOWN.EXE", das erstmals in Windows Server 2003 als Standardkomponente verwendet wurde, und ich glaube, dass ein Resource-Kit-Element bereits vorhanden ist. Es ist unter Windows 7 und möglicherweise auf neueren Systemen verfügbar.
/r
Führt die Operation rekursiv für alle untergeordneten Elemente des angegebenen Ordners aus. Im Gegensatzsubinacl
dazu müssen Sie sich als der Benutzer anmelden, mit dem Sie den Besitz übernehmen möchten. Sie können der Gruppe "Administratoren" auch einfach den Besitz zuweisen.Hier ist eine Kopie der Dokumentation, wie auf SS64 erhalten :
quelle
Übernehmen Sie das Eigentum und die vollen Rechte an der Mappe und allem, was sich darin befindet:
Stellen Sie sicher, dass Sie die Eingabeaufforderung als Administrator starten!
Ich musste als Administrator eine Eingabeaufforderung starten, diese funktionierte bei mir in Windows 8.1. Unter Windows 8.1 musste ich nach "command" suchen und mit der rechten Maustaste auf das Eingabeaufforderungssymbol klicken. Für mich, um die Option "Als Administrator ausführen" zu sehen. Ich hatte eine Eingabeaufforderung in meiner Taskleiste, aber wenn ich mit der rechten Maustaste darauf klicke, wird die Option "Als Administrator ausführen" nicht angezeigt.
In Windows 10 sollte "Als Administrator ausführen" als Rechtsklickoption verfügbar sein.
Syntax für Takeown :
takeown Referenz .
Icacls-Syntax :
icacls Referenz .
quelle
Ich weiß, dass dies ein sehr alter Beitrag ist, aber es gibt einen Weg, der in Windows 7 und neuer eingebaut ist (möglicherweise in Windows Vista, aber ich bin mir nicht sicher). Führen Sie Folgendes an einer eskalierten Eingabeaufforderung in dem Ordner aus, den Sie zurücksetzen möchten.
/t
Weisticacls
an, die Operation rekursiv auszuführen.Der erste Befehl setzt den Besitzer auf den zurück, der über die Umgebungsvariablen angemeldet ist. Natürlich kann stattdessen ein bestimmter Name verwendet werden.
Der zweite Befehl erzwingt dann, dass die Berechtigungen für alle untergeordneten Ordner und Dateien in der Struktur neu vererbt werden.
Hoffe das hilft jemandem in der Zukunft.
quelle
Vielleicht möchten Sie einen Blick auf SetACL werfen , das Schweizer Taschenmesser für die Berechtigungsverwaltung. Hier ist ein Beispiel, wie Sie "Administratoren" den Besitz aller Dateien auf Laufwerk C: zuweisen und den Vererbungsschutz für alle untergeordneten Objekte auf einmal entfernen:
Sie können auch hinzufügen
-silent
.quelle
In Windows Server 2003 R2 (und höher) können Sie das integrierte Tool icacls.exe verwenden , um den Besitzer über die Befehlszeile zu ändern, sowie alle herkömmlichen cacls.exe-Manipulationen, auf denen es erweitert wird ...
Beachten Sie, dass icacls.exe standardmäßig den Modus "Bearbeiten" verwendet, während cacls.exe standardmäßig den Modus "Ersetzen" verwendet - eine willkommene Änderung für diejenigen von uns, die (mehr als einmal) von dieser kleinen Nuance von cacls gebissen wurden!
quelle
Verwenden Sie für Windows 2003, 2008 oder Vista oder 7 Takeown .
Verwenden Sie für Windows 2000 Fileowners.pl .
quelle
Eine andere Alternative ist fileacl. Es ist klein und kann im Gegensatz zu den meisten Windows-Utils das Flag "erben / nicht erben" für das Objekt setzen / deaktivieren .
quelle
Ich habe mit Windows Tools eine Lösung gefunden: cacls
quelle
takeown /f *.jpg
icacls *.jpg /grant "Everyone":F
(Beachten Sie, dass in nicht-englischen Windows "Jeder" möglicherweise nicht vorhanden ist, z. B. in deutschen Windows funktioniert es nur mit "Jeder" - echt bescheuert, dass Windows Befehlsoptionen übersetzt!)quelle