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.
- Propriedade
- 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.
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 é 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>
Caso contrário, se fosse um diretório, d teria sido mostrado.
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:
- 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
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 -
- Modo absoluto
- 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.
Na janela de terminal fornecida acima, alteramos as permissões do arquivo 'sample 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 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
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
Caso você queira alterar apenas o proprietário do grupo, use o comando
chgrp group_name filename
'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 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.