Chmod
Em sistemas operacionais do tipo Unix, o chmod é o comando e a chamada de sistema que pode alterar permissões de acesso de objetos do sistema e sinalizações (flags) de modo especial. A requisição é filtrada pelo umask.
Imagem: orkomedix · BY-NC-SA · Openverse
Um comando chmod apareceu pela primeira vez na versão 1 do Unix da AT&T. À medida que os sistemas cresciam em número e tipos de usuários, listas de controle de acesso eram adicionadas a muitos sistemas de arquivos, além desses modos mais básicos para aumentar a flexibilidade.
Imagem: JAKIMOWICZ Fabien · BY-NC-SA · Openverse
Opções implementadas frequentemente incluem: Se uma ligação simbólica for especificada, o objeto alvo é afetado. Os modos de arquivo diretamente associados às ligações simbólicas em si normalmente nunca são usados. Para visualizar o modo do arquivo, os comandos ls ou stat podem ser usados: O r, w e x especificam o acesso de leitura, gravação e execução, respectivamente. O primeiro caractere da exibição do ls indica o tipo de objeto. Um hífen representa um arquivo simples. Esse script pode ser lido, gravado e executado pelo proprietário, lido e executado por outros membros do grupo da equipe e também pode ser lido por outras pessoas.
Modo octal
Um octal é um número escrito sob a base 8, ou seja, usa 8 símbolos diferentes para ser representado, geralmente, os algarismos arábicos de 0 a 7. O chmod usa um número octal de 3 algarismos como parâmetro para realizar sua função. Por meio do exemplo a seguir, pode-se identificar as partes principais das permissões chmod. O formato numérico do chmod aceita até quatro dígitos octais. Os três dígitos mais à esquerda referem-se às permissões para o proprietário, grupo e outros usuários do arquivo, respectivamente. O primeiro dígito opcional, quando são fornecidos 4 dígitos, especifica os sinalizadores (flags) especiais setuid, setgid e sticky. Cada dígito dos três dígitos mais à direita representa um valor binário, cujos bits controlam a leitura, gravação e execução, respectivamente, onde 1 significa permitir e 0 significa não. Isso é semelhante à notação octal, mas representada em números decimais.
Modos simbólicos
É possível e mais humano prescindir do modo octal. Quando a modificação se fizer sobre o grupo, por exemplo, faremos assim para adicionar a permissão de escrita: Dessa forma o grupo a que pertence este arquivo passa a ter permissão de gravação no mesmo. É possível mudar várias permissões para o mesmo ficheiro. Por exemplo: Atribui a outros, de uma vez, as permissões de leitura e escrita sobre o ficheiro envel.ficheiro. De forma semelhante é possível mudar permissões de uma só vez para diversas classes de utilizador: Retira todas as permissões, a todas as classes de utilizador, relativamente ao ficheiro envel.ficheiro.
Modos especiais
O comando chmod também é capaz de alterar as permissões adicionais ou modos especiais de um arquivo ou diretório. Os modos simbólicos usam 's' para representar os modos setuid e setgid, e 't' para representar o modo sticky. Os modos são aplicados apenas às classes apropriadas, independentemente se outras classes são ou não especificadas. A maioria dos sistemas operacionais suportam a especificação de modos especiais usando modos octais, mas alguns não. Nesses sistemas, apenas os modos simbólicos podem ser usados.
Imagem: VectorVoyager · BY-SA · Openverse
Algumas opções extras estão disponíveis para o chmod se adicionarmos os seguintes parâmetros As permissões em vigor podem ser conhecidas com o comando ls. Ex: Outros comandos relacionados com o chmod são chown, que muda o dono de arquivos e pastas (ficheiros), e chgrp, que muda o grupo a que pertence o ficheiro.


