Introdução
Neste laboratório, você aprenderá como verificar as permissões de arquivos no Linux. Compreender as permissões de arquivos é fundamental para gerenciar o acesso e a segurança dos arquivos. Você explorará diferentes métodos para inspecionar as permissões, começando com o comando básico ls -l para visualizar as permissões padrão de leitura, escrita e execução para o proprietário, grupo e outros.
Aprofundando os conceitos básicos, você então se aprofundará no uso do comando stat --format para uma visualização mais detalhada e personalizável das informações do arquivo, incluindo permissões em vários formatos. Finalmente, você aprenderá como verificar as Listas de Controle de Acesso (ACLs - Access Control Lists) usando o comando getfacl, que fornece uma maneira mais granular de gerenciar as permissões de arquivos além do proprietário, grupo e outros padrão.
Verificar permissões de arquivo com ls -l
Nesta etapa, você aprenderá como verificar as permissões de arquivos no Linux usando o comando ls -l. Compreender as permissões de arquivos é crucial para gerenciar arquivos e diretórios com segurança.
As permissões de arquivos determinam quem pode ler, escrever ou executar um arquivo ou diretório. No Linux, as permissões são atribuídas a três categorias:
- Proprietário (Owner): O usuário que possui o arquivo ou diretório.
- Grupo (Group): Um grupo de usuários que têm permissões específicas.
- Outros (Others): Todos os outros usuários do sistema.
Vamos criar um arquivo simples para examinar suas permissões. Certifique-se de estar no diretório ~/project. Você pode confirmar seu diretório atual usando o comando pwd:
pwd
Você deve ver a saída:
/home/labex/project
Agora, crie um arquivo chamado my_file.txt usando o comando touch:
touch my_file.txt
O comando touch cria um arquivo vazio se ele não existir.
Em seguida, use o comando ls -l para visualizar os detalhes do arquivo, incluindo suas permissões:
ls -l my_file.txt
Você verá uma saída semelhante a esta:
-rw-rw-r-- 1 labex labex 0 Feb 13 10:00 my_file.txt
Vamos analisar a primeira parte da saída: -rw-rw-r--. Esta string representa o tipo de arquivo e as permissões.
- O primeiro caractere (
-) indica o tipo de arquivo.-significa que é um arquivo regular. Outros tipos comuns incluemdpara um diretório elpara um link simbólico. - Os nove caracteres seguintes são agrupados em três conjuntos de três:
- O primeiro conjunto (
rw-) mostra as permissões do proprietário (owner). - O segundo conjunto (
rw-) mostra as permissões do grupo (group). - O terceiro conjunto (
r--) mostra as permissões dos outros (others).
- O primeiro conjunto (
Dentro de cada conjunto de três caracteres:
rsignifica permissão de leitura (read).wsignifica permissão de escrita (write).xsignifica permissão de execução (execute).-significa que a permissão não foi concedida.
No exemplo de saída -rw-rw-r--:
- O proprietário (
labex) tem permissões de leitura (r) e escrita (w), mas não de execução (-). - O grupo (
labex) tem permissões de leitura (r) e escrita (w), mas não de execução (-). - Outros têm apenas permissão de leitura (
r), mas não de escrita (-) ou execução (-).
Os números e nomes que seguem as permissões (1 labex labex 0 Feb 13 10:00) representam:
1: O número de links rígidos (hard links) para o arquivo.labex: O proprietário do arquivo.labex: O grupo que possui o arquivo.0: O tamanho do arquivo em bytes.Feb 13 10:00: A data e hora da última modificação.my_file.txt: O nome do arquivo.
Compreender a saída de ls -l é fundamental para trabalhar com arquivos e diretórios no Linux.
Clique em Continuar para prosseguir para a próxima etapa.
Inspecionar permissões usando stat --format
Na etapa anterior, você usou ls -l para ver as permissões de arquivos. Outro comando poderoso para obter informações detalhadas sobre arquivos e sistemas de arquivos é o stat. Nesta etapa, você usará stat com a opção --format para inspecionar especificamente as permissões de arquivos de uma maneira mais estruturada.
O comando stat pode exibir várias informações sobre um arquivo, como tamanho, blocos, tempo de acesso, tempo de modificação e permissões. A opção --format permite que você especifique exatamente quais informações deseja ver usando sequências de formato.
Vamos usar stat para olhar as permissões do arquivo my_file.txt que você criou na etapa anterior. Certifique-se de ainda estar no diretório ~/project.
Digite o seguinte comando e pressione Enter:
stat --format=%A my_file.txt
Você deve ver uma saída semelhante a esta:
-rw-rw-r--
Esta saída é a mesma string de permissão que você viu com ls -l. A sequência de formato %A diz ao stat para exibir as permissões do arquivo em um formato legível por humanos, assim como ls -l.
Vamos tentar outra sequência de formato. A sequência %a exibe as permissões em notação octal. A notação octal é uma representação numérica das permissões, onde cada dígito representa as permissões para o proprietário, grupo e outros.
Digite o seguinte comando e pressione Enter:
stat --format=%a my_file.txt
Você deve ver uma saída semelhante a esta:
0664
Vamos analisar a permissão octal 0664:
- O primeiro dígito (
0) geralmente é ignorado para permissões básicas. - O segundo dígito (
6) representa as permissões do proprietário. Em binário,6é110. Isso corresponde a leitura (1), escrita (1) e execução (0). Portanto, permissões de leitura e escrita. - O terceiro dígito (
6) representa as permissões do grupo. Novamente,110em binário, significando permissões de leitura e escrita. - O quarto dígito (
4) representa as permissões de outros. Em binário,4é100. Isso corresponde a leitura (1), escrita (0) e execução (0). Portanto, apenas permissão de leitura.
Isso corresponde à saída -rw-rw-r-- de ls -l. A notação octal é frequentemente usada ao alterar permissões com o comando chmod, sobre o qual você pode aprender em um laboratório futuro.
Usar stat --format permite que você extraia informações específicas sobre um arquivo, o que pode ser muito útil em scripts ou para análise detalhada.
Clique em Continuar para prosseguir.
Verificar listas de controle de acesso com getfacl
Além das permissões padrão do Linux (proprietário, grupo, outros), alguns sistemas de arquivos suportam Listas de Controle de Acesso (ACLs). As ACLs fornecem uma maneira mais granular de definir permissões para usuários ou grupos específicos, além das três categorias básicas.
O comando getfacl é usado para exibir as ACLs de arquivos e diretórios. Nesta etapa, você usará getfacl para verificar se alguma ACL está definida no arquivo my_file.txt.
Primeiro, certifique-se de estar no diretório ~/project:
pwd
Você deve ver /home/labex/project.
Agora, execute o comando getfacl em my_file.txt:
getfacl my_file.txt
Você deve ver uma saída semelhante a esta:
## file: my_file.txt
## owner: labex
## group: labex
user::rw-
group::rw-
other::r--
Vamos analisar a saída:
## file: my_file.txt: Indica o arquivo que está sendo examinado.## owner: labex: Mostra o proprietário do arquivo.## group: labex: Mostra o grupo primário do arquivo.user::rw-: Esta linha mostra as permissões para o proprietário do arquivo.user::se refere ao usuário proprietário, erw-indica permissões de leitura e escrita. Isso corresponde às permissões do proprietário vistas comls -l.group::rw-: Esta linha mostra as permissões para o grupo proprietário.group::se refere ao grupo proprietário, erw-indica permissões de leitura e escrita. Isso corresponde às permissões do grupo vistas comls -l.other::r--: Esta linha mostra as permissões para outros.other::se refere a todos os outros usuários, er--indica permissão de leitura. Isso corresponde às permissões de outros vistas comls -l.
Neste caso, a saída de getfacl simplesmente reflete as permissões padrão do Linux. Se ACLs específicas fossem definidas para outros usuários ou grupos, elas apareceriam como linhas adicionais na saída, como user:nome_de_usuário:permissões ou group:nome_do_grupo:permissões.
Por exemplo, se uma ACL fosse definida para dar a um usuário chamado testuser acesso somente leitura, a saída poderia incluir uma linha como user:testuser:r--.
Como nenhuma ACL específica foi definida em my_file.txt, getfacl mostra as permissões padrão derivadas dos bits de permissão padrão.
Usar getfacl é essencial quando você precisa entender o conjunto completo de permissões aplicadas a um arquivo ou diretório, especialmente em ambientes onde as ACLs são usadas.
Clique em Continuar para concluir este laboratório.
Resumo
Neste laboratório, você aprendeu como verificar as permissões de arquivos no Linux usando o comando ls -l. Você criou um arquivo de exemplo e interpretou a saída de ls -l, entendendo o tipo de arquivo e as permissões de leitura, escrita e execução para o proprietário, grupo e outros.
Você também explorou métodos alternativos para inspecionar as permissões de arquivos. Você usou o comando stat --format para recuperar detalhes específicos de permissão em um formato mais estruturado, e o comando getfacl para verificar as Listas de Controle de Acesso (ACLs), que fornecem um controle de permissão mais granular além do proprietário, grupo e outros padrão.



