4.5.1 Adicionar, remover e definir permissões com chmod
Para adicionar, remover ou definir as permissões, utilizamos símbolos representativos, ou seja, responsáveis por indicar o "tipo" de operação que está sendo realizada. São eles:
- + (sinal de adição) = adiciona permissões
- - (sinal de subtração) = remove permissões
- = (sinal de igual) = define permissões
As permissões são aplicadas ao dono do arquivo, ao grupo atribuído ao arquivo, a outros (qualquer usuário) ou a todos. Essa referência de "entidades" é representada pelas letras:
- u = dono
- g = grupo
- o = outros
- a = todos
Para alterar permissões, utilizamos o chmod. Veja:
$ chmod u=w,g=rw,o=rw arquivo
$ ls -l arquivo
A instrução acima indica que:
- O tipo de operação executada foi de definição, operação indicada pelo sinal de igual (=);
- O dono (u) do arquivo possui permissão de escrita;
- O grupo (g) possui permissão de leitura e escrita;
- Os outros (o) possuem permissão de leitura e escrita.
- O novo conjunto de permissões após a execução da instrução será --w-rw-rw-
O retorno do "ls -l arquivo" será:
Figura 13 - Permissões
Tente executar a instrução abaixo:
$ cat arquivo
retorno:
Figura 14 - Permissão negada
Não foi possível ler o arquivo; isso se deve ao fato de que o dono não possui permissão de leitura, apenas de escrita. Para adicionar a permissão de leitura, execute a instrução:
$ chmod -u+r arquivo
Ao tentar ler o arquivo novamente, teremos sucesso. Nenhum dado será apresentado, pois o arquivo está vazio, porém agora temos permissão de leitura.
As permissões do dono, do grupo e de outros podem ser alteradas de forma individual conforme pode ser observado na operação de adição executada logo acima, coletivamente ao utilizar a vírgula para separar o conjunto de "entidades/pessoas" com permissões distintas, ou podem-se ainda informar todas as "entidades" e respectivamente as permissões desejadas. Não se esqueça que você pode utilizar a representação a (todos) para atribuir as mesmas permissões a todos os três conjuntos de pessoas.