# Atividade prática: administrando permissões

Vamos realizar uma sequência de operações para consolidar os conceitos apresentados.

Os exemplos a seguir podem ser executados em um diretório de testes no seu ambiente Linux.

## Criar arquivos e inspecionar seus metadados

Crie um diretório de trabalho e dois arquivos:

```
mkdir -p ~/laboratorio-permissoes
cd ~/laboratorio-permissoes

touch relatorio.txt
printf '#!/bin/sh\necho "Olá, Linux"\n' > script.sh
```

Consulte as informações:

```
ls -l
ls -li
stat relatorio.txt
```

Observe os números de inode, o tamanho dos arquivos, os proprietários, os grupos e as permissões iniciais.

O modo inicial depende da {manpage}`umask(1)`, que influencia as permissões concedidas durante a criação dos objetos.

## Alterar permissões com octal

Execute:

```
chmod 640 relatorio.txt
chmod 750 script.sh
```

Verifique:

```
ls -l
```

Os modos básicos esperados são:

```
-rw-r----- relatorio.txt
-rwxr-x--- script.sh
```

O script passa a ter permissão de execução para o proprietário e para o grupo, mas isso não garante, por si só, que sua execução será bem-sucedida: o interpretador indicado[^1], o conteúdo e outras condições também importam.

## Alterar permissões com símbolos

Experimente:

```
chmod o+r relatorio.txt
chmod g-w script.sh
chmod u-x script.sh
```

Em seguida:

```
ls -l
```

Observe como cada comando modifica apenas as categorias e permissões especificadas.

## Alterar o grupo proprietário

Consulte os grupos existentes:

```
getent group
```

Escolha um grupo ao qual seu usuário pertença e execute:

```
chgrp nome_do_grupo relatorio.txt
ls -l relatorio.txt
```

Substitua `nome_do_grupo` pelo nome real de um grupo apropriado do seu sistema. Se não tiver autorização para realizar a alteração, verifique os privilégios e a associação do usuário ao grupo.

## Consultar novamente os metadados

```
stat relatorio.txt
ls -li relatorio.txt
```

Compare a saída com a consulta inicial.

Você deverá ser capaz de identificar alterações no modo de acesso e, se a operação tiver sido realizada, no grupo proprietário. O número do inode normalmente continuará igual, pois alterar permissões ou propriedade não cria um novo objeto.

[^1]: No Linux/UNIX, o interpretador do script é indicado por meio de um comentário especial na primeira linha do arquivo. Para maiores informações, pesquise por <https://en.wikipedia.org/wiki/Shebang_(Unix)>.