Äquivalent von chmod zum Ändern der Dateiberechtigungen in Windows

Gibt es ein Windows-Äquivalent von Linux ' s chmod, um die Berechtigungen einer Datei zu ändern?

Author: nhinkle, 2010-02-08

8 answers

Greg erwähnungen attrib - but attrib isn ' t anywhere close to chmod - attrib kann schreibgeschützte / versteckte Attribute einer einzelnen Datei festlegen - es bietet keine feinkörnigen Steuerelemente wie icacls tut.

icacls setzt / setzt die Zugriffssteuerungslisten zurück, sodass Sie Rechte für einzelne SIDs und Gruppen erteilen/verweigern können. Es ist jedoch ziemlich kompliziert.

Hier ist ein Beispiel, das ich in meinem github gist gespeichert habe; Es setzt die Eigentums-und Zugriffskontrolle zurück liste für alle Dateien in einem Ordner und ist besonders nützlich, um diese lästigen zu beheben " Sie benötigen Berechtigungen von .. so führen Sie diese Aktion aus " insbesondere beim Verschieben von Dateien aus einer vorherigen Installation:

icacls * /reset /t /c /q 

Reset ersetzt die vorhandene durch die Standardliste.
/t wirkt rekursiv auf alle Dateien, Ordner und Unterordner
/q zeigt keine Erfolgsmeldungen an
/c weiterhin mit verbleibenden Dateien auch in einem Fehler auftritt.

Sie können auch Dinge wie Backup tun die vorhandenen ACLs & wenden sie über alle hinweg an. Schauen Sie sich ss64 an, das die verschiedenen Optionen und Schalter sehr gut erklärt.

 31
Author: Sathyajith Bhat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:16:54

Entweder cacls, xcacls oder mein persönlicher Favorit icacls wird wahrscheinlich tun, was Sie brauchen.

 14
Author: Bryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-02-08 10:41:26

Es kann (leider) kein genaues Äquivalent geben, da Linux und DOS / Windows Attribute für verschiedene Zwecke verwenden und (wie Chathuranga bereits sagte) das Sicherheitsmodell anders ist:

  • In Windows-Dateisystemen gibt es "hidden" (H) und "system" (S) Attribute, die in Linux kein Äquivalent haben; Dort werden Dateien ausgeblendet, indem dem Namen ein Punkt vorangestellt wird (.).
  • Es gibt kein Äquivalent zum Windows-Attribut" archive " (A) , entweder.
  • Es gibt kein Äquivalent zu den Linux-Attributen "executable" (x) in den Dateiattributen DOS/Windows.
  • Dort ist ein Äquivalent zum Windows-Attribut" directory " (D) (aber es kann trotzdem nicht geändert werden).
  • In Linux-Dateisystemen gehört jeder Eintrag genau einem Benutzer und genau einer Gruppe, und Lesen/Schreiben/Ausführen kann für jeden von ihnen und für andere erlaubt sein. ACLs (wie von Windows verwendet) sind noch flexibler, aber komplizierter als nun, und die Befehlszeilensyntax ist eine PITA (meiner bescheidenen Meinung nach natürlich)

Das DOS-Dateiattribut R (schreibgeschützt) ist diejenige, die als äquivalent angesehen werden kann: Dieses Attribut set ähnelt in etwa dem Attribut w für alle fehlen; aber die Berechtigung zum Ändern dieses Attributs unterliegt ACLs.

Es könnte cool sein, ein chmod/chown äquivalent unter Windows, vielleicht in einer Skriptsprache geschrieben, die wiederum attrib und cacls (oder Nachfolger), aber ich habe keinen.

 11
Author: Tobias,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-12-28 18:14:22
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C

Funktioniert wie ein Zauber, um Berechtigungen für einen Ordner für Domänenbenutzer zu ändern. Zusätzliche Informationen zu cacls und icacls.

 8
Author: MDT Guy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-12-28 19:57:03

Der Befehl attrib entspricht sehr einfachen Dingen (schreibgeschützte Archivflags) am nächsten. Dann gibt es den Befehl ACL (Access Control List) cacls. Nicht zuletzt, da Windows eigentlich ist Posix-kompatibel ist, werden die unix-like flags existieren. Wenn Sie das Cygwin-Toolset installieren, erhalten Sie ein chmod. (Ein wenig abseits des Themas, da Sie nach einem Äquivalent eines Unix-Befehls suchen, ist das Herunterladen und Installieren von Cgygwin möglicherweise etwas Interessantes für Sie.)

 5
Author: user27570,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-08-18 20:28:49

Ich verwende den Windows-Befehl takeown.exe, um die Dateiberechtigungen in meine aktuell angemeldete Benutzer-ID zu ändern: http://technet.microsoft.com/en-us/library/cc753024.aspx

 4
Author: Roman Kharkovski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-07-29 14:22:12

Für mich besteht die Problemumgehung darin, Cygwin zu installieren und den Ordner bin zum Systempfad hinzuzufügen. Wenn Sie dann "chmod" in der Befehlszeile ausführen, funktioniert es. Obwohl ich seine Richtigkeit nicht überprüft habe.

 4
Author: WHOIF,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-12-22 03:29:44

In Windows gibt es nichts, was als chmod bezeichnet wird, da sich das Sicherheitsmodell von Windows von Linux unterscheidet. Sie können den Befehl attrib verwenden, um die Eigenschaften der Objekte zu ändern. (Aber sie sind mehr in Richtung globaler Eigenschaften.)

 2
Author: Chathuranga Chandrasekara,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-02-08 10:33:05