2010-02-08 09:34:14 +0000 2010-02-08 09:34:14 +0000
63
63

Equivalent de chmod pour changer les permissions d'un fichier dans Windows

Existe-t-il un équivalent Windows de chmod de Linux pour changer les permissions d'un fichier ?

Réponses (8)

27
27
27
2011-08-02 17:10:18 +0000

Greg mentionne attrib - mais attrib n'est pas du tout proche de chmod - attrib peut définir les attributs en lecture seule/cachés d'un seul fichier - il ne fournit pas de contrôles fins comme icacls le fait.

icacls définit/réinitialise les listes de contrôle d'accès, donc vous pouvez accorder/refuser des droits pour des SIDs individuels et des groupes. Voici un exemple que j'ai enregistré dans mon github gist ; il réinitialise la liste de contrôle d'accès et de propriété pour tous les fichiers d'un dossier et est particulièrement utile pour corriger ces ennuyeux “Vous avez besoin des autorisations de … pour effectuer cette action”, surtout lorsque vous déplacez des fichiers d'une installation précédente :

icacls * /reset /t /c /q

Reset remplace la liste existante par la liste par défaut.
/t agit récursivement sur tous les fichiers, dossiers et sous-dossiers /q n'affiche aucun message de succès /c continue avec les fichiers restants même si une erreur se produit.

Vous pouvez également faire des choses comme sauvegarder les listes de contrôle d'accès existantes et les appliquer à tous. Consultez ss64 qui explique très bien les différentes options et commutations.

13
13
13
2010-02-08 10:41:26 +0000

Soit cacls , xcacls , ou mon préféré icacls fera probablement ce dont vous avez besoin.

10
10
10
2012-12-28 18:04:43 +0000

Il ne peut (malheureusement) pas y avoir d'équivalent exact, puisque Linux et DOS/Windows utilisent des attributs à des fins différentes, et (comme Chathuranga l'a déjà dit) le modèle de sécurité est différent :

  • Dans les systèmes de fichiers Windows, il y a des attributs “cachés” (H) et “système” (S) qui n'ont pas d'équivalent sous Linux ; là, les fichiers sont cachés en ajoutant un point (.) à leur nom.
  • Il n'y a pas non plus d'équivalent à l'attribut “archive” (A) de Windows.
  • Il n'y a pas d'équivalent à l'attribut “exécutable” (x) Linux dans les attributs de fichiers DOS/Windows.
  • Il est un équivalent à l'attribut “répertoire” (D) de Windows (mais il ne peut pas être modifié de toute façon).
  • Dans les systèmes de fichiers Linux, chaque entrée appartient à un utilisateur et à un groupe exactement, et la lecture/écriture/exécution peut être autorisée pour chacun d'entre eux, et pour les autres. Les ACL (comme celles utilisées par Windows) sont encore plus flexibles, mais aussi plus compliquées, et la syntaxe de la ligne de commande est un PITA (à mon humble avis, bien sûr)

L'attribut de fichier DOS R (en lecture seule) est celui qui pourrait être considéré comme ayant un équivalent : cet attribut set est à peu près comme l'attribut w pour tous étant manquant ; mais la permission de modifier cet attribut est soumise aux ACL.

Il pourrait être intéressant d'avoir un équivalent de chmod/chown sous Windows, peut-être écrit dans un langage de script, qui à son tour appelle attrib et cacls (ou ses successeurs), mais je n'en ai pas.

7
7
7
2012-12-28 18:26:58 +0000
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C

Fonctionne comme un charme pour changer les autorisations sur un dossier pour les utilisateurs de domaine. Informations complémentaires concernant cacls et icacls.

5
5
5
2010-02-08 11:37:51 +0000

La commande attrib est la plus proche de choses très simples (lecture seule, drapeaux d'archives). Ensuite, il y a la commande cacls de l'ACL (liste de contrôle d'accès). Enfin, puisque Windows est en fait compatible avec Posix, les drapeaux de type Unix existent. Si vous installez l'ensemble d'outils Cygwin, vous obtiendrez un chmod. (Un peu hors sujet, puisque vous cherchez l'équivalent d'une commande unix, télécharger et installer Cgygwin pourrait être quelque chose d'intéressant pour vous).

3
3
3
2014-07-29 14:22:12 +0000

J'utilise la commande Windows takeown.exe pour modifier les autorisations de fichiers en fonction de mon identifiant d'utilisateur actuel : http://technet.microsoft.com/en-us/library/cc753024.aspx

2
2
2
2017-12-22 03:29:44 +0000

Pour moi, la solution est d'installer Cygwin, et d'ajouter son dossier bin au chemin d'accès au système. Ensuite, si vous lancez “chmod” en ligne de commande, cela fonctionnera. Bien que je n'aie pas vérifié son exactitude.

2
2
2
2010-02-08 09:37:07 +0000

Il n'y a rien appelé chmod dans Windows car le modèle de sécurité de Windows est différent de celui de Linux. Vous pouvez utiliser la commande attrib pour modifier les propriétés des objets. (Mais ils sont plus vers des propriétés globales).