1. Conceito de Permissões
No Linux, cada arquivo ou diretório possui permissões que determinam quem pode ler, escrever ou executar esse recurso. Essas permissões são essenciais para garantir a segurança e o controle de acesso no sistema.
2. Estrutura das Permissões
As permissões de arquivos são representadas em três conjuntos principais:
- Usuário (u): O proprietário do arquivo ou diretório.
- Grupo (g): Os membros do grupo ao qual o arquivo pertence.
- Outros (o): Qualquer outro usuário no sistema.
Cada conjunto possui três tipos de permissões:
r
: Read (ler)w
: Write (escrever)x
: Execute (executar)
As permissões aparecem no formato: rwx rwx rwx
, onde:
- O primeiro conjunto representa as permissões do usuário.
- O segundo conjunto representa as permissões do grupo.
- O terceiro conjunto representa as permissões de outros.
4. Exemplos de Permissões
Exemplo de permissão: rwx r-x r-x
Detalhamento:
- Primeiro conjunto (
rwx
): O usuário pode ler, escrever e executar. - Segundo conjunto (
r-x
): O grupo pode ler e executar, mas não escrever. - Terceiro conjunto (
r-x
): Outros podem ler e executar, mas não escrever.
Representação Visual:
Entidade | Permissão | Ação Permitida |
---|---|---|
Usuário (u) | rwx | Ler, Escrever, Executar |
Grupo (g) | r-x | Ler, Executar |
Outros (o) | r-x | Ler, Executar |
3. Comandos Essenciais
Para modificar e visualizar as permissões no Linux, podemos usar os seguintes comandos:
chmod
: Altera as permissões de arquivos e diretórios.chown
: Altera o proprietário de arquivos e diretórios.ls -l
: Exibe informações detalhadas sobre arquivos e diretórios, incluindo suas permissões.chmod 777
: Dá permissões totais (leitura, escrita e execução) para todos os usuários.chmod 755
: Dá permissões de leitura, escrita e execução para o usuário e apenas leitura e execução para o grupo e outros.
7. Comando chmod 666
O comando chmod 666
é utilizado para conceder permissões de leitura e escrita para todos os usuários (usuário, grupo e outros) em um arquivo. No entanto, ele não permite execução do arquivo. O número 666 refere-se às permissões de cada conjunto:
- Usuário (u): Leitura e escrita (
rw-
) - Grupo (g): Leitura e escrita (
rw-
) - Outros (o): Leitura e escrita (
rw-
)
Isso significa que todos os usuários do sistema poderão ler e modificar o conteúdo do arquivo, mas nenhum deles poderá executá-lo. Este tipo de permissão pode ser útil em arquivos que não precisam ser executados, mas devem ser acessíveis para edição por vários usuários.
Exemplo de uso do chmod 666
:
chmod 666 arquivo.txt
Após executar este comando, qualquer usuário poderá editar o arquivo arquivo.txt
, mas não poderá executá-lo.
5. Como Alterar Permissões
Você pode usar o comando chmod
para alterar as permissões de arquivos ou diretórios. Aqui estão alguns exemplos:
chmod u+x arquivo.txt
: Adiciona permissão de execução para o usuário (proprietário) no arquivoarquivo.txt
.chmod g-w arquivo.txt
: Remove permissão de escrita para o grupo no arquivoarquivo.txt
.chmod o+r arquivo.txt
: Adiciona permissão de leitura para outros usuários no arquivoarquivo.txt
.
Use o comando ls -l
para verificar as permissões de um arquivo:
ls -l arquivo.txt
6. Mais Comandos para Manipulação de Permissões
Aqui estão mais alguns comandos que podem ser úteis para manipulação de permissões:
chmod u-r arquivo.txt
: Remove permissão de leitura para o usuário no arquivoarquivo.txt
.chmod g+x arquivo.txt
: Adiciona permissão de execução para o grupo no arquivoarquivo.txt
.chmod o+w arquivo.txt
: Adiciona permissão de escrita para outros usuários no arquivoarquivo.txt
.chown usuario:grupo arquivo.txt
: Altera o proprietário e o grupo do arquivoarquivo.txt
.chgrp grupo arquivo.txt
: Altera o grupo do arquivoarquivo.txt
.getfacl arquivo.txt
: Exibe as permissões ACL (Access Control List) do arquivoarquivo.txt
.setfacl -m u:usuario:rw arquivo.txt
: Define permissões ACL para um usuário específico no arquivoarquivo.txt
.umask
: Exibe ou define a máscara de criação de arquivos, que controla as permissões padrão de novos arquivos.
Exemplo de uso do umask
:
O comando umask
define as permissões padrão para novos arquivos. Se você quiser alterar a máscara padrão, pode usar:
umask 022
Isso criaria novos arquivos com permissões rw-r--r--
.
8. Comandos Adicionais no Linux
Abaixo estão alguns comandos adicionais que podem ser úteis para gerenciar permissões e outros aspectos do sistema:
chmod 777 arquivo.txt
: Concede permissões totais (leitura, escrita e execução) para todos os usuários (usuário, grupo e outros) no arquivoarquivo.txt
.chmod 644 arquivo.txt
: Dá permissão de leitura e escrita para o usuário e permissão de leitura para o grupo e outros no arquivoarquivo.txt
.chmod 700 arquivo.txt
: Dá permissões totais (leitura, escrita e execução) apenas para o usuário e nenhuma permissão para o grupo e outros no arquivoarquivo.txt
.ls -lh
: Exibe informações detalhadas sobre arquivos e diretórios no formato legível por humanos, incluindo permissões, tamanho, proprietário e data de modificação.chmod a+x arquivo.sh
: Adiciona permissão de execução para todos os usuários no arquivo de scriptarquivo.sh
.chown usuario:grupo arquivo.txt
: Altera o proprietário e o grupo do arquivoarquivo.txt
para o usuário e grupo especificados.chown -R usuario:grupo /diretorio
: Altera recursivamente o proprietário e o grupo de todos os arquivos e subdiretórios dentro do diretório especificado.chgrp grupo arquivo.txt
: Altera o grupo de um arquivo ou diretório especificado para o grupo indicado.lsattr arquivo.txt
: Exibe os atributos de um arquivo ou diretório, como se ele é imutável ou anexado a um log.setfacl -m u:usuario:rwx arquivo.txt
: Define permissões de controle de acesso (ACL) para um usuário específico no arquivoarquivo.txt
.umask 0777
: Define a máscara de criação de arquivos para impedir qualquer permissão de leitura, escrita ou execução para novos arquivos (a permissão padrão é 666 para arquivos e 777 para diretórios).
Exemplo de uso do comando ls -lh
:
ls -lh arquivo.txt
Isso exibe as permissões de arquivo.txt
de forma legível por humanos, juntamente com o tamanho, data de modificação e o proprietário do arquivo.