10.3. Mudança de permissões de arquivo

A seção seguinte descreve como fazê-lo:

  • Alterar as permissões dos arquivos usando valores simbólicos.
  • Alterar as permissões dos arquivos usando valores octal.

10.3.1. Mudança de permissões de arquivo usando valores simbólicos

Você pode atribuir as seguintes permissões:

  • Leia (r).
  • Escreva (w).
  • Executar (x).

As permissões podem ser atribuídas a:

  • Proprietário do usuário (u).
  • Proprietário do grupo (g).
  • Outros (o).
  • Todos (a).

Para adicionar ou retirar as permissões, você pode usar os seguintes sinais:

  • para adicionar as permissões em cima das permissões existentes.
  • - para retirar as permissões da permissão existente.
  • = para omitir as permissões existentes e definir explicitamente as novas permissões.

A seção seguinte descreve como definir e remover permissões de arquivo usando os valores simbólicos.

Procedimento

  • Para alterar as permissões de arquivo para um arquivo ou diretório existente, use:

    $ chmod u=symbolic_value,g symbolic_value,o-symbolic_value file-name

    Substituir file-name pelo nome do arquivo ou diretório, e substituir symbolic_value por usuários, grupos e outros com valores simbólicos correspondentes. Veja Seção 10.1.1, “Permissões de base” para mais detalhes.

    Exemplo

    Para alterar as permissões de arquivo para my-file.txt de 664 (-rw-rw-r--) para 740 (-rwx-r---), use:

    $ chmod u x,g-w,o= my-file.txt

    Note que qualquer permissão que não seja especificada após o sinal de igual (=) é automaticamente proibida.

  • Para definir as mesmas permissões de uso para usuário, grupo, e outros:

    $ chmod a=symbolic_value file-name

    Substituir file-name pelo nome do arquivo ou diretório, e substituir symbolic_value por um valor simbólico. Veja Seção 10.1.1, “Permissões de base” para mais detalhes.

    Exemplo

    Para definir a permissão para my-file.txt para 777 (-rwxrwxrwx ou drwxrwxrwx), use:

    $ chmod a=rwx my-file
  • Para alterar as permissões de um diretório e todos os seus subdiretórios, adicione a opção -R:

    $ chmod -R symbolic_value directory-name

    Substituir directory-name pelo nome do diretório, e substituir symbolic_value por um valor simbólico. Veja Seção 10.1.1, “Permissões de base” para mais detalhes.

    Exemplo

    Para alterar as permissões para /my-directory/ e todos os seus subdiretórios de 775 (drwxrwxr-x) para 740 (drwx-r---), use:

    $ chmod -R g-wx,o= /my-diretório