PERMISSÕES DE ARQUIVOS E DIRETÓRIOS NO LINUX

Tux

Ao ler este post você saberá:

  • Determinar as permissões de arquivo ou diretórios
  • Como alterar as permissões de arquivos ou diretórios . . .
  • utilizando método diferencial
  • utilizando método de atribuição direta
  • utilizando método octal

 

No Linux cada arquivo ou diretório possui permissões que especificam a que usuário ou grupo de usuário ele pertence. Estas permissões definem não apenas se um usuário poderá ler o arquivo, mas se poderão gravar alterações ou mesmo executá-lo no sistema. O modo como isso funciona no Linux pode ser confuso para muitos usuários iniciantes e até alguns avançados podem se perder se não prestar atenção corretamente. Quando listamos o conteúdo de um diretório podemos fazê-lo por utilizar o comando LS (List) e alguns parâmetros que apresentam as permissões atribuídas.

# ls -lt
Listando diretório com o comando LS -lt
Listando diretório com o comando LS -lt

Quando você executa esse comando, será gerada uma listagem com o conteúdo da pasta corrente em forma de lista (parâmetro -l) e por ordem de modificação (parâmetro -t). Além disso, você se depara com uma série de informações, e entre elas, três conjuntos com até três caracteres cada, que indicam o tipo de permissão atribuída ao arquivo. Esses conjuntos representam:

  • Usuário proprietário do arquivo ou diretório: Na maioria das vezes foi quem o criou, mas pode receber essa atribuição pelo root.
  • Grupo do proprietário do arquivo ou diretório: É o grupo que categoriza os usuários do mesmo grupo de quem criou o arquivo ou diretório, mas pode ser alterado pelo root.
  • Outros usuários: São qualquer outro que não o próprio usuário proprietário ou membro do grupo do proprietário.

Note na imagem seguinte, uma representação básica dos conjuntos de permissões semelhantes aos que aparecem na listagem na imagem anterior.

Conjuntos de permissões de arquivos ou diretórios no Linux
Conjuntos de permissões de arquivos ou diretórios no Linux

Os três caracteres permitem até oito combinações para cada conjunto e por isso podem ser manipulados por números octais, conforme veremos mais adiante. Três caracteres básicos R = Read (Ler), W = Write (Escrever), X = Execution (Execução), formarão até oito combinações.

O comando ls nos apresenta ainda quem é o usuário proprietário e grupo. Além disso, mostra o tamanho e a data de criação do arquivo.

Para alterar as permissões do arquivo, utilizamos o comando chmod. Podemos alterar as permissões utilizando método diferencial, atribuição direta ou octal.

Sintaxe: chmod [parâmetros] <arquivo>

Antes de apresentar cada método, as letras seguintes serão utilizadas em pelo menos dois métodos:

  • A   Todos
  • U   Usuário
  • G   Grupo
  • O   Outros
  • +   Adicionar permissão
  • –    Remover permissão
  • =    Igualdade ou Atribuição
  • MÉTODO DIFERENCIAL

O método diferencial você utilizará um operador de adição para adicionar ou subtração para excluir uma permissão.

# chmod g+w,o+w som.mp3

Neste caso para o arquivo som.mp3, você adiciona para o conjunto grupo do proprietário a permissão de gravar, e adiciona para o conjunto outros usuários, a permissão de gravar.

  • MÉTODO DE ATRIBUIÇÃO DIRETA

O método de atribuição direta, você utilizará o símbolo de “igualdade” ou “atribuição” para especificar para cada um dos conjuntos, que permissão vão utilizar:

# chmod u=rx,g=rx,o=x texto.txt

Você pode ler assim: para o arquivo texto.txt, o conjunto usuário proprietário “recebe” rx, o conjunto grupo do usuário proprietário “recebe” rx e o conjunto “outros usuários”, “recebe” x. Por isso eu disse, símbolo de atribuição. 🙂

  • MÉTODO OCTAL

Note a imagem abaixo:

Combinações Possíveis de permissões no Linux
Combinações Possíveis de permissões de Arquivos ou diretórios no Linux

Para você utilizar o método octal, precisa primeiro entender o que representa cada uma das combinações binárias. Note na tabela seguinte, que há uma representação para letras já vistas anteriormente na listagem do diretórios. Esta é a mesma imagem acima, já apresentada.

Conjuntos de permissões de arquivos ou diretórios no Linux
Conjuntos de permissões de arquivos ou diretórios no Linux

Antes dos conjuntos de permissões, ainda encontramos um caractere quer representa o tipo listado, se é um diretório ou arquivo comum, por exemplo. Note na tabela seguinte:

Descrição dos tipos encontrados na listagem gerada pelo comando LS
Descrição dos tipos encontrados na listagem gerada pelo comando LS

Assim podemos utilizar o comando chmod:

# chmod 755 teste.sh

Podemos até dar mais exemplos, até enjoar! 🙂 :

# chmod  400 teste.sh

Resultará: r——– Leitura apenas para o usuário proprietário, root pode mudar isso.

 

# chmod  444 teste.sh

Resultará: r–r–r– Leitura para o usuário proprietário, grupo do proprietário e outros usuários.

 

# chmod  600 teste.sh

Resultará: rw——- Leitura e gravação apenas para o usuário proprietário.

 

# chmod  620 teste.sh

Resultará: -rw–w—- Leitura e gravação para o usuário proprietário, gravação para o grupo do proprietário.

 

# chmod  640 teste.sh

Resultará: -rw-r—– Leitura e gravação para o usuário proprietário, e leitura para o grupo do proprietário.

 

# chmod  644 teste.sh

Resultará: rw-r–r– Leitura e execução para o usuário proprietário, leitura para o grupo do proprietário e leitura para outros usuários.

 

# chmod  770 teste.sh

Resultará: -rwxrwx— Leitura e gravação e execução para o usuário proprietário, leitura gravação e execução para o grupo do proprietário e nenhuma para outros usuários.

 

# chmod  777 teste.sh

Resultará: -rwxrwxrwx Permissão total para usuário proprietário, grupo do proprietário e outros.

Basta?!

Você pode de repente decidir alterar as permissões logo para uma série de arquivos, ou um diretório todo e para isso, utilizará recursão. Para isso, utilize o no comando chmod, parâmetro -R antes das definições de permissões. Cuida com esse recurso, pode ser uma benção e ao mesmo tempo uma maldição!

Acredito que estas informações serão bem práticas!

[]’s

1 comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.