Permissões de arquivo no Linux / Unix: Como ler, escrever e alterar?

O Linux é um clone do UNIX, o sistema operacional multiusuário que pode ser acessado por vários usuários simultaneamente. O Linux também pode ser usado em mainframes e servidores sem nenhuma modificação. Mas isso levanta preocupações de segurança, pois um usuário não solicitado ou maligno pode corromper, alterar ou remover dados cruciais. Para uma segurança efetiva, o Linux divide a autorização em 2 níveis.

  1. Propriedade
  2. Permissão

O conceito de arquivo Linux permissão propriedade é crucial no Linux. Aqui, explicaremos as permissões e propriedade do Linux e discutiremos ambas. Comecemos com o Propriedade.

Clique aqui se o vídeo não estiver acessível

Propriedade de arquivos Linux

Cada arquivo e diretório em seu sistema Unix/Linux é atribuído a 3 tipos de proprietário, dados abaixo.

Utilizador

Um usuário é o proprietário do arquivo. Por padrão, a pessoa que criou um arquivo se torna seu proprietário. Portanto, um usuário às vezes também é chamado de proprietário.

Grupo

Um grupo de usuários pode conter vários usuários. Todos os usuários pertencentes a um grupo terão as mesmas permissões de grupo do Linux para acessar o arquivo. Suponha que você tenha um projeto em que várias pessoas precisem de acesso a um arquivo. Em vez de atribuir permissões manualmente a cada usuário, você pode adicionar todos os usuários a um grupo e atribuir permissões de grupo ao arquivo de forma que apenas os membros deste grupo e mais ninguém possam ler ou modificar os arquivos.

Outros

Qualquer outro usuário que tenha acesso a um arquivo. Essa pessoa não criou o arquivo nem pertence a um grupo de usuários que poderia ser o proprietário do arquivo. Praticamente, significa todos os outros. Portanto, quando você define a permissão para outras pessoas, também é referido como definir permissões para o mundo.

Agora, surge a grande questão: como Linux distinguir entre esses três tipos de usuário para que um usuário 'A' não possa afetar um arquivo que contém informações/dados vitais de outro usuário 'B'. É como se você não quisesse que seu colega, que trabalha na sua Computador Linux, para visualizar suas imagens. É aqui que Permissões se instalam e definem comportamento do usuário.

Vamos entender o Sistema de permissão no Linux.

Permissões de arquivo do Linux

Cada arquivo e diretório em seu sistema UNIX/Linux tem as seguintes 3 permissões definidas para todos os 3 proprietários discutidos acima.

  • Ler: Essa permissão lhe dá autoridade para abrir e ler um arquivo. A permissão de leitura em um diretório oferece a capacidade de listar seu conteúdo.
  • Escreva: A permissão de gravação fornece autoridade para modificar o conteúdo de um arquivo. A permissão de gravação em um diretório fornece autoridade para adicionar, remover e renomear arquivos armazenados no diretório. Considere um cenário em que você precisa gravar permissão no arquivo, mas não tem permissão de gravação no diretório em que o arquivo está armazenado. Você poderá modificar o conteúdo do arquivo. Mas você não poderá renomear, mover ou remover o arquivo do diretório.
  • Executar: In Windows, um programa executável geralmente possui uma extensão “.exe” e que você pode executar facilmente. No Unix/Linux, você não pode executar um programa a menos que a permissão de execução esteja definida. Se a permissão de execução não estiver definida, você ainda poderá ver/modificar o código do programa (desde que as permissões de leitura e gravação estejam definidas), mas não executá-lo.

Permissões de arquivo do Linux
Permissões de arquivo no Linux/Unix

Vamos ver as permissões de arquivo no Linux com exemplos:

ls - l no terminal dá

ls - l

Permissões de arquivo do Linux

Aqui, destacamos '-rw-rw-r-'e este código de aparência estranha é aquele que nos informa sobre as permissões do Unix concedidas ao proprietário, grupo de usuários e ao mundo.

Aqui, o primeiro '-' implica que selecionamos um arquivo.p>

Permissões de arquivo do Linux

Caso contrário, se fosse um diretório, d teria sido mostrado.

Permissões de arquivo do Linux

Os personagens são bem fáceis de lembrar.

r = permissão de leitura
w = permissão de gravação
x = permissão de execução
- = sem permissão

Vejamos desta forma.

A primeira parte do código é 'r-'. Isso sugere que o proprietário 'Home' pode:

Permissão de arquivo Linux

  • Leia o arquivo
  • Escreva ou edite o arquivo
  • Ele não pode executar o arquivo, pois o bit de execução está definido como '-'.

Por design, muitas distribuições Linux como Fedora, CentOS, Ubuntu, etc. adicionará usuários a um grupo com o mesmo nome de grupo que o nome de usuário. Assim, um usuário 'tom' é adicionado a um grupo denominado 'tom'.

