Módulo 7 - Roteiro 1
Tarefas
No final deste módulo você deve submeter em um ÚNICO arquivo PDF os seguintes prints:
- Atividade 7.1: passo 13.
- Atividade 7.2: passo 11.
- Atividade 7.3: passo 8.
- Atividade 7.4: passo 9.
- Atividade 7.5: passo 10.
Atividade 7.1 – Aplicando o Software RAID 0 no Kali Linux
Nesta atividade, vamos usar o Terminal para descobrir como implementar o RAID 0 no Kali Linux com 2 partições de 100M cada uma. Importante: nos passos do Terminal que você deve apertar somente “Enter”, o espaço ficará em branco após os “:”.
Mas antes de iniciar a atividade, vamos precisar criar dois novos discos para a máquina virtual. Para isso a VM deve estar desligada e então considere os seguintes passos:
Pré-atividade 1) Abra o virtual box e selecione a VM do Kali Linux.
Pré-atividade 2) Abra as configurações da VM (Settings). Selecione no menu vertical, lateral, esquerdo a opção Storage (Armazenamento).
Pré-atividade 3) Existe apenas um disco, com nome "Kali Linux.vdi". Crie dois novos discos com 100MB cada, clicando no ícone "Add hard disk". Crie um novo disco com nome "Disk1" e escolha-o. Faça o mesmo procedimento criando um segundo disco "Disk2".
Vamos começar a atividade inicializando nosso Kali Linux.
1) Abra o Terminal e execute o seguinte comando para ser super usuário:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
2) Agora temos dois novos discos nos sistema. Você pode observar isso listando os dispositivos do tipo "sb" no diretório "dev":
┌──(root㉿kali)-[~]
└─# ls /dev/sd*
Observe que aparecem os dispositivos "sdb" e "sdc" (sem partições). Você também pode ver os discos disponíveis (os tamanhos dos discos /dev/sdb e /dev/sdc podem variar um pouco):
┌──(root㉿kali)-[~]
└─# fdisk -l
4) Agora criaremos as 2 partições primárias de 100M cada uma para usarmos no RAID0 (aperte “ENTER” nos campos onde nada é inserido). Elas serão sdb (e logo a seguir faremos para sdc):
┌──(root㉿kali)-[~]
└─# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.41.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-4194303, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-4194303, default 4194303):
Created a new partition 1 of type 'Linux' and of size 100 MiB.
5) Veja como ficaram as partições agora:
Command (m for help): p
Disk /dev/nvme1n1: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk model: Amazon Elastic Block Store
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9c63bfb2
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 206847 204800 100M 83 Linux
6) Para finalizar, devemos aplicar as modificações na tabela de partições e fazer com que o Kernel fique ciente desta atualização com os seguintes comandos:
Command (m for help): w
The partition table has been altered.
Syncing disks.
7) Repita o procedimento a partir do passo 4, mas agora para o dispositivo "sdc".
8) Agora que temos as partições que formarão o RAID0 (sdb1 e sdc1), vamos configurar as duas novas partições em Raid 0 com o utilitário mdadm. Note que o RAID0 é determinado em --level=0.
Instale o "mdadm" para gerenciamento de dispositivos RAID:
┌──(root㉿kali)-[~]
└─# apt install mdadm
Crie o dispositivo RAID do tipo zero:
┌──(root㉿kali)-[~]
└─# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
Agora você tem um array /dev/md0 com 2 partições configuradas em Raid 0. Para testar e verificar o disco criado com RAID 0 no Kali Linux, temos de executar os próximos passos.
9) Verifique se o dispositivo RAID está carregado no sistema, digitando o seguinte comando:
┌──(root㉿kali)-[~]
└─# ls -l /dev/md0
brw-rw---- 1 root disk 9, 0 fev 18 12:04 /dev/md0
10) Agora você pode formatar o dispositivo RAID 0 com um sistema de arquivos, como ext4. Use o seguinte comando para formatar o dispositivo:
┌──(root㉿kali)-[~]
└─# mkfs.ext4 /dev/md0
mke2fs 1.47.2 (1-Jan-2025)
Creating filesystem with 200704 1k blocks and 50200 inodes
Filesystem UUID: 2af2ba0a-a2bc-4054-bce9-76b569b15ede
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
11) Crie um diretório onde deseja montar o dispositivo RAID 0, por exemplo:
┌──(root㉿kali)-[~]
└─# mkdir /mnt/raid0
12) Monte o dispositivo RAID 0 no diretório que você criou usando o seguinte comando:
┌──(root㉿kali)-[~]
└─# mount /dev/md0 /mnt/raid0
13) Agora você pode acessar o disco RAID 0 montado em /mnt/raid0. Use comandos como ls para listar o conteúdo do disco e df -h para verificar o espaço disponível:
┌──(root㉿kali)-[~]
└─# df -h
Sist. Arq. Tam. Usado Disp. Uso% Montado em
udev 1,9G 0 1,9G 0% /dev
tmpfs 388M 996K 387M 1% /run
/dev/nvme0n1p1 19G 18G 511M 98% /
tmpfs 1,9G 0 1,9G 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 1,9G 424K 1,9G 1% /tmp
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-journald.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-udev-load-credentials.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-sysctl.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup-dev-early.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup-dev.service
/dev/nvme0n1p15 124M 286K 124M 1% /boot/efi
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/serial-getty@ttyS0.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/getty@tty1.service
tmpfs 388M 120K 388M 1% /run/user/0
tmpfs 388M 128K 388M 1% /run/user/1001
/dev/md0 179M 63K 165M 1% /mnt/raid0
Finalmente, temos nossa partição em RAID0 (última linha do comando anterior) de armazenamento para livre uso (não ficou com 200M, 100M + 100M, porque alguns MegaBytes são reservados para o uso desta unidade)!
14) Veja como ficou a configuração de discos - os tamanhos dos discos /dev/sdb1 e /dev/sdc1 podem variar um pouco (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):
┌──(root㉿kali)-[~]
└─# fdisk -l
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk model: Amazon Elastic Block Store
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9c63bfb2
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 206847 204800 100M 83 Linux
Disk /dev/sdc: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk model: Amazon Elastic Block Store
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9c63bfb2
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 206847 204800 100M 83 Linux
Disk /dev/sda: 19 GiB, 20401094656 bytes, 39845888 sectors
Disk model: Amazon Elastic Block Store
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 9FFA977A-4F2F-44A0-BCAC-15A77352798A
Device Start End Sectors Size Type
/dev/sda1 262144 39845854 39583711 18,9G Linux filesystem
/dev/sda2 2048 8191 6144 3M BIOS boot
/dev/sda3 8192 262143 253952 124M EFI System
Partition table entries are not in disk order.
Disk /dev/md0: 196 MiB, 205520896 bytes, 401408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Veja que o disco RAID /dev/md0 foi criado!
15) Antes de passar para a próxima atividade, vamos desfazer o dispositivo RAID 0 criado:
┌──(aluno㉿kali)-[~]
└─$ umount /mnt/raid0
┌──(aluno㉿kali)-[~]
└─$ mdadm --stop /dev/md0
┌──(aluno㉿kali)-[~]
└─$ mdadm --zero-superblock /dev/sdb1 /dev/sdc1
16) Feche o Terminal. Caso você queira, pode implementar esta solução usando 2 discos rígidos físicos no seu computador. Para isso, você deverá identificar corretamente as partições e aplicar a mesma lógica do laboratório.
Parabéns! Agora, você sabe como implantar o RAID0 no Linux!
Atividade 7.2 – Aplicando o Software RAID 1 no Kali Linux
Nesta atividade, vamos usar o Terminal para descobrir como implementar o RAID 1 no Kali Linux com 2 partições de 100M cada uma.
Vamos começar inicializando nosso Kali Linux. Nesta atividade vamos utilizar os 2 discos já criados e inseridos na VM, realizados na atividade 1 deste roteiro.
1) Abra o Terminal e execute o seguinte comando para ser super usuário:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
2) Confira a configuração dos discos (os tamanhos dos discos /dev/sdb1 e /dev/sdc1, que devem estar com aproximadamente 100Mb):
┌──(root㉿kali)-[~]
└─# fdisk -l
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk model: Amazon Elastic Block Store
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9c63bfb2
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 206847 204800 100M 83 Linux
Disk /dev/sdc: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk model: Amazon Elastic Block Store
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9c63bfb2
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 206847 204800 100M 83 Linux
Disk /dev/sda: 19 GiB, 20401094656 bytes, 39845888 sectors
Disk model: Amazon Elastic Block Store
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 9FFA977A-4F2F-44A0-BCAC-15A77352798A
Device Start End Sectors Size Type
/dev/sda1 262144 39845854 39583711 18,9G Linux filesystem
/dev/sda2 2048 8191 6144 3M BIOS boot
/dev/sda3 8192 262143 253952 124M EFI System
Partition table entries are not in disk order.
3) Vamos criar o array RAID 1 com os dispositivos e sdb1 e sdc1 usando o seguinte comando:
┌──(root㉿kali)-[~]
└─# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
To optimalize recovery speed, it is recommended to enable write-indent bitmap, do you want to enable it now? [y/N]? y
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array [y/N]? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
Note que o RAID1 é determinado em --level=1.
4) Verifique se o dispositivo RAID está carregado no sistema, digitando o seguinte comando:
┌──(root㉿kali)-[~]
└─# ls -l /dev/md1
brw-rw---- 1 root disk 9, 1 out 6 16:53 /dev/md1
5) Verifique o status do RAID (md1) recém-criado usando o seguinte comando:
┌──(root㉿kali)-[~]
└─# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 nvme1n1p4[1] nvme1n1p3[0]
101376 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
unused devices: <none>
Isso mostrará informações resumidas sobre todos os arrays RAID presentes no sistema. Certifique-se de que o array RAID 1 (md1) esteja listado como ativo.
6) Para poder usar o array md1, formate o array RAID com o sistema de arquivos de sua escolha. Por exemplo, para formatar como ext4, use o seguinte comando:
┌──(root㉿kali)-[~]
└─# mkfs.ext4 /dev/md1
mke2fs 1.47.2 (1-Jan-2025)
Creating filesystem with 101376 1k blocks and 25376 inodes
Filesystem UUID: 11177e82-b1ac-4f49-9d22-8f5be016009b
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
7) Crie um ponto de montagem para o array RAID. Por exemplo:
┌──(root㉿kali)-[~]
└─# mkdir /mnt/raid1
8) Monte o array RAID no ponto de montagem recém-criado e na sequência veja que o /dev/md1 está presente no modo RAID1 (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):
┌──(root㉿kali)-[~]
└─# mount /dev/md1 /mnt/raid1
┌──(root㉿kali)-[~]
└─# df -h
Sist. Arq. Tam. Usado Disp. Uso% Montado em
udev 1,9G 0 1,9G 0% /dev
tmpfs 388M 1008K 387M 1% /run
/dev/nvme0n1p1 19G 18G 511M 98% /
tmpfs 1,9G 0 1,9G 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 1,9G 556K 1,9G 1% /tmp
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-journald.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-udev-load-credentials.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-sysctl.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup-dev-early.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup-dev.service
/dev/nvme0n1p15 124M 286K 124M 1% /boot/efi
tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-tmpfiles-setup.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/serial-getty@ttyS0.service
tmpfs 1,0M 0 1,0M 0% /run/credentials/getty@tty1.service
tmpfs 388M 120K 388M 1% /run/user/0
tmpfs 388M 128K 388M 1% /run/user/1001
/dev/md0 179M 63K 165M 1% /mnt/raid0
/dev/md1 88M 46K 81M 1% /mnt/raid1
Finalmente, temos nossa partição em RAID1 com 88M de armazenamento para livre uso (não ficou com 100M porque alguns MegaBytes são reservados para o uso desta unidade)!
9) Feche o Terminal. Caso você queira, pode implementar esta solução usando 2 discos rígidos físicos no seu computador. Para isso, você deverá identificar corretamente as partições e aplicar a mesma lógica do laboratório.
Atividade 7.3 – Replicando conteúdo de pastas no Kali Linux com o Rsync de forma manual
Nesta atividade, vamos usar o Terminal para descobrir como implementar a replicação do conteúdo de uma pasta para outra no Kali Linux.
Vamos começar inicializando nosso Kali Linux.
1) Abra o Terminal e execute o seguinte comando para ser super usuário:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
2) Navegue até a pasta Documentos:
┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos/
3) Crie duas pastas na pasta Documentos com todas as permissões (leitura, escrita e execução com o comando “-m 777”) para que não tenhamos problemas na replicação. As pastas são “PastaA” e “PastaB” (confira que foram criadas):
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# mkdir -m 777 PastaA PastaB
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# ls
PastaA PastaB
4) Navega até a PastaA e cria um arquivo Teste.txt com o programa nano:
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# cd PastaA
┌──(root㉿kali)-[/home/aluno/Documentos/PastaA]
└─# nano Teste.txt
5) Na janela do nano, escreva:
Teste de Pasta A para Pasta B
Em seguida, aperte “Ctrl + x”, “s” para salvar e “Enter” para confirmar.
6) Liste o conteúdo da “PastaA” para ver que foi criado o arquivo “Teste.txt”. Em seguida, navegue até a “PastaB” e também liste essa pasta para verificar que está vazia:
┌──(root㉿kali)-[/home/aluno/Documentos/PastaA]
└─# ls
Teste.txt
┌──(root㉿kali)-[/home/aluno/Documentos/PastaA]
└─# cd /home/aluno/Documentos/PastaB
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# ls
7) Replique o conteúdo da (arquivo “Teste.txt”) para a “PastaB”:
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# rsync -avz /home/aluno/Documentos/PastaA/Teste.txt /home/aluno/Documentos/PastaB
sending incremental file list
Teste.txt
sent 140 bytes received 35 bytes 350,00 bytes/sec
total size is 30 speedup is 0,17
O comando conta com os seguintes:
- rsync: Este é o comando principal que invoca o utilitário rsync para sincronização de arquivos e diretórios.
- -avz: Estas são opções que modificam o comportamento do rsync: -a: Modo de transferência no qual os arquivos são transferidos de forma recursiva e preservando as permissões, proprietários, grupos e timestamps. -v: Modo verboso que exibe informações detalhadas durante a execução do rsync, mostrando os arquivos que estão sendo sincronizados. -z: Compressão durante a transferência, o que pode reduzir o tempo de transferência para arquivos grandes ou em redes de baixa largura de banda.
- /home/aluno/Documentos/PastaA/Teste.txt: Este é o arquivo de origem que será sincronizado.
- /home/aluno/Documentos/PastaB: Este é o diretório de destino onde os arquivos e diretórios da pasta de origem serão copiados. Se os arquivos na pasta de destino já existirem, eles serão atualizados ou substituídos para corresponder aos da pasta de origem durante a sincronização.
8) Finalmente, liste o conteúdo da “PastaB” e verifique que o conteúdo da “PastaA” (arquivo “Teste.txt”) foi replicado na “PastaB” (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# ls
Teste.txt
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# cat Teste.txt
Teste de Pasta A para Pasta B
9) Apague somente o arquivo Teste.txt presente na PastaB:
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# ls
Teste.txt
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# rm *
zsh: sure you want to delete the only file in /home/aluno/Documentos/PastaB [yn]? y
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# ls
10) Perceba que o arquivo Teste.txt ainda está presente em /home/aluno/Documentos/PastaA. Deixe assim mesmo porque esse arquivo será usado na próxima Atividade!
Parabéns! Neste ponto você conseguiu efetuar a replicação com RSYNC com sucesso! Caso você queira, pode conferir o resultado abrindo as pasta.
Atividade 7.4 – Replicando conteúdo de pastas no Kali Linux com o Rsync automaticamente a cada minuto
Nesta atividade, vamos usar o Terminal para descobrir como implementar a replicação do conteúdo de uma pasta para outra no Kali Linux.
Vamos começar inicializando nosso Kali Linux.
1) Abra o Terminal e execute o seguinte comando para ser super usuário:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
2) Navegue até Documentos e veja que está presente a “PastaA” com o arquivo “Teste.txt” e a “PastaB” vazia:
┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# ls
PastaA PastaB
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# cd /home/aluno/Documentos/PastaA
┌──(root㉿kali)-[/home/aluno/Documentos/PastaA]
└─# ls
Teste.txt
┌──(root㉿kali)-[/home/aluno/Documentos/PastaA]
└─# cd /home/aluno/Documentos/PastaB
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# ls
3) Vamos criar um script na pasta Documentos (pode ser qualquer outra pasta do seu agrado) chamado sync_script.sh. Ele será executado automaticamente a cada minuto pelo Kali Linux. Nesse script estará implementada a replicação via o Rsync da “PastaA” para a “PastaB”:
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# cd /home/aluno/Documentos
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# nano sync_script.sh
4) Crie o script no nano:
#!/bin/bash
rsync -avz /home/aluno/Documentos/PastaA/ /home/aluno/Documentos/PastaB/
Em seguida, aperte “Ctrl + x”, “s” para salvar e “Enter” para confirmar.
5) Vamos tornar o script executável, utilizando o comando:
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# chmod +x sync_script.sh
6) Vamos abrir o agendador de tarefas do Kali Linux com o próximo comando. Será solicitado que você escolha um editor de texto padrão. Selecione o editor nano.
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# crontab -e
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
Choose 1-3 [1]: 1
no crontab for root - using an empty one
crontab: installing new crontab
Adicione a seguinte linha no arquivo de texto aberto (pode ser na última linha):
* * * * * /home/aluno/Documentos/sync_script.sh
A linha mostrada acima fará que nosso script seja executado a cada minuto! Para maiores informações de como mudar esse parâmetro, veja: https://cron.help/
Em seguida, aperte “Ctrl + x”, “s” para salvar e “Enter” para confirmar.
7) Aguarde por 1 minuto (pode ser que demore um pouquinho mais) e abra um segundo Terminal, repita o passo 1, navegue até a Pasta B, que estava vazia, e verifique que agora conta com o arquivo “Teste.txt”:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos/PastaB
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# ls
Teste.txt
8) Volte ao Terminal 1, navegue até a Pasta A e crie o seguinte arquivo txt:
┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos/PastaA
┌──(root㉿kali)-[/home/aluno/Documentos/PastaA]
└─# nano Teste2.txt
Adicione a seguinte linha no arquivo de texto:
Novo teste!
Em seguida, aperte “Ctrl + x”, “s” para salvar e “Enter” para confirmar. Esse novo arquivo deve também ser replicado automaticamente em até 1 minuto para a pasta “PastaB”.
9) Volte ao Terminal 2, espere no máximo 1 minuto e verifique o conteúdo da “PastaB” (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!).
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# ls
Teste1.txt Teste2.txt
┌──(root㉿kali)-[/home/aluno/Documentos/PastaB]
└─# cd /home/aluno/Documentos/
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# ls
PastaA PastaB sync_script.sh
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# rm -r *
zsh: sure you want to delete all 3 files in /home/aluno/Documentos [yn]? y
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# ls
10) Edite novamente o agendamento de aplicações, usando o comando:
┌──(root㉿kali)-[/home/aluno/Documentos]
└─# crontab -e
Apague a linha que foi adicionada no passo 6.
Perceba que neste laboratório, 2 arquivos de texto foram replicados automaticamente da “PastaA” para a “PastaB”. Este laboratório também serve para qualquer tipo de arquivo, como imagens, vídeos ou documentos!