Neste artigo, aprenderemos como definir ou redefinir as permissões NTFS de um arquivo ou pasta em um sistema operacional Windows, com o comando icacls.
Pode acontecer que, em alguns casos, possamos perder de vista as permissões de arquivos ou diretórios e, quando tentamos acessar um arquivo específico, não obtemos resultado porque não temos os direitos para fazê-lo.
Ou talvez tenhamos que executar um software que, por questão de permissão, não funcione como deveria.
Também podemos precisar acessar um arquivo que veio de um backup antigo ou de outro computador e, portanto, foi criado com um usuário diferente; mesmo assim, não será possível acessá-lo.
Em todos esses casos, o comando Icacls vem para ajudar.
O que é o Icacls?
Icacls é o substituto do cacls (Change Access Control Lists), um utilitário de linha de comando que permite mostrar e executar algumas operações no ACL para arquivos ou diretórios.
A ACL (Lista de controle de acesso) é uma lista de permissões para um objeto do sistema de arquivos e define como sua segurança é controlada pelo gerenciamento de quem e como ele pode ser acessado.
Na verdade, as operações na ACL não são as únicas possíveis com esta ferramenta.
O que o torna uma ferramenta poderosa também é a capacidade de executar operações de backup e restauração na ACL para arquivos ou diretórios ou procurar arquivos que tenham um usuário específico como proprietário.
Além disso, no caso de uma ACL ser danificada ou destruída, com o icacls, você pode restaurá-la, redefinindo-a e definindo permissões padrão ou herdando as do pai.
Icacls: as funções de redefinição e concessão
Redefinir
O Icacls é um comando nativo do Windows que roda no Windows Vista, Windows 7, Windows 8 e Windows 10.
Imagine que temos um disco rígido externo no qual um estudo realizado em 2018 foi armazenado e queremos recuperá-lo, mas não o fazemos tem controle completo.
Assim que tentarmos abrir a pasta, teremos a seguinte mensagem de alerta.
Uma solução é, portanto, usar a função de redefinição do Icacls.
Mas preste atenção aos seguintes passos.
Vamos abrir o terminal de comando no modo administrador.
Vamos para a pasta e digite o comando reset da seguinte maneira:
$> icacls * /t /q /c /reset
E, novamente, teremos “Acesso negado” como resposta.
Portanto, devemos primeiro nos tornar o proprietário da pasta com o comando takeown :
$> takeown / R / F *
Ao clicar em Sim, você terá uma redefinição da ACL e o estado da permissão será o seguinte:
Conceder
Agora, imagine estar na seguinte situação, imagems meramente ilustrativas:
Somente o usuário chamado Peter tem acesso à pasta e também queremos conceder concessões ao usuário da federica .
Com o comando anterior, podemos nos tornar o proprietário da pasta
$> takeown / R / F *
e digite o seguinte comando:
$> icacls "E:\Study2018" /t /grant:F
Nesse caso, inseri as opções /t, que significa recursivo, e F, que significa “acesso total” para o usuário ao qual queremos conceder concessões.
Para mais opções, consulte a página oficial .
Outras funções icacls
Se você precisar salvar as ACLs em um arquivo para uma restauração posterior, faça isso usando alguns comandos de “salvar e restaurar”.
Uma operação muito simples do ponto de vista: as informações sobre as ACLs são salvas em um arquivo que pode ser usado em caso de necessidade de restauração de uma situação anterior.
No entanto, deve-se notar que os dados sobre direitos de acesso, especialmente em pastas compartilhadas, podem ser muito variáveis ao longo do tempo.
Poderíamos então nos encontrar em uma situação em que vamos restaurar uma situação diferente da realidade ou mesmo inconsistente.
Além disso, o arquivo criado, aberto e legível com um editor de texto comum, parece ser um texto Unicode.
Mas cuidado, porque não é.
Abra o arquivo e salve-o com algumas alterações, tornando-o inutilizável nas operações de restauração.
O par de comandos “salvar e restaurar” é o seguinte:
icacls FILE_O_DIRECTORY /save aclfile /t
icacls
DIRECTORY
/restore aclfile
Você notará imediatamente uma diferença entre os dois comandos.
O comando save pode ser executado no arquivo e nos diretórios (FILE_O_DIRECTORY deve ser substituído pelo nome do arquivo ou diretório para o qual queremos salvar a ACL).
Enquanto o comando restore funciona apenas em diretórios.
Um exemplo de uso é o seguinte:
E:\> icacls filediprova.txt /save aclfile /t
E:\>icacls . /restore aclfile
As you can see, in restore command case we will not use filediprova.txt but the directory in which it is contained.
Como você pode ver, no caso do comando restore, não usaremos o arquivoipripr.txt, mas o diretório em que ele está contido.
Conclusões
Nos sistemas Windows, a capacidade de gerenciar listas de controle de acesso é uma força que permite que usuários e processos façam o melhor uso possível dos recursos.
Em alguns casos, pode ser complicado, mas com a ferramenta icacls, podemos ter muitas funções que ajudam a garantir a segurança.
PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx
**********************************************************************************
PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx
*****************************************