A segunda parte é 'r-'. Para o grupo de usuários 'Home' e os membros do grupo podem:

  • Leia o arquivo
  • Escreva ou edite o arquivo

A terceira parte é para o mundo, o que significa qualquer usuário. Diz 'r-'. Isso significa que o usuário só pode:

  • Leia o arquivo

Permissões de arquivo do Linux

Alterando permissões de arquivo/diretório no Linux usando o comando ‘chmod’

Digamos que você não queira que seu colega veja suas imagens pessoais. Isso pode ser conseguido alterando as permissões do arquivo.

Podemos usar o 'chmod' comando que significa 'modo de mudança'. Usando o comando, podemos definir permissões (leitura, gravação, execução) em um arquivo/diretório para o proprietário, grupo e o mundo.

Sintaxe:

chmod permissions filename

Existem 2 maneiras de usar o comando -

  1. Modo absoluto
  2. Modo simbólico

Modo Absoluto (Numérico) no Linux

Neste modo, arquivo as permissões não são representadas como caracteres, mas um número octal de três dígitos.

A tabela abaixo fornece números para todos os tipos de permissões.

Sessão Tipo de permissão Símbolo
0 Sem permissão -
1 Execute –X
2 Escreva -W-
3 Executar + Gravar -wx
4 Ler r–
5 Ler + Executar rx
6 Ler + Gravar rw-
7 Ler + Gravar + Executar rwx

Vamos ver o comando chmod permissions em ação.

Modo Absoluto (Numérico) no Linux

Na janela de terminal fornecida acima, alteramos as permissões do arquivo 'sample para '764'.

Modo Absoluto (Numérico) no Linux

O código absoluto '764' diz o seguinte:

  • O proprietário pode ler, escrever e executar
  • O grupo de usuários pode ler e escrever
  • Mundo só pode ler

Isso é mostrado como '-rwxrw-r–

É assim que você pode alterar as permissões do usuário no Linux no arquivo, atribuindo um número absoluto.

Modo Simbólico no Linux

No modo Absoluto, você altera as permissões de todos os três proprietários. No modo simbólico, você pode modificar as permissões de um proprietário específico. Faz uso de símbolos matemáticos para modificar as permissões dos arquivos Unix.

Operator Descrição

+

Adiciona uma permissão a um arquivo ou diretório

-

Remove a permissão

=

Define a permissão e substitui as permissões definidas anteriormente.

Os vários proprietários são representados como -

Denotações do usuário

u

usuário / proprietário

g

grupo

o

Outros

a

todos os

Não usaremos permissões em números como 755, mas em caracteres como rwx. Vejamos um exemplo

Modo Simbólico no Linux

Alterando propriedade e grupo no Linux

Para alterar a propriedade de um arquivo/diretório, você pode usar o seguinte comando:

chown user filename

Caso você queira alterar o usuário e também o grupo de um arquivo ou diretório use o comando

chown user:group filename

Vamos ver isso em ação

Alterando propriedade e grupo no Linux

Caso você queira alterar apenas o proprietário do grupo, use o comando

chgrp group_name filename

'chgrp' significa grupo de mudança.

Alterando propriedade e grupo no Linux

Dica

  • O arquivo /etc/group contém todos os grupos definidos no sistema
  • Você pode usar o comando “grupos” para encontrar todos os grupos dos quais você é membro.
  • Alterando propriedade e grupo no Linux

  • Você pode usar o comando newgrp para trabalhar como membro de um grupo diferente do seu grupo padrão
  • Alterando propriedade e grupo no Linux

  • Você não pode ter dois grupos possuindo o mesmo arquivo.
  • Você não tem grupos aninhados no Linux. Um grupo não pode ser subgrupo de outro
  • x- Executar um diretório significa ter permissão para “entrar” em um diretório e obter possível acesso a subdiretórios
  • Existem outras permissões que você pode definir em arquivos e diretórios que serão abordadas em um tutorial avançado posterior.

Resumo:

  • O Linux, sendo um sistema multiusuário, usa permissões e propriedade para segurança.
  • Existem três tipos de usuários em um sistema Linux, a saber. Usuário, grupo e outros
  • O Linux divide as permissões de arquivo em leitura, gravação e execução indicadas por r,w e x
  • As permissões em um arquivo podem ser alteradas pelo comando 'chmod', que pode ser dividido em modo Absoluto e Simbólico
  • O comando 'chown' pode alterar a propriedade de um arquivo/diretório. Use os seguintes comandos: chown user file ou chown user:group file
  • O comando ‘chgrp’ pode alterar a propriedade do grupo nome do arquivo do grupo chrgrp
  • O que significa x – executar um diretório? R: Ter permissão para “entrar” em um diretório e obter possível acesso a subdiretórios.