ermissões de arquivo no Linux / Unix: como ler / gravar e alterar?

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 questões de segurança, pois um usuário não solicitado ou maligno pode corromper, alterar ou remover dados cruciais. Para uma segurança eficaz, o Linux divide a autorização em 2 níveis.

  1. Propriedade
  2. Permissão

Neste tutorial de comandos de arquivo do Linux, você aprenderá

O conceito de arquivo Linux permissão e propriedade é crucial no Linux. Aqui, explicaremos as permissões e propriedade do Linux e discutiremos ambos. Vamos começar 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 são atribuídos a 3 tipos de proprietário, fornecidos abaixo.

Do utilizador

Um usuário é o proprietário do arquivo. Por padrão, a pessoa que criou um arquivo se torna seu proprietário. Portanto, às vezes, um usuário 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 Linux de acesso ao arquivo. Suponha que você tenha um projeto em que várias pessoas requeiram 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ão de grupo ao arquivo de forma que apenas os membros desse grupo e ninguém mais possa ler ou modificar os arquivos.

Outro

Qualquer outro usuário que tenha acesso a um arquivo. Esta pessoa não criou o arquivo, nem pertence a um grupo de usuários que poderia ser o proprietário do arquivo. Praticamente, significa todo mundo. 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 é que Linux distingue entre esses três tipos de usuário, de modo que um usuário 'A' não possa afetar um arquivo que contenha informações / dados vitais de algum outro usuário 'B'. É como se você não quisesse que seu colega, que trabalha no seu computador Linux, visse suas imagens. Aqui é onde Permissões colocados em, e eles definem comportamento do usuário .

Vamos entender o Sistema de permissão no Linux.

Permissões

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.

  • Leitura: Essa permissão dá a você autoridade para abrir e ler um arquivo. A permissão de leitura em um diretório permite listar seu conteúdo.
  • Escreva: A permissão de gravação dá a você autoridade para modificar o conteúdo de um arquivo. A permissão de gravação em um diretório lhe dá autoridade para adicionar, remover e renomear arquivos armazenados no diretório. Considere um cenário em que você precisa ter permissão de gravação no arquivo, mas não tem permissão de gravação no diretório onde 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: No Windows, um programa executável geralmente tem 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 seja 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 em Linux / Unix

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

ls - l no terminal dá

ls - l

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

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

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

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

r = permissão de leitura
dentro = permissão de escrita
x = permissão de execução
- = sem permissão

Vamos ver dessa maneira.

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

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

Por design, muitas distribuições Linux como Fedora, CentOS, Ubuntu, etc. irão 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 é 'rw-'. 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

Alterar as permissões de arquivo / diretório com o comando 'chmod'

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

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

nome do arquivo de permissões chmod

Existem 2 maneiras de usar o comando -

  1. Moda absoluta
  2. Modo simbólico

Modo Absoluto (Numérico)

Neste modo, o 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.

Número Tipo de Permissão Símbolo
0 Sem permissão ---
1 Executar --x
dois Escreva -dentro-
3 Execute + Write -wx
4 Leitura r--
5 Ler + Executar r-x
6 Ler + escrever rw-
7 Ler + escrever + executar rwx

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

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

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 modo Absoluto, você altera as permissões para todos os 3 proprietários. No modo simbólico, você pode modificar as permissões de um proprietário específico. Ele faz uso de símbolos matemáticos para modificar as permissões de arquivo Unix.

Operador 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
você usuário / proprietário
g grupo
ou outro
para tudo

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

Mudança de propriedade e grupo

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

usuário chown

Caso você queira alterar o usuário, bem como o grupo de um arquivo ou diretório, use o comando

usuário chown: nome do arquivo do grupo

Vamos ver isso em ação

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

nome_do_grupo chgrp nome do arquivo

' chgrp ' significa grupo de mudança.

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
  • Você pode usar o comando newgrp para trabalhar como membro de um grupo diferente do seu grupo padrão
  • Você não pode ter 2 grupos com o mesmo arquivo.
  • Você não tem grupos aninhados no Linux. Um grupo não pode ser um subgrupo de outro
  • x- executar um diretório significa ter permissão para 'entrar' em um diretório e obter acesso aos sub-diretó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ário em um sistema Linux viz. Usuário, Grupo e Outro
  • O Linux divide as permissões de arquivo em leitura, gravação e execução denotadas 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: arquivo de usuário chown ou usuário chown: arquivo de grupo
  • 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 acesso aos sub-dirs.