Introdução
Neste laboratório, você aprenderá o processo fundamental de criação e restauração de um backup do sistema de arquivos em um ambiente Linux utilizando o utilitário de linha de comando tar (tape archive). O objetivo principal é adquirir experiência prática em tarefas essenciais de administração de sistemas, incluindo o gerenciamento de permissões de usuário e a manipulação de arquivos compactados. Você utilizará o comando sudo para executar operações com privilégios elevados quando necessário, permitindo o acesso e o backup de diretórios críticos do sistema, especificamente o diretório /home, que contém os dados dos usuários.
O laboratório guiará você por um fluxo de trabalho prático usando a conta de usuário padrão labex com sudo para tarefas administrativas. Você criará um arquivo compactado de todo o diretório /home e verificará se a criação foi bem-sucedida. Para simular um cenário de restauração, você navegará até um diretório temporário, /tmp, e extrairá o conteúdo do seu arquivo de backup. Por fim, você verificará se os arquivos e a estrutura de diretórios foram restaurados corretamente no novo local, confirmando a integridade do seu processo de backup e restauração.
Compreender o Ambiente Atual
Nesta etapa, você conhecerá seu ambiente atual e aprenderá como usar o sudo para tarefas administrativas. O usuário labex tem a capacidade de executar comandos com privilégios elevados usando o sudo (superuser do), o que permite realizar tarefas administrativas sem precisar alternar para a conta do usuário root.
O uso do sudo é uma prática recomendada de segurança, pois fornece privilégios elevados temporários para comandos específicos, mantendo o seu contexto de usuário. Essa abordagem é mais segura do que alternar inteiramente para o usuário root, pois reduz o risco de executar comandos perigosos acidentalmente.
Primeiro, vamos verificar sua identidade de usuário atual e sua localização executando os comandos whoami e pwd (print working directory).
Verifique quem você é:
whoami
A saída deve ser labex:
labex
Em seguida, verifique seu diretório atual:
pwd
A saída deve mostrar que você está no diretório de projeto do usuário labex:
/home/labex/project
Você pode testar seus privilégios de sudo executando um comando simples que exige acesso administrativo. Vamos listar o conteúdo do diretório /root, que normalmente requer permissões elevadas:
sudo ls /root
Este comando será executado com sucesso, demonstrando que você possui os privilégios de sudo necessários para realizar tarefas administrativas. O comando sudo concederá temporariamente as permissões necessárias para acessar áreas restritas do sistema de arquivos.
Agora que você entende seu ambiente e as capacidades do sudo, está pronto para criar um backup na próxima etapa.
Criar um Arquivo de Backup do Diretório /home
Nesta etapa, você criará um backup do diretório /home usando o comando tar com sudo. O utilitário tar (tape archiver) é uma ferramenta padrão no Linux para criar, visualizar e extrair arquivos de arquivamento. Um arquivo de arquivamento é um único arquivo que contém vários outros arquivos e diretórios, facilitando seu armazenamento e transporte.
Você está logado atualmente como o usuário labex, e seu diretório de trabalho atual é /home/labex/project. Você criará o arquivo de backup em seu diretório pessoal (home), que é acessível à sua conta de usuário.
O comando que você usará é sudo tar -cvf ~/backup.tar /home. Vamos detalhar as opções:
sudo: Concede os privilégios necessários para ler todos os arquivos no diretório/home, incluindo aqueles que pertencem a outros usuários.-c(create): Esta opção instrui otara criar um novo arquivo de arquivamento.-v(verbose): Faz com que otarliste cada arquivo à medida que ele é adicionado ao arquivo. Isso é útil para acompanhar o progresso da operação.-f(file): Esta opção permite especificar o nome do arquivo de arquivamento. Ela deve ser seguida imediatamente pelo nome do arquivo. No nosso caso, é~/backup.tar. O símbolo~é um atalho para o seu diretório home (/home/labex)./home: Este é o diretório de origem do qual você deseja fazer o backup.
Agora, execute o comando em seu terminal para criar o arquivo de backup:
sudo tar -cvf ~/backup.tar /home
Como você usou a opção -v, verá uma longa lista de arquivos rolando na tela conforme eles são adicionados ao arquivo backup.tar. A saída será semelhante a esta, listando todos os arquivos dentro do diretório /home:
tar: Removing leading `/' from member names
/home/
/home/labex/
/home/labex/.bashrc
/home/labex/.profile
/home/labex/.zshrc
/home/labex/project/
/home/labex/.zsh_history
...
A mensagem tar: Removing leading '/' from member names é normal. Ela significa que o tar está armazenando os caminhos dentro do arquivo de forma relativa ao diretório especificado, o que é uma prática padrão para garantir a portabilidade.
Na próxima etapa, você verificará se o arquivo backup.tar foi criado com sucesso.
Verificar a Criação do Arquivo backup.tar
Nesta etapa, você verificará se o arquivo backup.tar foi criado com sucesso na etapa anterior. Após realizar uma operação crítica como um backup, é sempre uma boa prática confirmar se o arquivo de saída esperado realmente existe.
Como você criou o arquivo de backup em seu diretório home (~/backup.tar), você precisa verificar esse diretório. A maneira mais simples de verificar o arquivo é usando o comando ls (list) com o caminho completo ou navegando até o seu diretório home.
Execute o comando ls para verificar seu diretório home:
ls ~
O comando listará todos os arquivos e diretórios em seu diretório home. Você deverá ver o arquivo backup.tar na saída:
backup.tar
Alternativamente, você pode verificar o arquivo diretamente usando seu caminho completo:
ls -l ~/backup.tar
A saída será algo parecido com isto:
-rw-r--r-- 1 root root 10240 <Data> <Hora> /home/labex/backup.tar
Esta listagem detalhada oferece mais segurança, mostrando que o arquivo existe e possui um tamanho superior a zero, que é o esperado para um arquivo de backup. Observe que o arquivo pertence ao root porque você o criou usando sudo, mas ele está armazenado em seu diretório home acessível.
Agora que você criou e verificou o backup com sucesso, a próxima etapa é simular um cenário de restauração.
Mudar para o Diretório /tmp para Restauração
Nesta etapa, você mudará seu diretório atual para /tmp. Para praticar a restauração de um backup, o ideal é extrair os arquivos em um local neutro primeiro. Isso evita a substituição acidental de arquivos existentes e permite que você inspecione os dados restaurados antes de movê-los para o destino final. O diretório /tmp é um local padrão em sistemas Linux para arquivos temporários e é perfeito para este propósito.
Para navegar entre diretórios no sistema de arquivos Linux, utiliza-se o comando cd (change directory). Atualmente, você está no diretório /root.
Para mudar para o diretório /tmp, execute o seguinte comando:
cd /tmp
Após executar o comando, o prompt do seu terminal pode não parecer diferente, mas sua localização no sistema de arquivos mudou. Você pode confirmar sua nova localização usando o comando pwd (print working directory), que exibe o caminho completo do seu diretório atual.
pwd
A saída deve confirmar que você está agora em /tmp:
/tmp
Agora que você está no diretório /tmp, está pronto para extrair o conteúdo do arquivo backup.tar que criou anteriormente.
Extrair o Arquivo de Backup para o Diretório Atual
Nesta etapa, você extrairá o conteúdo do arquivo backup.tar para o seu diretório atual, /tmp. Esse processo é frequentemente chamado de "restauração" de um backup. Você usará o comando tar novamente, mas com opções diferentes para realizar a extração.
Você está atualmente no diretório /tmp. O arquivo de backup, backup.tar, está localizado em seu diretório home (/home/labex). Portanto, você deve fornecer o caminho completo para o arquivo de arquivamento ao executar o comando.
O comando para extrair o arquivo é tar -xvf ~/backup.tar. Vamos analisar as opções:
-x(extract): Esta opção instrui otara extrair arquivos de um arquivamento. Esta é a principal diferença em relação ao comando de criação.-v(verbose): Assim como antes, esta opção lista cada arquivo à medida que é extraído, mostrando o progresso.-f(file): Especifica o nome do arquivo de arquivamento a ser processado. Você usa~/backup.tarpara referenciar o arquivo de backup em seu diretório home.
Observe que você não precisa de sudo para a extração porque está extraindo para /tmp, que tem permissão de escrita para usuários comuns, e você está apenas lendo o arquivo de backup (não modificando arquivos do sistema).
Agora, execute o comando em seu terminal para extrair os arquivos:
tar -xvf ~/backup.tar
Você verá uma lista de arquivos e diretórios sendo criados em seu diretório atual (/tmp). A saída será a lista de arquivos contidos no arquivamento, que deve parecer familiar desde o momento em que você o criou:
home/
home/labex/
home/labex/.bashrc
home/labex/.profile
home/labex/.zshrc
home/labex/project/
home/labex/.zsh_history
...
Esta saída indica que o tar criou um diretório home dentro de /tmp e restaurou todos os arquivos e diretórios de backup dentro dele. Na etapa final, você verificará isso.
Verificar se os Arquivos foram Restaurados em /tmp
Nesta etapa final, você confirmará que os arquivos do arquivo de backup foram extraídos corretamente no diretório /tmp. Esta é uma parte crucial de qualquer processo de restauração para garantir a integridade dos dados.
Você está atualmente no diretório /tmp. Para ver o diretório home recém-criado, use o comando ls:
ls
Você deve ver um diretório home listado entre quaisquer outros arquivos temporários que possam estar presentes:
home
...
Isso confirma que o diretório de nível superior do arquivamento foi criado. Para ser mais minucioso, vamos olhar dentro deste novo diretório home para ver se ele contém os dados de usuário esperados.
ls home
A saída deve mostrar o diretório home do usuário labex, que era o conteúdo do diretório /home original do qual você fez o backup:
labex
Isso confirma que o processo de backup e restauração foi bem-sucedido. Você criou um backup do /home usando privilégios de sudo, armazenou-o em seu diretório home (/home/labex) e, em seguida, restaurou-o com sucesso em um local temporário em /tmp/home.
Você pode verificar se os arquivos restaurados correspondem aos originais comparando alguns arquivos. Por exemplo, você pode verificar se o seu arquivo .bashrc foi restaurado corretamente:
ls home/labex/.bashrc
A saída deve confirmar que o arquivo existe:
home/labex/.bashrc
O processo de backup e restauração está agora concluído. Você demonstrou com sucesso como usar o tar com privilégios de sudo para criar um backup do sistema mantendo seu contexto de usuário, que é a abordagem recomendada para tarefas de administração de sistemas.
Resumo
Neste laboratório, você aprendeu como realizar uma tarefa fundamental de administração de sistemas: criar e restaurar um backup de diretório usando o comando tar no Linux com privilégios de sudo. O processo começou com a compreensão do seu ambiente como o usuário labex e o uso do sudo para executar comandos com privilégios elevados quando necessário. Essa abordagem é mais segura do que alternar totalmente para o usuário root, pois fornece permissões elevadas temporárias para tarefas específicas enquanto mantém o seu contexto de usuário.
Você utilizou o utilitário tar com sudo para criar um único arquivo de arquivamento, backup.tar, contendo todo o conteúdo do diretório /home, armazenando-o em seu diretório home acessível. Isso demonstrou como lidar com backups de todo o sistema trabalhando dentro dos limites do usuário e evitando possíveis conflitos com funções do sistema.
Para a parte de restauração do laboratório, você aprendeu a prática recomendada de primeiro mudar para um local seguro e temporário, como o diretório /tmp, para evitar a substituição de dados ativos. A partir daí, você usou o comando tar para extrair o conteúdo do arquivo backup.tar em seu diretório atual sem exigir privilégios elevados, já que estava apenas lendo o arquivo de backup e gravando em um local acessível ao usuário. A etapa final envolveu a verificação de que os arquivos e diretórios do backup foram restaurados corretamente em /tmp, confirmando a integridade de todo o ciclo de backup e restauração.



