Gerenciar Permissões e Propriedade de Arquivos Padrão

LinuxBeginner
Pratique Agora

Introdução

As permissões no Linux determinam quem pode ler, alterar ou executar arquivos. As tarefas do RHCSA geralmente exigem que você inspecione strings de permissão, defina modos numéricos e simbólicos, altere a propriedade e configure diretórios para que os arquivos sejam utilizáveis pelo grupo pretendido.

Neste laboratório, você trabalhará diretamente dentro de /home/labex/project. Você inspecionará arquivos preparados, aplicará modos de arquivo padrão com chmod, habilitará um script com segurança, assumirá a propriedade de um arquivo de transferência pertencente ao root e configurará um diretório compartilhado com setgid.

Inspecionar Campos de Permissão de Arquivo

Nesta etapa, você inspecionará as permissões antes de alterá-las. O primeiro campo na saída de ls -l mostra o tipo de arquivo e as permissões; os campos de proprietário e grupo mostram quem controla o arquivo.

Entre no diretório de projeto padrão do LabEx.

cd /home/labex/project

Liste a árvore do laboratório preparada.

ls -l permissions-lab

Inspecione os arquivos de configuração preparados. O modo, o proprietário e o grupo estão visíveis na listagem detalhada.

ls -l permissions-lab/configs

Use stat para uma visualização compacta de um arquivo. %a imprime o modo numérico, %U imprime o nome do proprietário e %G imprime o nome do grupo.

stat -c '%n %a %U %G' permissions-lab/configs/private.conf

Inspecione o arquivo de transferência pertencente ao root. Observe que o proprietário e o grupo são atualmente root.

ls -l permissions-lab/shared/handoff.txt

Definir Modos de Arquivo com chmod Numérico

Nesta etapa, você usará modos numéricos com chmod. Os três dígitos descrevem as permissões de usuário, grupo e outros. Por exemplo, 600 significa apenas leitura/gravação para o usuário, e 644 significa leitura/gravação para o usuário, enquanto o grupo e outros podem apenas ler.

Comece a partir do diretório do projeto.

cd /home/labex/project

Torne o arquivo private.conf legível e gravável apenas pelo seu proprietário. Isso é apropriado para um arquivo que contém configurações confidenciais.

chmod 600 permissions-lab/configs/private.conf

Torne o readme.txt legível por todos, mas gravável apenas pelo proprietário.

chmod 644 permissions-lab/configs/readme.txt

Inspecione os modos com stat.

stat -c '%n %a' permissions-lab/configs/private.conf permissions-lab/configs/readme.txt

Você deverá ver 600 para private.conf e 644 para readme.txt.

Habilitar Execução de Script com chmod Simbólico

Nesta etapa, você usará permissões simbólicas. O modo simbólico permite adicionar ou remover uma permissão específica sem reescrever todo o modo numérico.

Comece a partir do diretório do projeto.

cd /home/labex/project

Inspecione o script antes de alterá-lo. Ele deve estar legível, mas não executável.

ls -l permissions-lab/scripts/check-inventory.sh

Adicione permissão de execução para o proprietário e o grupo. Em u+x,g+x, u significa usuário, g significa grupo e +x significa adicionar permissão de execução.

chmod u+x,g+x permissions-lab/scripts/check-inventory.sh

Execute o script a partir do seu caminho.

permissions-lab/scripts/check-inventory.sh

Saída esperada:

inventory check ok

Inspecione o modo final. Ele agora deve incluir bits de execução para o usuário e o grupo.

stat -c '%n %a' permissions-lab/scripts/check-inventory.sh

Alterar a Propriedade de um Arquivo de Transferência

Nesta etapa, você assumirá a propriedade de um arquivo pertencente ao root usando sudo chown. Alterar a propriedade geralmente requer privilégios administrativos, portanto, sudo é apropriado para este arquivo de prática.

Comece a partir do diretório do projeto.

cd /home/labex/project

Inspecione o proprietário e o grupo atuais. O arquivo começa como root:root.

stat -c '%n %U:%G %a' permissions-lab/shared/handoff.txt

Altere o proprietário e o grupo para labex:labex. O formato user:group define ambos os campos em um único comando.

sudo chown labex:labex permissions-lab/shared/handoff.txt

Restrinja o arquivo para leitura/gravação do proprietário e acesso de leitura para o grupo.

chmod 640 permissions-lab/shared/handoff.txt

Adicione uma linha operacional agora que o labex é o proprietário do arquivo.

printf 'Handled by labex after ownership update.\n' >> permissions-lab/shared/handoff.txt

Inspecione o proprietário, grupo, modo e conteúdo finais.

stat -c '%n %U:%G %a' permissions-lab/shared/handoff.txt
cat permissions-lab/shared/handoff.txt

Configurar um Diretório Compartilhado com setgid

Nesta etapa, você configurará um diretório compartilhado. Os diretórios precisam de permissão de execução para serem acessados e pesquisados. O bit setgid em um diretório faz com que novos arquivos herdem o grupo do diretório, o que ajuda as equipes a manter o conteúdo compartilhado agrupado de forma consistente.

Comece a partir do diretório do projeto.

cd /home/labex/project

Inspecione o modo do diretório atual.

stat -c '%n %a %U:%G' permissions-lab/teamdrop

Defina o modo do diretório como 2775. O 2 inicial habilita o setgid, 775 dá acesso total ao proprietário e ao grupo, e dá acesso de leitura/execução aos outros.

chmod 2775 permissions-lab/teamdrop

Crie um arquivo dentro do diretório compartilhado.

printf 'team handoff ready\n' > permissions-lab/teamdrop/status.txt

Defina o modo do arquivo para que o proprietário e o grupo possam lê-lo e gravá-lo.

chmod 664 permissions-lab/teamdrop/status.txt

Inspecione o diretório e o novo arquivo.

stat -c '%n %a %U:%G' permissions-lab/teamdrop permissions-lab/teamdrop/status.txt
cat permissions-lab/teamdrop/status.txt

Resumo

Você praticou permissões e propriedade padrão do Linux para a preparação do RHCSA. Você inspecionou campos de permissão, aplicou modos de arquivo numéricos, usou chmod simbólico para habilitar a execução de scripts, alterou a propriedade com sudo chown, definiu modos de arquivo seguros e configurou um diretório compartilhado com setgid para que novos arquivos herdem o grupo pretendido.