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 ?
Existe-t-il un équivalent Windows de chmod
de Linux pour changer les permissions d'un fichier ?
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.
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 :
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. A
) de Windows. x
) Linux dans les attributs de fichiers DOS/Windows. D
) de Windows (mais il ne peut pas être modifié de toute façon). 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.
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).
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
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).