Comandos de manipulação de permissões no Linux

Entendo um pouco o sistema de permissões no sistema Linux

Pelo fato do Linux ser multiusuário, as permissões deve estar bem alinhadas para que o usuário tenha acesso somente aquilo que é de seu direito, incluindo pastas, arquivos e inclusive periféricos, como impressoras e drivers de CD por exemplo.
A Estrtutura básica das permissões é separada em três classes:

  • Dono: define as permissões ao dono do arquivo, ou seja, que criou o arquivo.
  • Grupo: define as permissões para o grupo de usuários ao qual o dono do arquivo pertence.
  • Outros: define as permissões para os demais usuarios, que não seja o dono ou que faça parte do grupo.

Dentro de cada classe citada anteriormente, temos os tipos de acesso:

  • Leitura (r): permissão de leitura para arquivos. Caso seja um diretório permite a listagem do seu conteúdo.
  • Escrita (w): permite a escrita em arquivos ou criação dentro de pastas.
  • Execução (x): permite a execução de um programa “executável”

Quando a gente executa um ls -la no terminal, podemos ver como funciona:

No começo de cada linha temos 10 colunas referente as permissões de cada arquivo, onde a primeira coluna identifica o tipo do arquivo, se é um arquivo, um diretório, um link, etc. Após a primeira coluna, temos um conjunto de três colunas para cada classe de permissões, ou seja, do dono, do grupo e outros contando da esquerda para direita.

Diferença de permissões entre arquivos e diretórios:

Objeto Leitura (r)
Gravação (w)
Execução (x)
Arquivo Permite ler o conteúdo do arquivo Permite alterar o arquivo Permite executar arquivo como um programa
Diretório Permite listar o conteúdo do diretório Permite criar e apagar arquivos no diretório Permite ler e gravar arquvos no diretório

Lista de comandos para trabalhar as permissões

chmod

Muda as permissões de acesso a um determinado arquivo ou diretório.

Sintaxe

Opções

-v, –verbose

Mostra todos os arquivos que estão sendo processados.

-f, –silent

Não mostra a maior parte das mensagens de erro.

-c, –change

Semelhante a opção -v, mas só mostra os arquivos que tiveram as permissões alteradas.

-R, –recursive

Muda permissões de acesso do diretório/arquivo no diretório atual e sub-diretórios.

ugoa+-=rwxXst

  • ugoa – Indica o nível de acesso será mudado. Especificam, em ordem, usuário (u), grupo (g), outros (o), todos (a).
  • +-=+ adiciona a permissão, retira a permissão do arquivo e = define a permissão exatamente como especificado.
  • rwx – r permissão de leitura do arquivo. w permissão de gravação. x permissão de execução (ou acesso a diretórios).

Exemplos

sele%ef%bf%bd%ef%bf%bdo_004

chgrp

Muda o grupo de um arquivo ou diretório

Sintaxe

Opções

-v, –verbose

Mostra todas as mensagens e arquivos sendo modificados.

-R, –recursive

Altera os grupos de arquivos/sub-diretórios do diretório atual.

chown

Altera dono de um arquivo ou diretório. Pode também ser usado para mudar o grupo

Sintaxe

Opções

-v, –verbose

Mostra os arquivos enquanto são alterados.

-R, –recursive

Altera dono e grupo de arquivos no diretório atual e sub-diretórios.

Exemplos

umask

O comando umask define as permissões iniciais quando um arquivo ou diretório for criado. Digitando umask sem nenhum parâmetro podemos visualizar nosso umask atual. O umask cria permissão diferente caso o arquivo seja um executável e se for um arquivo texto. Veja a tabela a seguir:

Caso seu umask seja 022, os arquivos de texto será criados por padrão com permissão 644, ou seja, rw- para o dono, r– para o grupo e r– para outros. Para que alterar o umask, geralmente deve-se alterar seu valor no arquivo /etc/profile.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *