Respostas:
Greg menciona attrib
- mas attrib
não está nem perto chmod
- attrib
pode definir atributos Somente leitura / Oculto de um único arquivo - ele não fornece controles refinados como icacls
faz.
icacls
define / redefine as listas de controle de acesso, para que você possa conceder / negar direitos para SIDs e grupos individuais. É bastante complicado.
Aqui está um exemplo que eu salvei na minha lista do github ; redefine a propriedade e a lista de controle de acesso para todos os arquivos em uma pasta e é particularmente útil para corrigir aqueles irritantes "Você precisa de permissões de .. para executar esta ação", especialmente ao mover arquivos de uma instalação anterior:
icacls * /reset /t /c /q
Redefinir substitui o existente pela lista padrão.
/t
age recursivamente em todos os arquivos, pastas e subpastas
/q
não exibe nenhuma mensagem de sucesso
/c
continua com os arquivos restantes, mesmo que ocorra um erro.
Você também pode fazer backup de ACLs existentes e aplicá-las a todos. Dê uma olhada no ss64, que explica muito bem as diferentes opções e opções.
cmd
que você obtém pressionando [Win] + [R] não possui. Para essas necessidades especiais, tenho um atalho "Admin shell", com "Executar como administrador" (ou semelhante; estou em um sistema Windows alemão) marcado (e com uma cor de fundo vermelho escuro).
(Infelizmente) não pode haver um equivalente exato, pois o Linux e o DOS / Windows usam atributos para propósitos diferentes e (como Chathuranga disse antes) o modelo de segurança é diferente:
H
) e "system" ( S
) que não têm equivalente no Linux; lá, os arquivos são ocultados acrescentando o nome com um ponto ( .
).A
atributo "archive" ( ) do Windows .x
atributos "executáveis" ( ) do Linux nos atributos de arquivo do DOS / Windows.D
) atributo (mas não pode ser alterado de qualquer maneira).O atributo de arquivo do DOS R
(somente leitura) é aquele que pode ser considerado como tendo um equivalente: esse conjunto de atributos é aproximadamente o w
atributo de todos que estão faltando; mas a permissão para alterar esse atributo está sujeita às ACLs.
Pode ser legal ter um chmod
/ chown
equivalente no Windows, talvez escrito em alguma linguagem de script, que por sua vez chama attrib
e cacls
(ou sucessores), mas eu não tenho um.
CAP_LINUX_IMMUTABLE
processo), enquanto o acesso aos atributos definidos no Windows é tudo ou nada. É um erro comum nas implementações do chmod
Windows usar este comando para definir o atributo de arquivo somente leitura. Infelizmente, os sistemas são tão informados quanto os programadores que os desenvolvem.
chattr
comando. Mas você não quis dizer "confundir atributos e permissões de arquivos", certo? AFAICS, todas as palavras que escrevi sobre atributos do DOS ainda estão corretas.
chattr
, exceto que o Windows possui um atributo de diretório, pois não há inode.
chmod
no Windows porque não há nada como o atributo "mode" do arquivo. O conjunto padrão de atributos de arquivo do Windows não tem nada a ver com isso. O atributo somente leitura não é uma permissão de arquivo. Ele basicamente diz que o arquivo está escrito em pedra, portanto, todas as tentativas de modificá-lo devem falhar. O atributo de arquivo "imutável" do Linux é semelhante. O Windows usa apenas ACLs para permissões, portanto, icacls.exe e similares são os únicos comandos semelhantes no assunto de permissões.
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C
Funciona como um encanto para alterar as permissões em uma pasta para usuários do domínio. Informações adicionais sobre cacls
e icacls
.
O attrib
comando é a correspondência mais próxima para itens muito básicos (somente leitura, sinalizadores de arquivamento). Depois, há o comando ACL (lista de controle de acesso) cacls
. Por último, mas não menos importante, como o Windows é realmente compatível com Posix, os sinalizadores do tipo unix existem. Se você instalar o conjunto de ferramentas Cygwin, receberá um chmod
. (Um pouco fora de tópico, já que você está procurando o equivalente a um comando unix, fazer o download e instalar o Cgygwin pode ser algo interessante para você.)
Uso o comando do Windows takeown.exe
para alterar as permissões de arquivo para a minha identificação de usuário atual: 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. Você pode usar o attrib
comando para alterar as propriedades dos objetos. (Mas eles são mais direcionados às propriedades globais.)