Equivalente ao chmod para alterar as permissões de ficheiros no Windows
Existe algum equivalente ao Windows do Linux chmod
para alterar as permissões de um ficheiro?
Existe algum equivalente ao Windows do Linux chmod
para alterar as permissões de um ficheiro?
Greg menções attrib
- mas attrib
não está perto de chmod
- attrib
pode definir atributos só de leitura/de ocultação de um único ficheiro - não fornece controlos de grão fino como o icacls
fornece.
icacls
define/restabelece as listas de controlo de acesso, pelo que pode conceder/recusa de direitos para SIDs e grupos individuais. No entanto é bastante complicado.
Aqui está um exemplo que guardei no meu github gist ; repõe a propriedade e lista de controlo de acesso para todos os ficheiros numa pasta e é particularmente útil para corrigir aqueles irritantes “Precisa de permissões de … para executar esta acção” especialmente quando move ficheiros de uma instalação anterior:
icacls * /reset /t /c /q
Reset substitui a existente com a lista por defeito.
/t
actua recursivamente em todos os ficheiros, pastas e subpastas
/q
não exibe mensagens de sucesso
/c
continua com os ficheiros restantes mesmo que ocorra um erro.
Também pode fazer coisas como fazer backup das ACLs existentes e aplicá-las em todas. Dê uma olhada em ss64 que explica muito bem as diferentes opções e interruptores.
Não pode haver (infelizmente) um equivalente exacto, uma vez que Linux e DOS/Windows usam atributos para diferentes fins, e (como Chathuranga disse antes) o modelo de segurança é diferente:
H
) e “sistema” (S
) que não têm um equivalente no Linux; aí, os ficheiros são escondidos ao preender o nome com um ponto (.
). A
) do Windows. x
) Linux nos atributos de ficheiros DOS/Windows. D
) do Windows (mas não pode ser alterado de qualquer forma). O atributo de ficheiro DOS R
(read-only) é o que pode ser considerado como tendo um equivalente: este atributo set é mais ou menos como o atributo w
por faltar; mas a permissão para alterar este atributo está sujeita a ACLs.
Pode ser legal ter um equivalente chmod
/chown
no Windows, talvez escrito em alguma linguagem de scripting, que por sua vez chama attrib
e cacls
(ou sucessores), mas eu não tenho um.
O comando attrib
é o mais próximo para coisas muito básicas (apenas leitura, bandeiras de arquivo). Depois há o comando ACL (access control list) cacls
. Por último, mas não menos importante, uma vez que o Windows é realmente compatível com Posix, as bandeiras do tipo unix existem. Se você instalar o conjunto de ferramentas Cygwin, você terá um chmod
. (Um pouco fora de tópico, já que você está procurando por um equivalente a um comando unix, baixar e instalar o Cgygwin pode ser algo interessante para você).
Eu uso o comando takeown.exe
do Windows para alterar as permissões dos ficheiros para o meu actual ID de utilizador registado: http://technet.microsoft.com/en-us/library/cc753024.aspx
Não há nada chamado chmod no windows porque o modelo de segurança do Windows é diferente do Linux. Pode usar o comando attrib
para alterar as propriedades dos objectos. (Mas eles são mais para propriedades globais).