Armazenamento, sistemas de arquivos e redes no Linux

Aprenda onde o Linux mantém seus arquivos e como funcionam seus diretórios especiais, links e arquivos de dispositivo. Inspecione discos e partições, monte sistemas de arquivos manualmente e na inicialização e descubra o que ocupa um disco. Consulte e altere configurações de rede com o comando ip, resolva nomes com DNS e o arquivo hosts e conecte-se a máquinas remotas com segurança usando SSH e pares de chaves.

BásicoAula 7 de 7 do curso Curso de Fundamentos de Linux

O que você vai aprender

  1. Saiba onde o Linux mantém programas, configurações, logs e arquivos de usuários e trabalhe com diretórios e arquivos especiais que se comportam de forma diferente dos comuns.
    • Conhecer o conteúdo de cada diretório de primeiro nível
      Use o Padrão de Hierarquia do Sistema de Arquivos para prever onde ficam programas, configurações, dados variáveis e arquivos de usuários.
    • Usar diretórios temporários e o sticky bit
      Escolha entre /tmp e /var/tmp, explique como o sticky bit protege diretórios compartilhados e crie arquivos temporários com segurança.
    • Criar e gerenciar links simbólicos e físicos
      Crie links simbólicos com ln -s, reconheça e repare links quebrados e explique como os links físicos diferem.
    • Reconhecer arquivos de dispositivo e sistemas de arquivos virtuais
      Identifique tipos de arquivo em ls -l, use os pseudodispositivos em /dev e leia informações do sistema em /proc e /sys.
  2. Identifique os dispositivos de armazenamento e as partições em um sistema Linux, conecte sistemas de arquivos à árvore de diretórios e faça essas montagens ocorrerem automaticamente na inicialização.
    • Identificar discos, partições e tipos de sistemas de arquivos
      Identifique dispositivos de armazenamento e partições, interprete as saídas de lsblk, blkid e fdisk e distinga tabelas de partições de tipos de sistemas de arquivos.
    • Montar e desmontar sistemas de arquivos
      Conecte um sistema de arquivos a um diretório com mount, veja o que está montado e desconecte-o com segurança usando umount.
    • Montar sistemas de arquivos na inicialização com /etc/fstab
      Leia e escreva entradas em /etc/fstab que identificam sistemas de arquivos pelo UUID e teste-as com segurança antes de reiniciar.
  3. Verifique quanto de cada sistema de arquivos está ocupado, descubra quais diretórios e arquivos usam o espaço e libere espaço sem danificar o sistema.
    • Verificar o espaço livre e os inodes com df
      Interprete a saída de df, explique por que seus números não se somam diretamente e reconheça quando os inodes se esgotam antes dos bytes.
    • Identificar o que ocupa espaço e fazer a limpeza com segurança
      Use du, sort e find para localizar diretórios e arquivos grandes, explique por que du e df apresentam resultados diferentes e libere espaço com segurança.
  4. Explique endereços, interfaces e rotas, consulte a configuração de rede de uma máquina com ip e ss, altere-a e descubra em qual etapa uma conexão falha.
    • Explicar interfaces, endereços IP e rotas
      Descreva interfaces de rede, endereços IPv4 e IPv6 com prefixos, faixas de endereços especiais, gateways padrão, portas e como os hosts obtêm suas configurações.
    • Consultar a configuração de rede com ip e ss
      Consulte interfaces, endereços e rotas com ip addr, ip link e ip route, e serviços em escuta com ss.
    • Alterar a configuração de rede e diagnosticar problemas de conexão
      Faça alterações temporárias com ip, alterações permanentes com a ferramenta de rede da distribuição e teste uma conexão passo a passo com ping.
  5. Explique como o Linux converte nomes em endereços IP, use /etc/hosts para nomes locais e verifique e teste as configurações do cliente DNS.
    • Explicar como o Linux converte nomes em endereços
      Descreva nomes e registros DNS, a ordem de consulta definida em /etc/nsswitch.conf e como /etc/hosts e o nome da própria máquina se encaixam nesse processo.
    • Verificar e testar a configuração do cliente DNS
      Leia /etc/resolv.conf e a saída de resolvectl, consulte nomes com host, dig e getent e localize falhas de resolução de nomes.
  6. Inicie sessões em máquinas remotas e copie arquivos por SSH, substitua senhas por pares de chaves e execute o servidor SSH com configurações seguras.
    • Iniciar sessões, executar comandos e copiar arquivos por SSH
      Conecte-se com ssh, verifique chaves de identificação do servidor, execute comandos remotos, transfira arquivos com scp, sftp e rsync e interprete erros de conexão.
    • Configurar o login com autenticação por chave
      Crie um par de chaves SSH com ssh-keygen, proteja-o com uma frase secreta e um agente, instale a chave pública em servidores e corrija problemas comuns de chave.
    • Executar e proteger o servidor SSH
      Gerencie o serviço sshd, altere suas configurações com segurança, desative logins por senha e leia seus logs.

Guia de estudo de Sistemas de arquivos e redes no Linux

6 capítulos

1

Orientar-se no sistema de arquivos do Linux

Os caminhos no Linux indicam para que serve um arquivo, mas alguns nomes levam a mais do que arquivos comuns em disco. Programas, configurações e dados que mudam têm seus próprios lugares na árvore de diretórios. Diretórios temporários compartilhados acrescentam uma regra especial de exclusão; links dão nomes adicionais aos arquivos; arquivos de dispositivo e virtuais expõem o sistema em execução. Conhecer essas diferenças ajuda você a escolher onde salvar seu trabalho e a entender o que um comando vai ler ou alterar.

1.1 Encontrar programas, configurações e dados que mudam

Todo caminho no Linux começa em uma árvore de diretórios cuja raiz é /. Um segundo disco se junta a essa árvore em um diretório quando é montado. O Padrão de Hierarquia do Sistema de Arquivos (FHS) descreve a finalidade habitual de cada diretório; a versão 3.0 é de 2015.

Programas e configurações

O FHS separa arquivos estáticos de arquivos que mudam e arquivos compartilhados daqueles específicos de uma máquina. Assim, programas instalados ficam em /usr, dados que mudam em /var e configurações desta máquina em /etc.

LocalO que fica nele
/usr/bin, /usr/sbinComandos de usuário e comandos de administração
/usr/libBibliotecas usadas pelos programas
/usr/shareDados como manuais e ícones que não dependem de um tipo de processador
/usr/localSoftware instalado manualmente pelo administrador
/etcConfiguração geral do sistema, principalmente texto

Os locais antigos /bin, /sbin e /lib contêm comandos e bibliotecas essenciais na organização do FHS. Muitas distribuições atuais usam a unificação em /usr: esses caminhos são links simbólicos para locais em /usr. Assim, /bin/ls e /usr/bin/ls podem acessar o mesmo programa. /etc não contém binários executáveis, mas scripts administrativos podem ser mantidos nele.

Arquivos pessoais e dados de execução

Usuários comuns geralmente mantêm seus próprios arquivos em /home/NAME; ~ significa seu diretório pessoal. Configurações de usuário como ~/.bashrc são entradas ocultas ali. /root é o diretório pessoal do usuário root. O diretório raiz / é o início de toda a árvore, não o diretório pessoal desse usuário.

Em /var, o segundo diretório especifica a finalidade:

  • /var/log contém logs.
  • /var/cache contém dados que podem ser baixados ou gerados novamente.
  • /var/lib contém o estado dos programas, incluindo bancos de dados e registros de pacotes.
  • /var/spool contém tarefas em fila, como trabalhos de impressão.
  • /var/tmp contém arquivos temporários que sobrevivem a reinicializações.

/tmp é destinado a arquivos temporários de menor duração. /run contém dados da inicialização atual, como sockets e arquivos de ID de processo, e é limpo na reinicialização. /boot contém o kernel, o disco RAM inicial e os arquivos do carregador de inicialização. /dev, /proc e /sys expõem dispositivos e informações atuais do kernel.

Montagens e dados de serviços

/mnt é o local habitual para uma montagem manual temporária. Sistemas de área de trabalho normalmente montam unidades removíveis em /media/USER/LABEL ou, no Fedora, em /run/media/USER/LABEL. /opt contém software adicional em diretórios de pacotes separados. /srv contém dados disponibilizados a outras máquinas; algumas distribuições usam locais como /var/www para sites.

Considere um servidor nginx instalado por pacote no Debian ou Ubuntu. Seu executável é /usr/sbin/nginx, suas configurações principais estão em /etc/nginx/nginx.conf e as requisições são registradas em /var/log/nginx/access.log. A documentação fica em /usr/share/doc/nginx. A finalidade do diretório indica onde investigar uma alteração de configuração ou um log que está crescendo.

Instale seus próprios comandos em /usr/local/bin, mantendo-os separados dos arquivos gerenciados por pacotes. Uma atualização pode substituir arquivos em /usr. Para um serviço systemd, use o local de substituição em /etc/systemd/system em vez de editar a unidade fornecida em /usr/lib/systemd/system.

Principais conclusões

  • O sistema de arquivos é uma única árvore com raiz em /; unidades montadas se juntam a ela em diretórios.
  • Use /usr para software instalado, /etc para configurações do sistema e /var para dados que mudam.
  • Arquivos pessoais pertencem aos diretórios pessoais; /root e / têm finalidades diferentes.
  • /run, /dev, /proc e /sys descrevem o sistema em execução.
  • Mantenha software instalado manualmente em /usr/local e substituições locais de serviços em /etc.

1.2 Criar arquivos temporários e proteger diretórios compartilhados

Arquivos temporários precisam tanto de uma duração adequada quanto de permissões adequadas. Um arquivo pode sobreviver a uma reinicialização e ainda estar sujeito à limpeza, e a proteção contra exclusão é diferente da proteção contra leitura.

Escolha uma duração

Use /tmp para trabalhos de curta duração de que um programa não precisará na próxima execução. O FHS recomenda limpá-lo na inicialização. Fedora e Debian 13 costumam montá-lo como tmpfs, que usa memória e área de troca; seu conteúdo desaparece no desligamento. Seu limite de tamanho padrão é metade da RAM física, portanto uma tarefa temporária grande pode enchê-lo mesmo quando há espaço no disco principal.

Use /var/tmp quando um trabalho temporário precisar sobreviver a uma reinicialização. O FHS exige que seu conteúdo permaneça após a inicialização. Ainda assim, é armazenamento temporário: as regras de limpeza do projeto de origem do systemd geralmente removem entradas não usadas após 10 dias em /tmp e 30 dias em /var/tmp. As configurações da distribuição e as locais podem alterar esses prazos. Salve trabalhos duradouros em seu diretório pessoal ou em outro diretório permanente de dados.

Leia as permissões do diretório

Inspecione a própria entrada do diretório:

ls -ld /tmp

Um exemplo de string de permissões é drwxrwxrwt. O d inicial significa diretório. Os três grupos de permissões permitem que todos o leiam, gravem nele e entrem nele. O t final indica o sticky bit, substituindo o caractere habitual de execução para outros.

A permissão de escrita em um diretório normalmente permite que um usuário remova ou renomeie entradas nele, inclusive arquivos de outras pessoas. Em um diretório com sticky bit, a exclusão e a renomeação são restritas ao proprietário do arquivo, ao proprietário do diretório ou a root, sujeitas às regras de acesso habituais. O bit é útil justamente porque muitos usuários compartilham /tmp.

Por exemplo, Mina cria /tmp/draft.txt, com modo 644, em um diretório com sticky bit pertencente a root. Tomas pode ler esse arquivo porque suas próprias permissões permitem. Ele não pode removê-lo apenas por poder gravar em /tmp. Mina e root podem removê-lo. Alterar o arquivo para o modo 600 também protege seu conteúdo de outros usuários comuns.

Defina e reconheça o sticky bit

Em um diretório compartilhado que você administra:

sudo chmod 1777 /srv/shared

O 1 inicial define o sticky bit; os 777 restantes permitem a todos os usuários acesso completo ao diretório. sudo chmod +t /srv/shared adiciona o bit sem substituir as outras permissões. chmod -t o remove quando você tem permissão para alterar o modo.

Um t minúsculo significa que o sticky bit e a permissão de execução para outros estão definidos. Um T maiúsculo significa que o sticky bit está definido, mas outros não têm permissão de execução. Por exemplo, o modo 1770 aparece como drwxrwx--T. O Linux ignora o sticky bit em arquivos comuns; seu nome histórico vem da prática de manter o código de programas na memória ou na área de troca nas primeiras versões do Unix.

Deixe mktemp escolher o nome

mktemp cria um arquivo com nome aleatório exclusivo e permissões 600 e imprime seu caminho. mktemp -d cria um diretório temporário privado. Em um script de shell, guarde o nome impresso em uma variável, use esse nome para o trabalho e remova o arquivo ao terminar.

Um nome fixo como /tmp/results.txt pode já pertencer a outra pessoa ou ser criado antes de seu programa começar. Um nome exclusivo evita essa colisão. O sticky bit não torna nomes previsíveis seguros nem torna privado um arquivo com modo 644.

Principais conclusões

  • /tmp é de curta duração; /var/tmp sobrevive a reinicializações, mas ainda está sujeito à limpeza.
  • O sticky bit restringe a exclusão e a renomeação em diretórios compartilhados.
  • As permissões do arquivo controlam a leitura; o sticky bit não oculta o conteúdo.
  • O modo 1777 combina acesso aberto ao diretório com a proteção do sticky bit; T significa que outros não têm permissão de execução.
  • mktemp cria um arquivo privado com nome exclusivo; mktemp -d cria um diretório.

Um link fornece outro caminho até um arquivo na árvore de diretórios. Um link simbólico armazena um caminho. Um link físico fornece outro nome para o mesmo arquivo. A diferença de comportamento importa quando o nome original é movido ou desaparece.

Crie um link simbólico

A sintaxe é ln -s TARGET LINKNAME: primeiro o destino, depois o novo nome. Por exemplo:

ln -s /srv/manuals ~/manuals
ls -ld ~/manuals
readlink ~/manuals

ls -l inicia a string de permissões de um link simbólico com l e imprime uma seta para seu destino. O tamanho exibido é o comprimento em bytes do caminho armazenado, não o tamanho do diretório de destino. Para links simbólicos comuns no Linux, as permissões rwxrwxrwx exibidas não concedem acesso ao destino; as permissões do próprio destino continuam valendo.

ls -ld /etc lista a entrada do diretório e suas permissões. ls -l /etc lista seu conteúdo. Uma barra final em um link simbólico para diretório faz o comando seguir o link: ls -l manuals/ lista o conteúdo do diretório apontado.

Resolva um destino relativo

Um destino relativo começa no diretório que contém o link. Suponha que /home/lee/notes.txt exista e que /home/lee/backup seja um diretório. Em /home/lee, execute:

ln -s ../notes.txt backup/notes-link

Para seguir o link, comece dentro de backup, suba um nível com .. e encontre notes.txt. Escrever ln -s notes.txt backup/notes-link armazena um caminho para backup/notes.txt. Seu diretório de trabalho ao criar o link não passa a fazer parte desse caminho relativo armazenado. Um destino absoluto evita essa ambiguidade específica.

Um link quebrado permanece após o caminho de seu destino ser movido ou excluído. A tentativa de abri-lo falha com “No such file or directory.” readlink LINK mostra o destino armazenado; readlink -f LINK resolve o caminho completo quando possível. find . -xtype l localiza links quebrados abaixo do diretório atual. Recrie um link quebrado com o destino correto, por exemplo, ln -sfn NEWTARGET LINKNAME.

Compare com um link físico
printf 'hello\n' > original.txt
ln original.txt second.txt
ln -s original.txt shortcut.txt
rm original.txt

cat second.txt ainda imprime “hello.” Um link físico é outra entrada de diretório para o mesmo inode, o registro do arquivo no sistema de arquivos. Não há um nome original especial que precise permanecer. cat shortcut.txt falha porque o caminho de destino armazenado não existe mais.

PropriedadeLink simbólicoLink físico
ArmazenaUm caminho de destinoOutro nome para o mesmo arquivo
Pode atravessar sistemas de arquivosSimNão
Pode apontar para um diretórioSimNão
Após a remoção do nome de destinoPode ficar quebradoO outro nome ainda acessa os dados

ls -i mostra o mesmo número de inode para dois links físicos em um sistema de arquivos. A segunda coluna de ls -l mostra a contagem de links físicos. A remoção do último nome libera o arquivo quando nenhum processo ainda o mantém aberto.

Remova um link simbólico com rm LINKNAME ou unlink LINKNAME. Para um link de diretório, omita a barra final: rm manuals remove apenas o link. Um comando recursivo em manuals/ pode alcançar e excluir o conteúdo do destino. Caminhos do sistema como /bin, nomes de comandos com versão e serviços systemd habilitados frequentemente usam links simbólicos.

Principais conclusões

  • ln -s TARGET LINKNAME armazena um caminho; destinos relativos começam no diretório do link.
  • Inspecione destinos armazenados com readlink; recrie links cujos caminhos não funcionam mais.
  • Links físicos compartilham um inode e continuam utilizáveis quando outro nome é removido.
  • Links físicos permanecem em um único sistema de arquivos e não apontam para diretórios.
  • Remova um link simbólico de diretório sem barra final para proteger o conteúdo do destino.
  • As permissões exibidas de um link simbólico não substituem as permissões do destino.

1.4 Ler dispositivos e o kernel em execução como arquivos

Um caminho no Linux pode identificar um disco, um terminal ou informações atuais do kernel. O primeiro caractere em ls -l indica o tipo de entrada antes que você a trate como um documento comum.

Reconheça tipos de arquivo

Os indicadores são - para arquivo comum, d para diretório, l para link simbólico, b para dispositivo de blocos, c para dispositivo de caracteres, p para canal nomeado e s para socket. Um dispositivo de blocos, como /dev/sda1, fornece armazenamento em blocos que podem ser acessados em qualquer ordem. Um dispositivo de caracteres, como /dev/tty1, fornece um fluxo de bytes.

Uma listagem de dispositivo pode ser assim:

brw-rw---- 1 root disk 8, 1 Oct 22 08:00 /dev/sda1

O b identifica um dispositivo de blocos. Os números 8, 1 substituem o campo de tamanho habitual: os números maior e menor identificam o driver e o dispositivo para o kernel. /dev normalmente é fornecido na memória pelo devtmpfs e preenchido à medida que o hardware aparece, com ajuda do udev. Conectar uma unidade USB pode criar /dev/sdb e /dev/sdb1.

Gravar diretamente em um dispositivo de disco pode sobrescrever seus dados sem pedir confirmação. Verifique a identidade do dispositivo com lsblk antes de qualquer gravação desse tipo.

Use pseudodispositivos

/dev/null descarta os bytes gravados e retorna imediatamente o fim de arquivo quando é lido. Este comando oculta mensagens de erro e mantém visíveis os resultados normais:

find / -name '*.conf' 2>/dev/null

O 2> redireciona a saída de erro padrão. Tudo o que é enviado para lá é descartado.

/dev/zero fornece bytes zero. Por exemplo, dd if=/dev/zero of=test.img bs=1M count=100 cria um arquivo comum de 100 MiB preenchido com zeros: 104.857.600 bytes. A saída aqui é test.img, não um dispositivo de disco. /dev/urandom fornece bytes aleatórios; head -c 16 /dev/urandom | base64 torna 16 deles imprimíveis.

Depois que o gerador aleatório do Linux é inicializado, tanto /dev/random quanto /dev/urandom fornecem bytes aleatórios criptograficamente seguros. Nos kernels a partir da versão 5.6, /dev/random espera essa inicialização no início da inicialização do sistema; /dev/urandom pode retornar bytes antes que ela termine.

Leia informações atuais

O procfs, montado em /proc, cria informações sob demanda. Muitas entradas mostram tamanho zero, mas retornam texto quando lidas. /proc/cpuinfo descreve processadores, /proc/meminfo descreve a memória e /proc/mounts lista montagens. Diretórios numerados descrevem processos em execução; /proc/sys expõe configurações do kernel. Ferramentas como ps, top e free leem essas informações.

cat /proc/uptime pode imprimir 86400.52 340000.10. O primeiro valor corresponde aos segundos desde a inicialização: cerca de 24 horas. O segundo soma o tempo ocioso entre os processadores, portanto pode superar o tempo decorrido.

O sysfs, montado em /sys, descreve dispositivos, drivers e barramentos. ls /sys/class/net/ lista interfaces, ls /sys/block/ lista dispositivos de blocos e cat /sys/class/net/enp0s3/address lê o endereço MAC de uma interface. Gravar em configurações graváveis em /proc ou /sys altera o kernel em execução e normalmente exige root. Ao fazer um backup completo do sistema, configure exclusões para /proc, /sys, /dev e /run; o sistema em execução os recria.

Principais conclusões

  • Leia o indicador de tipo antes de tratar um caminho como arquivo comum.
  • Dispositivos de blocos fornecem acesso a armazenamento; dispositivos de caracteres fornecem fluxos.
  • /dev/null descarta dados, /dev/zero fornece zeros e /dev/urandom fornece bytes aleatórios.
  • /proc e /sys expõem informações atuais do kernel sem arquivos comuns em disco.
2

Inspecionar discos, partições e sistemas de arquivos montados

Uma unidade, uma partição e um sistema de arquivos são camadas diferentes de armazenamento. Leia a árvore de dispositivos para identificar o que está presente e depois conecte o sistema de arquivos correto a um diretório para tornar seus arquivos acessíveis. Uma montagem manual dura enquanto o estado atual do sistema for mantido; uma entrada na configuração de inicialização faz com que ela volte automaticamente. Seguir essas camadas em ordem ajuda você a evitar a formatação do dispositivo errado ou a inclusão de uma montagem que impeça a inicialização normal.

2.1 Interpretar discos, partições e tipos de sistemas de arquivos

Um disco é um dispositivo de armazenamento, físico ou virtual. Uma partição é uma região dele. A tabela de partições registra essas regiões, enquanto um sistema de arquivos dentro de uma partição organiza seus arquivos e diretórios. Uma partição também pode conter uma área de troca, que auxilia a memória em vez de armazenar arquivos comuns.

Interprete o nome do dispositivo

Unidades SATA, SAS e USB costumam usar /dev/sda, /dev/sdb e assim por diante; suas partições acrescentam um número, como /dev/sdb1. Nomes NVMe já contêm dígitos, portanto uma partição acrescenta p: /dev/nvme0n1p2 é a partição 2 de /dev/nvme0n1. Dispositivos SD e eMMC usam nomes como /dev/mmcblk0p1; muitas máquinas virtuais usam /dev/vda1.

A ordem de detecção pode alterar esses nomes. Identifique uma unidade por vários indícios, não pela letra que ela tinha ontem:

lsblk -o NAME,SIZE,MODEL,RM,TYPE,MOUNTPOINTS
lsblk -f
sudo blkid
sudo fdisk -l

lsblk exibe o disco e suas partições como uma árvore. RM=1 identifica um dispositivo marcado como removível; TYPE distingue disk de part. Um ponto de montagem / identifica o sistema de arquivos raiz. lsblk -f acrescenta tipos de sistemas de arquivos, rótulos e UUIDs. blkid fornece identificadores e tipos, enquanto fdisk -l mostra os limites das partições e o tipo de tabela. Esses comandos de inspeção não alteram partições.

Distinga tipo de tabela e tipo de sistema de arquivos
CamadaOpções comunsSignificado
Tabela de partiçõesGPT, MBR/DOSDescreve regiões da unidade
Sistema de arquivosext4, XFS, Btrfs, FAT32, exFAT, NTFSOrganiza arquivos dentro de uma região

MBR permite quatro partições primárias; uma delas pode ser uma partição estendida contendo partições lógicas numeradas a partir de 5. Com setores de 512 bytes, seu limite de endereçamento é 2 TiB. GPT lida com unidades maiores e normalmente fornece 128 entradas de partição. Sistemas UEFI inicializam usando uma Partição de Sistema EFI, formatada com FAT e frequentemente montada em /boot/efi.

Debian e Ubuntu normalmente usam ext4; RHEL usa XFS por padrão; Fedora Workstation e openSUSE normalmente usam Btrfs. FAT32 aparece como vfat no Linux e não pode armazenar um único arquivo de 4 GiB ou mais. exFAT é adequado para arquivos maiores em mídias removíveis; NTFS é comum em discos Windows. A existência de uma partição, por si só, não significa que ela já tenha um sistema de arquivos.

Interprete as unidades de tamanho

lsblk, df -h e du -h usam unidades binárias: G representa um GiB, ou 1.073.741.824 bytes. Fabricantes de unidades usam GB decimal, cada um com 1.000.000.000 bytes. Assim, uma unidade que armazena 500.107.862.016 bytes aparece como 465,8G; 32.000.000.000 bytes correspondem a cerca de 29,8G. lsblk -b mostra a quantidade exata de bytes. Essa diferença de nomenclatura não é perda de capacidade.

Preparar uma unidade nova e vazia exige uma etapa de particionamento seguida da criação de um sistema de arquivos, por exemplo, sudo mkfs.ext4 /dev/sdb1. Antes de alterar partições ou formatar, verifique o destino pelo tamanho, modelo e condição de removível, confirme que seus dados podem ser destruídos e desmonte-o. fdisk -l apenas lista; o fdisk interativo grava alterações quando você usa w.

Principais conclusões

  • Disco, tabela de partições e sistema de arquivos descrevem camadas diferentes de armazenamento.
  • Nomes de partições NVMe e SD inserem p antes do número da partição.
  • Use lsblk, blkid e fdisk -l para inspecionar antes de fazer alterações.
  • GPT e MBR descrevem tabelas de partições; ext4 e XFS descrevem sistemas de arquivos.
  • O G binário e o GB decimal medem os mesmos bytes com unidades de tamanhos diferentes.
  • FAT32 não pode armazenar um único arquivo de 4 GiB ou mais.

2.2 Conectar um sistema de arquivos e desconectá-lo corretamente

A montagem conecta um sistema de arquivos a um diretório, seu ponto de montagem. Um sistema de arquivos montado em /data torna-se acessível por caminhos como /data/report.pdf. A árvore de diretórios permanece contínua mesmo quando vários discos fornecem seu conteúdo.

Monte e inspecione

Suponha que lsblk -f identifique /dev/sdb1 como o sistema de arquivos que você deseja ler. Crie um diretório de montagem vazio e monte-o:

sudo mkdir -p /mnt/usb
sudo mount /dev/sdb1 /mnt/usb
findmnt /mnt/usb

mount geralmente detecta o tipo. Forneça -t ext4 quando precisar especificá-lo explicitamente. findmnt mostra TARGET, SOURCE, FSTYPE e OPTIONS. mount sem argumentos lista montagens, incluindo sistemas de arquivos virtuais; df -h informa seu espaço, e lsblk mostra pontos de montagem ao lado dos dispositivos de blocos.

Montar sobre um diretório oculta seu conteúdo existente. Se /mnt/usb/local.txt já estava lá, ele desaparece da visualização enquanto o sistema de arquivos USB está montado e reaparece após a desmontagem. Ele não foi copiado para a unidade nem apagado.

Escolha opções para a tarefa

Use -o para uma lista de opções separadas por vírgulas. sudo mount -o ro /dev/sdb1 /mnt/usb impede gravações normais de arquivos por essa montagem. É útil para inspeção, embora a própria montagem ainda possa gravar no dispositivo. rw permite gravações.

noexec impede a execução direta de arquivos na montagem. Ele não impede que um interpretador leia um script: bash /mnt/usb/script.sh ainda pode executar um script legível. Entenda isso como uma restrição à execução direta, não como uma barreira completa à execução de seu conteúdo.

FAT e exFAT não armazenam proprietários Unix. Quando root monta uma unidade desse tipo, forneça o proprietário desejado pelas opções de montagem. Verifique os dois identificadores com id -u e id -g. Se ambos imprimirem 1000:

sudo mount -o uid=1000,gid=1000 /dev/sdb1 /mnt/usb
cp report.pdf /mnt/usb/

Isso atribui o proprietário e o grupo exibidos pelo Linux para a montagem. Alterar permissões com chmod não é o mesmo mecanismo de propriedade usado no ext4.

Termine o trabalho

Saia do sistema de arquivos e feche os programas que o usam, depois execute:

sudo umount /mnt/usb

O comando se escreve umount. Desmonte o armazenamento removível antes de retirá-lo para que as gravações em buffer cheguem à unidade. A ação Ejetar de um gerenciador de arquivos faz isso em um ambiente de área de trabalho.

Se o comando informar “target is busy”, um processo ainda usa o sistema de arquivos. Basta que um shell tenha /mnt/usb como diretório atual. Execute cd nesse shell, feche arquivos abertos e tente novamente. fuser -vm /mnt/usb ou lsof /mnt/usb ajuda a identificar quem usa o sistema de arquivos.

Sistemas de área de trabalho normalmente organizam montagens automáticas de mídias removíveis pelo udisks2, em /media/USER/LABEL ou, no Fedora, em /run/media/USER/LABEL. Servidores geralmente dependem de montagens configuradas para a inicialização ou de comandos manuais. Montagens também podem expor um arquivo de imagem, memória ou um compartilhamento de rede. Por exemplo, após criar /mnt/iso, sudo mount -o loop,ro ubuntu.iso /mnt/iso apresenta uma imagem ISO como diretório.

Principais conclusões

  • Um ponto de montagem apresenta o sistema de arquivos conectado e oculta temporariamente o conteúdo anterior do diretório.
  • Inspecione as montagens reais com findmnt; use -o para selecionar opções.
  • noexec bloqueia a execução direta; interpretadores ainda podem ler scripts.
  • O proprietário e o grupo em FAT e exFAT são definidos por opções de montagem como uid e gid.
  • Encerre os usos de um sistema de arquivos e execute umount antes de remover sua unidade.

2.3 Fazer uma montagem retornar após a reinicialização

Uma montagem manual não cria uma regra de inicialização. /etc/fstab fornece essas regras, com uma entrada por sistema de arquivos ou área de troca. Em uma máquina com systemd, um gerador transforma entradas de sistemas de arquivos em unidades de montagem e entradas de área de troca em unidades de área de troca.

Leia os seis campos

Um sistema de arquivos ext4 de dados pode usar esta entrada:

UUID=3f2c9a1e-7b4d-4e8a-9c61-2d5f0b8e4a17 /data ext4 defaults,nofail 0 2

Espaços ou tabulações separam os seis campos. Vírgulas unem opções dentro de um campo; não coloque espaços nessa lista.

  1. Origem: um UUID, rótulo ou caminho de dispositivo.
  2. Ponto de montagem: aqui, /data.
  3. Tipo: aqui, ext4.
  4. Opções: aqui, defaults,nofail.
  5. Indicador dump: normalmente 0, desativando o antigo indicador de backup dump.
  6. Ordem de verificação dos sistemas de arquivos: 1 para a raiz, 2 para outros sistemas de arquivos que precisam de verificação, 0 para ignorar; XFS e Btrfs normalmente usam 0.

Uma linha que começa com # é um comentário. Uma entrada de área de troca usa none como campo de ponto de montagem, o tipo swap e normalmente termina em 0 0.

Escolha um identificador duradouro

Encontre o UUID do sistema de arquivos com lsblk -f ou sudo blkid. Ao contrário de um nome como /dev/sdb1, o UUID permanece com o sistema de arquivos quando a ordem de detecção das unidades muda. A reformatação cria um novo sistema de arquivos com um novo UUID, portanto atualize sua entrada no fstab depois disso.

defaults inclui acesso de leitura e escrita e montagem automática. nofail permite que a inicialização continue se uma unidade opcional estiver ausente. noauto ignora a montagem automática; a entrada ainda pode permitir sudo mount /data posteriormente. ro significa somente leitura e noexec bloqueia a execução direta. user permite que um usuário comum monte a entrada.

Adicione e teste uma entrada

Para uma partição de dados ext4 já preparada:

sudo cp /etc/fstab /etc/fstab.bak
lsblk -f
sudo mkdir -p /data

Edite /etc/fstab para adicionar a linha usando o UUID realmente informado. Depois, teste antes de reiniciar:

sudo findmnt --verify
sudo systemctl daemon-reload
sudo mount -a
findmnt /data

findmnt --verify verifica a tabela, inclusive problemas em seus campos e origens. O recarregamento faz o systemd reler a configuração alterada. mount -a monta as entradas aplicáveis que ainda não estão montadas. findmnt /data confirma então a origem, o tipo e as opções atuais. Um mount -a bem-sucedido não significa que uma entrada noauto foi testada; monte essa entrada explicitamente.

A raiz de um sistema de arquivos ext4 recém-montado pode pertencer a root. Depois que o sistema de arquivos correto estiver montado, sudo chown lee:lee /data atribui a Lee a propriedade desse diretório. Fazer isso antes da montagem alteraria o diretório subjacente do ponto de montagem.

Um UUID incorreto, tipo incorreto ou dispositivo obrigatório indisponível pode interromper a inicialização e deixar o sistema em modo de emergência. Corrija esses erros enquanto o sistema está em execução. systemctl list-units --type=mount mostra as unidades de montagem ativas resultantes.

Principais conclusões

  • Entradas do fstab têm seis campos; as opções permanecem juntas em um campo separado por vírgulas.
  • O UUID de um sistema de arquivos permanece estável quando o nome do dispositivo muda, mas muda após a reformatação.
  • nofail permite a ausência de uma unidade opcional; noauto ignora a montagem automática.
  • Faça backup, verifique, recarregue o systemd, monte e inspecione antes de reiniciar.
  • Altere o proprietário e o grupo após a montagem para afetar o sistema de arquivos conectado.
3

Medir o uso de disco e liberar espaço

Uma mensagem sobre um dispositivo cheio pode significar que os blocos de armazenamento se esgotaram ou que o sistema de arquivos não tem registros de arquivo livres. Comece verificando o sistema de arquivos que contém o caminho em que ocorreu a falha e depois localize os arquivos responsáveis. Parte do espaço permanece alocada mesmo depois que um nome de arquivo desaparece. Interpretar as medições em conjunto permite escolher um método de limpeza que libere o recurso necessário sem danificar software instalado ou dados de aplicações.

3.1 Verificar o espaço livre e os inodes livres

df informa o espaço dos sistemas de arquivos montados. Ele responde à pergunta “Quanto do sistema de arquivos que contém este caminho está ocupado?” Ele não soma os próprios arquivos de um diretório. Essa diferença permite identificar o armazenamento afetado antes de procurar seu conteúdo maior.

Interprete um relatório de espaço

Use df -h /var/log para inspecionar o sistema de arquivos que contém o diretório de logs. Um relatório pode mostrar:

Filesystem Size Used Avail Use% Mounted on
/dev/vda1   98G  61G   32G  66% /
/dev/vdb1  916G 210G  660G  25% /data

Aqui, os logs em /var/log usam o sistema de arquivos raiz, a menos que um sistema de arquivos separado esteja montado ali. O espaço livre do sistema de arquivos /data não pode ajudar uma gravação em /var/log apenas porque ambos pertencem ao mesmo computador.

As colunas descrevem o tamanho do sistema de arquivos, o espaço usado, o espaço disponível para usuários comuns, o percentual de uso e o ponto de montagem. O df do GNU calcula Use% dividindo Used pela soma de Used e Avail, arredondada para cima. No exemplo da raiz, 61 dividido por 93 é cerca de 65,6%, exibido como 66%. Os próprios valores em formato legível são arredondados.

Size pode superar Used + Avail. Um sistema de arquivos ext4 normalmente reserva 5% de seus blocos para root, ajudando serviços essenciais a continuar funcionando quando os usuários enchem o restante. Cinco por cento de 98G são cerca de 4,9G. Esses blocos reservados não usados são excluídos do Avail dos usuários comuns; eles não são dados de arquivo em Used. A reserva pode ser ajustada com tune2fs -m, por exemplo para 1% em um sistema de arquivos grande de dados. Metadados também usam espaço.

Escolha uma visualização útil

df -h usa unidades binárias K, M e G. df -H usa potências decimais de 1000. df sem opções normalmente informa blocos de 1024 bytes, e df -T acrescenta o tipo de sistema de arquivos. Para reduzir a quantidade de entradas de sistemas de arquivos na memória:

df -h -x tmpfs -x devtmpfs

Uma entrada tmpfs é armazenamento mantido na memória, enquanto efivarfs expõe variáveis de firmware. free mede RAM e área de troca, portanto não pode substituir df para verificar a capacidade em disco. lsblk informa o tamanho de um disco ou partição, não quanto espaço livre seu sistema de arquivos tem.

Verifique também os registros de arquivo

Um inode é um registro de sistema de arquivos para um arquivo ou diretório. Nomes ligados fisicamente compartilham um registro. Um sistema de arquivos ext4 tem uma quantidade fixa de inodes criada com ele. Uma quantidade muito grande de arquivos minúsculos pode consumi-los e ainda deixar gigabytes de espaço para dados sem uso.

df -i /var/log

Leia IUsed, IFree e IUse%. Se IFree for zero, criar um novo arquivo pode falhar com “No space left on device” mesmo quando df -h mostra espaço livre. Remover alguns arquivos grandes libera blocos, mas pouquíssimos inodes; limpar muitos arquivos indesejados de sessão ou cache resolve o esgotamento de inodes.

Quando o armazenamento raiz fica cheio, bancos de dados podem parar, logs podem falhar, atualizações podem ser interrompidas e logins podem falhar. Verifique df -h PATH e df -i PATH logo no início. Os relatórios identificam qual recurso está esgotado e qual sistema de arquivos montado precisa de atenção.

Principais conclusões

  • df PATH informa sobre o sistema de arquivos que contém o caminho, não sobre o total do diretório.
  • Use% usa Used dividido pela soma de Used e Avail, arredondado para cima.
  • Blocos ext4 reservados e não usados reduzem a disponibilidade para usuários comuns sem se tornarem dados de arquivo usados.
  • Verifique df -i quando a criação de arquivos falhar apesar de haver gigabytes livres.

3.2 Encontrar arquivos que crescem e recuperar espaço com segurança

Depois que df identificar o sistema de arquivos cheio, use du para encontrar os diretórios que o estão ocupando. Inspecione antes de excluir: o estado de uma aplicação e arquivos de cache substituíveis podem ser grandes por motivos muito diferentes.

Percorra a árvore de diretórios
sudo du -h -d 1 /var | sort -h
sudo du -sh /var/log

-d 1 fornece totais um nível de diretório abaixo, e -s imprime um único total resumido. sort -h entende tamanhos como 900M e 2.1G. Use sudo para incluir diretórios que sua conta comum não consegue ler. Se /var/log for grande, repita o primeiro comando nele para localizar o subdiretório que está crescendo.

du -sh * ignora nomes que começam com ponto porque o * do shell não corresponde a eles. du -h -d 1 ~ | sort -h inclui diretórios ocultos, como .cache e .local, ao inspecionar um diretório pessoal.

Para localizar arquivos individuais grandes no sistema de arquivos raiz:

sudo find / -xdev -type f -size +500M 2>/dev/null

-xdev permanece no sistema de arquivos inicial; -type f seleciona arquivos comuns; M aqui significa MiB. ls -lhS ordena os arquivos de um diretório do maior para o menor.

Entenda totais diferentes

ls -l informa o tamanho lógico de um arquivo. du normalmente conta o armazenamento alocado. Um arquivo contendo “hi” e um caractere de nova linha tem 3 bytes, mas pode ocupar um bloco de 4 KiB, mostrado como 4.0K. Uma imagem esparsa de disco virtual pode ter um tamanho lógico grande e consumir muito menos espaço real. du --apparent-size informa os tamanhos lógicos.

Um uso maior em df do que em uma varredura de diretório também pode resultar de diretórios ilegíveis, arquivos ocultos sob pontos de montagem ou arquivos excluídos ainda abertos. Excluir um nome não libera os dados enquanto um processo mantém o arquivo aberto.

Por exemplo, remover um log ativo de aplicação de 20G pode deixar df inalterado. Inspecione esses arquivos com sudo lsof +L1. Reiniciar o serviço que mantém o arquivo aberto o libera, permitindo recuperar o armazenamento. Para esvaziar um log ativo que você sabe que pode ser descartado sem deixar um arquivo sem nome aberto, sudo truncate -s 0 /var/log/app/app.log mantém o nome e o arquivo no lugar. Isso apaga o conteúdo registrado.

Use o responsável pelos dados para limpá-los

As ferramentas de pacotes sabem quais arquivos baixados podem ser substituídos. Use sudo apt clean no Debian ou Ubuntu, ou sudo dnf clean all no Fedora ou RHEL. Analise as alterações propostas por apt autoremove ou dnf autoremove antes de remover pacotes não utilizados. Limpe seus próprios downloads indesejados e a lixeira. Não exclua manualmente arquivos de /usr, /boot ou /var/lib para liberar espaço.

Para o crescimento do diário de registros, sudo journalctl --vacuum-size=1G remove arquivos inativos antigos até que seu total caiba no limite. Arquivos ativos podem deixar o uso total do diário acima desse tamanho. Para controle duradouro, defina SystemMaxUse=1G em /etc/systemd/journald.conf e reinicie systemd-journald.

Após a limpeza, execute novamente df -h PATH ou df -i PATH para confirmar que o recurso que causou a falha está disponível outra vez. Se o diário ou outro log crescer repetidamente, inspecione as mensagens que causam o crescimento e suas configurações de retenção.

Principais conclusões

  • Use du para localizar diretórios que cresceram e find para localizar arquivos comuns grandes.
  • Um diretório como argumento inclui entradas ocultas; o padrão de shell * as ignora.
  • Tamanho lógico, blocos alocados e totais do sistema de arquivos medem coisas diferentes.
  • Arquivos excluídos ainda mantidos abertos podem continuar usando espaço; identifique-os com lsof +L1.
  • Use ferramentas de pacotes e do diário para seus dados; a limpeza do diário afeta arquivos inativos.
  • Verifique novamente o recurso esgotado após a limpeza e investigue o crescimento recorrente.
4

Configurar e verificar os ajustes de rede com ip

Uma conexão funcional precisa de uma interface ativa, um endereço e uma rota até o destino. Um serviço também precisa estar em escuta onde os clientes possam alcançá-lo. O Linux expõe essas partes separadas por meio de ip e ss, para que você possa inspecionar cada uma antes de alterar algo. Consulte o estado atual, distinga um comando temporário de uma configuração salva e teste a partir do enlace local em direção ao exterior para delimitar um problema de conexão sem adivinhar sua causa.

4.1 Compreender endereços, redes e portas de serviço

Uma interface de rede é um ponto de conexão pelo qual o kernel envia tráfego. Pode ser Ethernet, Wi-Fi, retorno local ou uma conexão virtual, como uma VPN. Nomes como enp0s3, eno1 e wlp2s0 descrevem adaptadores físicos; lo é a interface de retorno local. Alguns sistemas virtuais e na nuvem usam eth0.

Interprete o IPv4 e seu prefixo

Interfaces Ethernet e Wi-Fi têm um endereço MAC de 48 bits, escrito como seis pares hexadecimais, usado para entrega na rede local. Um endereço IP identifica um host para comunicação entre redes. Uma interface pode ter vários endereços IP.

O IPv4 tem 32 bits, escritos como quatro números de 0 a 255. Em 192.168.1.50/24, os primeiros 24 bits identificam a rede e oito bits restam para endereços dentro dela. A rede é 192.168.1.0/24, com máscara de rede 255.255.255.0.

Esses oito bits fornecem 256 endereços. O primeiro identifica a rede, e o último, 192.168.1.255, é seu endereço de difusão, restando 254 endereços para hosts. Um /26 tem seis bits para hosts: 64 endereços no total e 62 endereços comuns para hosts. /24 conta bits de rede, não máquinas.

As faixas privadas são 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. Elas não são roteadas publicamente; um roteador doméstico normalmente usa NAT para traduzir o tráfego privado para seu endereço público. 127.0.0.1 é o endereço de retorno local, que representa a máquina que executa o comando. Um endereço 169.254.x.x local ao enlace frequentemente indica uma falha na configuração DHCP. A documentação usa 192.0.2.0/24, 198.51.100.0/24 e 203.0.113.0/24.

Reconheça o IPv6

O IPv6 tem 128 bits em oito grupos hexadecimais. Remova zeros iniciais dentro de um grupo e substitua uma sequência de grupos de zeros por ::: 2001:0db8:0000:0000:0000:0000:0000:0042 torna-se 2001:db8::42. Use :: apenas uma vez em um endereço. ::1 é o endereço de retorno local; endereços fe80: são locais ao enlace em conexões Ethernet e Wi-Fi com IPv6. Redes IPv6 locais normalmente usam /64, e um host frequentemente tem vários endereços.

Alcance redes e serviços

Um host envia tráfego diretamente a destinos em uma rede conectada diretamente. Seu gateway padrão trata destinos para os quais não há uma rota mais específica. O gateway é um roteador acessível no enlace local. Sem uma rota correspondente ou uma rota padrão, outras redes ficam inacessíveis.

Uma porta identifica um serviço em um endereço: SSH usa TCP 22, DNS usa UDP e TCP 53, HTTP usa TCP 80 e HTTPS normalmente usa TCP 443. TCP fornece conexões confiáveis; UDP transporta mensagens independentes. Uma extremidade de socket combina endereço e porta, como 192.168.1.50:22.

Obtenha ou defina a configuração

DHCP para IPv4 concede por tempo limitado um endereço, prefixo, gateway e configurações DNS. A configuração estática define valores fixos, normalmente para servidores. A SLAAC do IPv6 forma um endereço a partir de informações anunciadas pelo roteador. DHCPv6 pode fornecer endereços IPv6 e servidores DNS; informações sobre o roteador padrão IPv6 vêm de anúncios de roteador. Um endereço DHCPv6 sozinho não fornece essa rota.

Principais conclusões

  • Uma interface pode ter vários endereços; endereços MAC e IP cumprem funções diferentes.
  • Um prefixo conta bits de rede: um /24 IPv4 comum tem 254 endereços utilizáveis por hosts.
  • O endereço de retorno local sempre se refere à máquina que executa o comando.
  • A rota padrão trata destinos sem uma rota mais específica.
  • Portas identificam serviços; endereços IP identificam hosts e interfaces.
  • O IPv6 aprende os roteadores padrão por anúncios de roteador.

4.2 Interpretar saídas de interfaces, rotas e sockets de escuta

O comando ip mostra o estado atual da rede. Seus objetos descrevem partes diferentes: addr para endereços, link para o estado das interfaces, route para roteamento e neigh para vizinhos locais. ss mostra sockets e seus serviços em escuta.

Inspecione uma interface
ip -br addr
ip addr show dev enp0s3
ip link show

A visualização resumida pode mostrar enp0s3 UP 192.168.1.50/24 fe80::a00:27ff:fe3a:5c71/64. A interface está ativa, com um endereço IPv4 e um endereço IPv6 local ao enlace. A saída mais longa separa estes campos:

link/ether 08:00:27:3a:5c:71 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168.1.255 scope global dynamic enp0s3
inet6 fe80::a00:27ff:fe3a:5c71/64 scope link

link/ether fornece o endereço MAC. inet introduz o IPv4, e inet6 introduz o IPv6. O valor IPv4 de brd é o endereço de difusão, não o gateway. dynamic indica um endereço atribuído dinamicamente, e valid_lft mostra por quanto tempo ele permanece válido. UP é o estado administrativo; LOWER_UP indica um enlace de nível inferior funcionando.

ip -4 addr e ip -6 addr selecionam uma família de endereços. ip link omite endereços IP. hostname -I imprime os endereços configurados da máquina. Não selecione 127.0.0.1 ao fornecer a outro computador um endereço para este host.

Consulte a rota separadamente
default via 192.168.1.1 dev enp0s3 proto dhcp src 192.168.1.50 metric 100
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.50 metric 100

ip route show produz esse tipo de saída. A rede local 192.168.1.0/24 é acessível diretamente por enp0s3. Outros destinos usam o gateway 192.168.1.1 pela rota padrão. proto dhcp indica de onde veio essa rota; src fornece o endereço de origem preferencial.

Use ip route get 203.0.113.10 para inspecionar o caminho selecionado para um destino. ip -6 route show lista rotas IPv6. ip neigh mostra mapeamentos locais aprendidos de IP para MAC; uma entrada FAILED para o gateway significa que a resolução de vizinhos não recebeu a resposta local necessária.

Verifique onde um serviço está em escuta
sudo ss -tulnp

As opções indicam TCP, UDP, escuta, endereços numéricos e detalhes do processo. Leia a coluna de endereço local. 0.0.0.0:22 aceita tráfego em todos os endereços IPv4 locais, enquanto 127.0.0.1:5432 aceita apenas tráfego local. [::]:80 indica todos os endereços IPv6. Estar em escuta é apenas um requisito; a conectividade de rede e as regras de acesso ainda são importantes. ss -tn lista conexões TCP atuais sem selecionar apenas sockets de escuta.

Guias antigos usam ifconfig, route, arp e netstat. Seus equivalentes atuais são ip addr/ip link, ip route, ip neigh e ss. A ausência de ifconfig significa que falta uma ferramenta, não que a rede falhou. Formas curtas como ip a, ip r e ip l são abreviações aceitas.

Principais conclusões

  • Use objetos ip separados para endereços, enlaces, rotas e vizinhos.
  • brd é um endereço de difusão; encontre o gateway em ip route.
  • ip route get ADDRESS mostra a rota selecionada para esse destino.
  • Um serviço em escuta vinculado ao endereço de retorno local não pode aceitar conexões destinadas à interface de rede do host.
  • ss -tulnp relaciona portas em escuta aos processos que as possuem.

4.3 Alterar configurações e delimitar uma falha de conexão

Um comando temporário e um perfil de rede salvo têm finalidades diferentes. ip altera imediatamente o estado do kernel em execução; o gerenciador de rede da distribuição restaura configurações salvas na inicialização e pode substituir alterações temporárias antes disso.

Faça uma alteração temporária

Em uma interface de prática chamada enp0s8:

sudo ip link set dev enp0s8 up
sudo ip addr add 192.168.50.10/24 dev enp0s8
sudo ip route add default via 192.168.50.1

Inclua o prefixo. Sem /24, um endereço IPv4 adicionado recebe /32, portanto a rota esperada para a rede local /24 fica ausente. ip addr del remove o endereço especificado, ip route del default remove a rota padrão e ip link set ... down desativa a interface.

Alterar a interface que transporta uma sessão SSH remota pode desconectar você. Use acesso ao console ou uma ferramenta de configuração com reversão para esse trabalho.

Salve configurações com o gerenciador ativo

Fedora, RHEL e muitos sistemas de área de trabalho usam NetworkManager. Encontre o perfil com nmcli device status e altere o nome de sua conexão:

sudo nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.60/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1
sudo nmcli connection up "Wired connection 1"

Definir ipv4.method auto retorna o perfil ao DHCP. O Ubuntu normalmente usa arquivos YAML do netplan em /etc/netplan/; outros sistemas usam arquivos .network do systemd-networkd ou /etc/network/interfaces do ifupdown no Debian. Sistemas na nuvem frequentemente dependem de DHCP e cloud-init.

Uma configuração estática do netplan pode ter este conteúdo:

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: false
      addresses: [192.168.1.60/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1]

Use espaços para a indentação. sudo netplan try aplica a configuração com um prazo de 120 segundos para confirmação antes da reversão. sudo netplan apply aplica-a diretamente.

Teste uma camada de cada vez

Comece com ip -br link, depois ip -br addr e então ip route. Ausência de enlace ativo, de endereço adequado e de rota padrão são falhas diferentes. Teste o gateway com ping -c 3 192.168.1.1, depois um endereço externo e então um nome. A contagem -c faz o ping do Linux parar após um número fixo de solicitações; caso contrário, use Ctrl+C.

Uma resposta informa o tempo de ida e volta, enquanto o resumo informa a perda de pacotes. A ausência de resposta de eco pode refletir filtragem de ICMP, assim como um host inativo ou uma rota interrompida. Se um endereço funcionar, mas um nome produzir “Temporary failure in name resolution”, inspecione a consulta de nomes. Se ping imprimir o endereço resolvido e depois não receber respostas, a consulta já foi bem-sucedida.

tracepath ou traceroute mostra roteadores que respondem ao longo do caminho. Teste também a aplicação real: curl -I https://example.com solicita cabeçalhos HTTP. Se uma requisição web local funcionar, mas requisições remotas falharem, inspecione sudo ss -tlnp. Um serviço vinculado a 127.0.0.1:80 precisa de um endereço de vinculação acessível pela rede para uso remoto, além das regras necessárias de acesso à rede.

Principais conclusões

  • Alterações com ip são imediatas e temporárias; salve configurações duradouras pelo gerenciador de rede ativo.
  • Inclua um prefixo ao adicionar um endereço.
  • Teste em ordem enlace, endereço, rota, gateway, endereço externo, nome e serviço.
  • Um erro de resolução de nomes é diferente de um nome resolvido que não recebe respostas ao ping.
  • Uma falha de ping, por si só, não identifica qual camada da conexão falhou.
  • Use acesso ao console ou reversão ao alterar as configurações de uma conexão remota.
5

Resolver nomes de hosts com DNS e o arquivo hosts

Um servidor pode ser acessível pelo endereço enquanto seu nome falha, ou um computador pode direcionar um nome conhecido para um endereço desatualizado. A resolução de nomes é uma parte separada de uma conexão, com várias fontes e caches possíveis. Aprenda como nomes locais, registros DNS e configurações do resolvedor se relacionam e depois escolha um teste que siga o mesmo caminho de consulta da aplicação. Comparar esses caminhos ajuda a localizar uma entrada desatualizada ou um serviço DNS com falha.

5.1 Acompanhar um nome de host pelos arquivos locais e pelo DNS

Os nomes permitem que as pessoas usem web1.example.com em vez de memorizar um endereço. O DNS, Sistema de Nomes de Domínio, armazena registros em uma hierarquia distribuída de domínios. Um nome de host curto como web1 identifica uma máquina; seu nome de domínio totalmente qualificado a identifica na hierarquia completa.

Reconheça o que um registro responde
RegistroSignificado
AEndereço IPv4 para um nome
AAAAEndereço IPv6 para um nome
CNAMEApelido que aponta para outro nome
MXServidor de correio de um domínio
PTRNome obtido de um endereço em uma consulta reversa

Servidores DNS usam a porta 53 tanto por UDP quanto por TCP. O tempo de vida (TTL) de um registro informa aos caches por quanto tempo eles podem mantê-lo, em segundos. Um TTL de 3600 corresponde a uma hora. Alterar um registro não remove imediatamente a resposta antiga de todos os caches.

O resolvedor de nomes é a parte cliente da consulta de nomes: código de biblioteca e, frequentemente, um serviço como systemd-resolved. Seus servidores de nomes configurados normalmente são resolvedores recursivos operados por um roteador, provedor, organização ou serviço público. Eles encontram respostas e as armazenam em cache para os clientes.

Verifique a ordem das fontes do sistema

Aplicações Linux geralmente usam as fontes de consulta configuradas pela linha hosts: em /etc/nsswitch.conf. Um exemplo simples é:

hosts: files dns

Aqui, files significa /etc/hosts, verificado antes do DNS. Outras instalações incluem fontes como resolve ou mdns4_minimal. Leia a linha real ao comparar dois sistemas.

/etc/hosts contém um endereço seguido de seu nome principal e apelidos opcionais:

127.0.0.1 localhost
::1 localhost ip6-localhost
192.168.1.20 nas.home.arpa nas

Com a ordem de consulta mostrada, nas é resolvido para 192.168.1.20 neste computador. home.arpa é reservado para redes domésticas. Alterações no arquivo hosts entram em vigor sem reinicialização, mas afetam apenas a máquina cujo arquivo você edita. O arquivo não aceita caracteres curinga nem números de porta: 192.168.1.20:8080 nas é inválido.

Use entradas locais de forma consciente

Uma entrada no arquivo hosts pode dar nome a um dispositivo em uma rede pequena ou apontar seu computador para um servidor web substituto antes de alterações no DNS público. Mapear um nome para 0.0.0.0 também é usado para bloqueá-lo localmente. Cada uso altera a consulta de endereços, não a porta ou a configuração do serviço.

Suponha que um site mude de endereço e funcione em outras máquinas, mas não na sua. Uma entrada antiga em /etc/hosts pode continuar enviando seu navegador ao endereço anterior mesmo quando o DNS está correto. Compare a entrada local com o destino atual desejado antes de alterar rotas de rede.

O nome de host da própria máquina é uma configuração separada. hostname o imprime; sudo hostnamectl set-hostname web1 o altera. /etc/hostname armazena o nome configurado. Debian e Ubuntu normalmente também o mapeiam em /etc/hosts, por exemplo 127.0.1.1 web1. Após uma mudança de nome, atualize esse mapeamento também. Uma divergência pode causar o aviso “unable to resolve host web1” ao usar sudo. Alterar seu nome de host não cria um registro DNS público para ele.

Principais conclusões

  • Tipos de registro DNS respondem a perguntas diferentes; A é IPv4 e AAAA é IPv6.
  • O TTL controla a duração do cache, portanto respostas antigas podem persistir após uma alteração.
  • A linha hosts: em nsswitch.conf controla as fontes de consulta do sistema.
  • Uma entrada do arquivo hosts é local a um computador e não contém número de porta.
  • Mantenha consistentes o nome de host configurado e seu mapeamento local no arquivo hosts.

5.2 Comparar configurações do resolvedor com resultados reais de consulta

Use um teste que corresponda à pergunta que você está fazendo. Uma consulta direta verifica a resposta de um servidor DNS. Uma consulta do sistema verifica as fontes que as aplicações Linux normalmente usam, que podem incluir arquivos locais além do DNS.

Leia a configuração do resolvedor

/etc/resolv.conf pode conter nameserver 192.168.1.1 e search example.com. A linha nameserver identifica um servidor DNS; o sufixo de busca permite que um nome curto como web1 seja consultado como web1.example.com. O resolvedor tradicional usa até três servidores de nomes configurados, normalmente em ordem. Opções podem ajustar o comportamento de tempo limite e novas tentativas.

Esse arquivo é frequentemente gerado por um serviço de rede. Um comentário ou link simbólico revela quem o gerencia. Alterações feitas diretamente podem desaparecer na próxima atualização de rede, portanto altere os valores DNS salvos pelo NetworkManager, netplan ou gerenciador ativo.

Em um sistema que usa systemd-resolved, o arquivo normalmente aponta para /run/systemd/resolve/stub-resolv.conf e indica 127.0.0.53. Esse é um resolvedor DNS local de encaminhamento, não um servidor externo substituído acidentalmente pelo endereço de retorno local. Ele encaminha consultas e armazena respostas em cache. Use:

resolvectl status
resolvectl query example.com
resolvectl flush-caches

O primeiro mostra os servidores DNS reais consultados, incluindo configurações por interface. Esvazie o cache quando precisar descartar resultados armazenados enquanto investiga uma alteração.

Escolha a ferramenta de consulta

host web1.example.com consulta um nome no DNS. host 203.0.113.10 realiza uma consulta reversa; host -t MX example.com solicita registros de correio. dig example.com A +short imprime uma resposta IPv4 compacta, e dig @1.1.1.1 example.com A seleciona explicitamente um servidor DNS. nslookup é uma ferramenta mais antiga de consulta DNS. As ferramentas geralmente são distribuídas nos pacotes dnsutils ou bind-utils.

getent hosts nas segue a ordem de consulta do sistema em /etc/nsswitch.conf, como faz a maioria das aplicações. dig, host e nslookup não leem /etc/hosts por conta própria. No entanto, consultar o resolvedor local do systemd-resolved pode retornar uma resposta que o serviço obtém desse arquivo. Selecione explicitamente um servidor conhecido quando quiser comparar seus dados DNS com a consulta local.

Interprete o resultado antes de alterar configurações

NXDOMAIN significa que o servidor DNS consultado respondeu que o nome não existe. SERVFAIL significa que o servidor não conseguiu concluir a consulta. Um tempo limite excedido significa que nenhuma resposta utilizável chegou antes do prazo. “Name or service not known” de um programa é um erro de consulta do sistema, não um código de resposta DNS por si só.

Suponha que ping para um endereço externo funcione, mas a consulta de example.com informe uma falha temporária. Inspecione o resolvedor configurado e compare uma consulta direta a ele com uma consulta a outro resolvedor conhecido. Uma resposta válida do segundo servidor direciona a investigação para o servidor configurado, o caminho até ele ou as configurações do resolvedor local. Se ambos falharem, distinga respostas reais de erro de tempos limite excedidos antes de atribuir a causa a um firewall. O tráfego DNS e o ping ICMP são tráfegos diferentes, mesmo quando usam a mesma rede.

Principais conclusões

  • Configurações geradas de resolv.conf devem ser alteradas pelo respectivo gerenciador de rede.
  • 127.0.0.53 normalmente identifica o resolvedor local do systemd-resolved; resolvectl status mostra os servidores consultados.
  • Use getent para o caminho de consulta do sistema e dig @SERVER para consultar um servidor DNS escolhido.
  • Uma resposta de erro DNS, um tempo limite excedido e um erro de consulta do sistema fornecem indícios diferentes.
6

Conectar-se a sistemas remotos com segurança usando SSH

O SSH oferece um shell remoto, uma forma de executar comandos individuais e transferência segura de arquivos. Uma conexão bem-sucedida envolve duas verificações de identidade: seu cliente verifica o servidor, e o servidor verifica sua conta. Configure chaves com essas funções claras e depois teste as configurações do servidor enquanto ainda tiver uma sessão funcionando. Interpretar erros de conexão e a configuração efetiva ajuda você a corrigir a etapa certa sem enfraquecer a proteção oferecida pelo SSH.

6.1 Conectar-se, verificar o servidor e transferir arquivos

O SSH, Secure Shell, criptografa sessões remotas e transferências de arquivos. O cliente ssh conecta-se ao sshd, normalmente na porta TCP 22. OpenSSH é a implementação habitual no Linux. Ferramentas antigas como telnet e FTP expõem senhas em texto simples.

Verifique e entre na sessão remota

Conecte-se com ssh lee@web1.example.com; omita lee@ para usar seu nome de usuário local. Para outra porta, use ssh -p 2222 lee@web1.example.com. Verifique a identidade da máquina remota antes de executar comandos; exit ou Ctrl+D retorna ao shell local.

No primeiro contato, o SSH exibe uma impressão digital da chave de identificação do servidor. Compare-a por um canal confiável com a fornecida pelo administrador ou provedor do servidor. O administrador pode imprimi-la com ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub. Aceitá-la armazena a chave no seu arquivo ~/.ssh/known_hosts para comparação posterior.

Um aviso de alteração da chave de identificação do servidor significa que a identidade apresentada difere da salva. Uma reconstrução ou um endereço reutilizado pode explicá-lo, mas um invasor também pode ser a causa. Verifique primeiro a nova impressão digital. Depois de confirmar a alteração, ssh-keygen -R 203.0.113.10 remove a entrada antiga desse endereço para que você possa conectar e registrar a nova.

Execute um comando sem permanecer conectado
ssh lee@web1.example.com 'df -h /'

O comando é executado remotamente, sua saída aparece localmente e a conexão termina. Um pipe local posterior pode processar essa saída. Programas que precisam de um terminal, inclusive sudo interativo, podem usar ssh -t, por exemplo ssh -t lee@web1.example.com sudo systemctl restart nginx.

Escolha uma ferramenta de transferência

scp report.pdf lee@web1.example.com:/home/lee/ envia um arquivo. scp lee@web1.example.com:/home/lee/results.csv . baixa para o diretório local atual. Os dois-pontos indicam o caminho remoto; sem eles, lee@web1.example.com é um nome de arquivo local. -r copia diretórios, e -P 2222 seleciona uma porta, com P maiúsculo. O scp moderno usa SFTP internamente.

sftp lee@web1.example.com abre uma sessão interativa. Use get para baixar, put para enviar, cd para o diretório remoto, lcd para o diretório local e bye para terminar. Para cópias repetidas de diretórios, rsync -av site/ lee@web1.example.com:/srv/site/ envia alterações por SSH; rsync deve estar instalado nas duas pontas.

Armazene detalhes de conexão usados repetidamente em ~/.ssh/config:

Host web1
    HostName 203.0.113.10
    User lee
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Então ssh web1 e scp notes.txt web1: usam essas configurações.

Identifique a etapa da falha

“Connection refused” indica uma rejeição ativa, geralmente porque não há serviço em escuta na porta escolhida. Um tempo limite excedido significa que nenhuma resposta chegou; possíveis causas incluem roteamento, filtragem ou um host inativo. “Permission denied (publickey)” significa que a conexão chegou à autenticação, mas sua conta ou a chave oferecida não foi aceita. ssh -v mostra o progresso da conexão e da autenticação para que você investigue a etapa que falhou.

Principais conclusões

  • Verifique a impressão digital do servidor antes de confiar em sua chave de identificação inicial ou alterada.
  • known_hosts guarda identidades de servidores, não as chaves autorizadas a acessar sua conta.
  • Comandos remotos entre aspas são executados no servidor; pipes locais posteriores são executados no cliente.
  • Dois-pontos indicam um caminho remoto no scp; scp usa -P, enquanto ssh usa -p para portas.
  • Use sftp interativamente e rsync para transferências repetidas de arquivos alterados.
  • Distinga rejeição, tempo limite excedido e falha de autenticação antes de diagnosticar o problema.

6.2 Criar um par de chaves e instalar a chave pública

O login por chave prova que seu cliente possui uma chave privada correspondente a uma chave pública autorizada. O cliente assina dados de autenticação; ele não envia a chave privada ao servidor. Os dois arquivos, portanto, têm destinos e necessidades de proteção diferentes.

Gere e proteja o par

No seu próprio computador:

ssh-keygen -t ed25519 -C "lee@laptop"

Escolha uma frase secreta quando solicitado. Os arquivos padrão são ~/.ssh/id_ed25519, a chave privada, e ~/.ssh/id_ed25519.pub, a chave pública. O texto de -C é um comentário de identificação. Ed25519 é o padrão do ssh-keygen desde o OpenSSH 9.5; indicá-lo explicitamente torna o exemplo claro. Para um servidor antigo que exige RSA, ssh-keygen -t rsa -b 4096 gera uma chave RSA de 4096 bits.

Uma frase secreta criptografa o arquivo da chave privada. Ela protege a chave armazenada caso alguém obtenha o arquivo; é diferente da senha da conta remota. Tarefas automatizadas às vezes usam chaves sem frases secretas, com permissões limitadas para a conta. Mantenha a chave privada no cliente e em segredo.

Um agente SSH mantém chaves desbloqueadas na memória para que você não precise digitar novamente a frase secreta a cada conexão. Sessões de área de trabalho normalmente iniciam um agente. Adicione a chave com ssh-add ~/.ssh/id_ed25519 e digite sua frase secreta quando solicitado.

Autorize a chave pública em uma conta
ssh-copy-id lee@web1.example.com

Após a autenticação na conta de Lee no servidor, o comando acrescenta uma chave pública ao arquivo ~/.ssh/authorized_keys dessa conta. Se houver várias chaves de cliente, ssh-copy-id -i ~/.ssh/id_ed25519.pub lee@web1.example.com seleciona explicitamente a chave pública. O provisionamento na nuvem pode instalá-la quando o servidor é criado.

Cada linha de authorized_keys contém um tipo de chave, dados codificados da chave pública e geralmente um comentário. Várias chaves podem autorizar dispositivos ou pessoas diferentes. Uma chave no arquivo de Lee concede acesso à conta de Lee, não à conta de root. Remover sua linha revoga a chave nessa conta; após um vazamento, remova a chave pública de todos os servidores afetados.

Verifique o proprietário, o grupo e as permissões

No servidor, na conta desejada:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Impeça que o grupo ou outros possam gravar no diretório pessoal. Com as verificações estritas normais, sshd rejeita arquivos de autorização ou diretórios superiores que permitam escrita de forma insegura. No cliente, o modo 600 protege a chave privada; permissões excessivamente abertas podem produzir “UNPROTECTED PRIVATE KEY FILE!” O arquivo público .pub pode ser legível com o modo 644.

Confirme o caminho de login

Abra uma nova conexão com ssh lee@web1.example.com. Uma solicitação de frase secreta desbloqueia a chave privada local; um agente que já tenha a chave carregada pode tornar isso desnecessário. Na saída detalhada, procure uma autenticação bem-sucedida usando “publickey.”

Se o login falhar, verifique primeiro o nome da conta, depois sua entrada de chave pública, proprietário, grupo e permissões e, em seguida, a chave oferecida pelo cliente. ssh -i ~/.ssh/other_key lee@web1.example.com seleciona uma chave privada específica; IdentityFile inclui essa seleção em uma configuração de host salva. Gerar outra chave não corrige a falta de uma entrada de autorização para a chave existente.

Principais conclusões

  • Mantenha a chave privada em segredo no cliente; instale a chave pública na conta desejada do servidor.
  • Uma frase secreta protege a chave privada armazenada; um agente mantém uma chave desbloqueada na memória.
  • Use 700 para .ssh e 600 para authorized_keys e para a chave privada do cliente.
  • A autorização é por conta; excluir uma linha de chave pública revoga essa chave nessa conta.
  • Verifique a conta, a chave autorizada, as permissões e a chave oferecida quando a autenticação falhar.

6.3 Alterar configurações do servidor SSH sem perder o acesso

O programa servidor é sshd, fornecido pelo pacote openssh-server. Debian e Ubuntu chamam seu serviço systemd de ssh; Fedora, RHEL, openSUSE e Arch geralmente o chamam de sshd. Use o nome fornecido pela sua distribuição ao verificar o estado, habilitar ou recarregar o serviço.

Localize a configuração efetiva

Instale com sudo apt install openssh-server ou sudo dnf install openssh-server. Para um serviço no Fedora ou RHEL, sudo systemctl enable --now sshd o inicia e habilita sua execução na inicialização. systemctl status sshd informa seu estado.

O servidor lê /etc/ssh/sshd_config. /etc/ssh/ssh_config é para o cliente. Muitos sistemas incluem /etc/ssh/sshd_config.d/*.conf perto do início do arquivo do servidor. Para a maioria das diretivas, o primeiro valor lido tem prioridade. Acrescentar um valor diferente ao final do arquivo principal pode não ter efeito.

Use sudo sshd -T para imprimir as configurações efetivas. Se ele mostrar passwordauthentication yes apesar de um no posterior, verifique os arquivos incluídos. Em uma imagem Ubuntu na nuvem, 50-cloud-init.conf pode fornecer o valor anterior. Um arquivo aplicável lido antes, como 10-no-passwords.conf, ou uma alteração na configuração que determina o valor deve ser seguido de validação e recarregamento.

Exija a autenticação desejada

Depois que o login por chave funcionar, estas configurações estabelecem acesso somente por chave:

PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
AuthenticationMethods publickey
PermitRootLogin no

A primeira habilita chaves. As duas seguintes desativam os métodos por senha e interativo por teclado, que podem aceitar senhas. AuthenticationMethods publickey exige explicitamente autenticação por chave pública. PermitRootLogin no bloqueia o login SSH de root; administradores fazem login com suas próprias contas e usam sudo. O padrão prohibit-password é diferente: ele ainda permite login de root por chave. AllowUsers lee deploy pode restringir quais contas podem entrar.

Aplique e teste com segurança

Mantenha a sessão em funcionamento aberta e confirme o login por chave em um segundo terminal antes de remover o acesso por senha. Após editar:

sudo sshd -t
sudo systemctl reload sshd

Use reload ssh no Debian ou Ubuntu. sshd -t não imprime nada quando a configuração é válida; corrija os erros antes de recarregar. Um recarregamento mantém as sessões existentes, portanto uma nova conexão é o teste da política alterada. Mantenha a sessão antiga até que esse teste seja bem-sucedido.

Verifique o acesso e os logs

journalctl -u sshd ou journalctl -u ssh mostra as tentativas. Arquivos de log tradicionais incluem /var/log/auth.log no Debian/Ubuntu e /var/log/secure no RHEL. Tentativas repetidas de senha para usuários inválidos são comuns em servidores acessíveis pela internet; o acesso apenas por chave elimina a adivinhação de senha como forma de login.

Permita o serviço SSH pelo firewall ativo: sudo ufw allow OpenSSH no Ubuntu, ou sudo firewall-cmd --permanent --add-service=ssh seguido de sudo firewall-cmd --reload no Fedora/RHEL. Uma regra do provedor de nuvem também deve permitir a porta de escuta. Mover SSH para a porta 2222 pode reduzir o volume de mensagens de varreduras, mas chaves, login restrito e atualizações do OpenSSH fornecem a proteção efetiva.

Principais conclusões

  • Use o nome de serviço da distribuição: ssh no Debian/Ubuntu, geralmente sshd nas demais.
  • Inspecione as configurações efetivas com sshd -T; valores incluídos anteriormente podem ter prioridade.
  • Desative os dois métodos que aceitam senha e exija publickey para login apenas por chave.
  • Confirme as chaves, verifique a sintaxe, recarregue e teste uma nova conexão mantendo uma sessão em funcionamento.
  • Leia os logs do servidor e verifique as regras de acesso do host e da nuvem.

Exercícios resolvidos de Sistemas de arquivos e redes no Linux

6 Lições Interativas

1

Acompanhar arquivos em um sistema Linux

16 passos
Localize arquivos de serviços, analise diretórios compartilhados e links e depois leia informações atuais do sistema.
  1. 1
    IntroduçãoComece pela finalidade do caminho

    Um pequeno serviço de atendimento mantém seu programa, configurações e histórico de solicitações em locais diferentes (/usr, /etc e /var). Seu administrador também usa um diretório temporário compartilhado e um atalho para o relatório atual, que é um link simbólico.

    Analise cada caminho fazendo duas perguntas: que tipo de dado pertence a este local e que tipo de entrada de sistema de arquivos é esta? As respostas determinam onde você procura e o que uma operação de arquivo vai alterar, como quem pode excluir entradas (o sticky bit).

  2. 2
    ExplicaçãoSepare programa, configurações e saída

    O programa normalmente pertence a /usr, suas configurações gerais da máquina a /etc e seus dados que mudam a /var. Uma cópia pessoal de trabalho pertence a um diretório pessoal.

    Para uma ferramenta auxiliar instalada manualmente pelo administrador, /usr/local/bin a mantém separada dos comandos instalados por pacotes. Um histórico de solicitações pertence a /var/log, onde se espera que dados operacionais cresçam.

  3. 3
    DesafioOrganize os arquivos do serviço

    Um serviço de suporte tem três arquivos: seu executável instalado por pacote, sua configuração local e um log que cresce todos os dias. Associe-os a /usr, /etc e /var.

    ---reveal---

    O executável pertence a /usr, as configurações locais a /etc e o log que muda a /var, normalmente /var/log. Um nome terminado em .conf é um indício útil, mas a finalidade do arquivo é o motivo de sua localização.

  4. 4
    ExplicaçãoEscolha onde manter trabalhos temporários

    Uma tarefa curta de conversão pode usar /tmp. Uma tarefa mais longa que precisa ser retomada após uma reinicialização precisa de /var/tmp. Nenhum dos dois é um local permanente para o resultado final.

    Um /tmp mantido na memória perde seus arquivos no desligamento, enquanto regras de limpeza podem remover entradas antigas em ambos os locais. Use mktemp para criar um arquivo privado com nome exclusivo e guarde o caminho impresso para comandos posteriores.

  5. 5
    ExemploInterprete a permissão sticky

    O diretório compartilhado pertencente a root mostra drwxrwxrwt. Todos podem criar entradas, mas o t final altera quem pode removê-las ou renomeá-las.

    Jo cria um arquivo com modo 644. Pat pode ler seu conteúdo porque o arquivo permite leitura por outros. Pat não pode excluir sua entrada: o diretório com sticky bit reserva essa operação ao proprietário da entrada, ao proprietário do diretório ou a root, sujeito às verificações normais de acesso.

  6. 6
    DesafioAltere a privacidade sem mudar as regras de exclusão

    Jo quer impedir que Pat leia o arquivo temporário existente. O diretório compartilhado já tem o sticky bit. O que Jo deve alterar?

    ---reveal---

    Altere as permissões do próprio arquivo, por exemplo para o modo 600. O sticky bit já restringe a exclusão e a renomeação; ele não remove a permissão de leitura de um arquivo com modo 644. Essas duas proteções atuam sobre operações diferentes.

  7. 7
    ExemploCrie um link relativo

    O diretório /home/jo/exports existe, e o relatório é /home/jo/today.txt. Um link em /home/jo/exports/current deve alcançar o relatório.

    Use ln -s ../today.txt /home/jo/exports/current. Ao seguir o destino armazenado, comece dentro de exports, suba para /home/jo e depois leia today.txt. O diretório de trabalho do shell não fornece o ponto de partida.

  8. 8
    DesafioRepare um destino movido

    Jo renomeia today.txt para ready.txt sem mover o link em /home/jo/exports/current. Que destino o link recriado deve armazenar?

    ---reveal---

    Armazene ../ready.txt. O primeiro .. ainda sobe de exports para o diretório pessoal de Jo, mas o nome final do arquivo deve corresponder ao novo nome. Alterar as permissões exibidas do link simbólico não corrige o caminho de destino ausente.

  9. 9
    ExplicaçãoDê ao arquivo um segundo nome por link físico

    Um link físico armazena outro nome para o mesmo registro de arquivo, não um caminho para um nome original preferencial. ln ready.txt kept.txt faz os dois nomes compartilharem um inode nesse sistema de arquivos.

    Remover ready.txt deixa kept.txt utilizável. Um link simbólico que armazene ready.txt ficaria quebrado. Um link físico não pode apontar para um diretório nem atravessar para outro sistema de arquivos.

  10. 10
    DicaRemova a entrada desejada

    Para um link simbólico que aponta para um diretório, use seu nome sem barra final: rm current ou unlink current. O diretório de destino permanece.

    Uma barra final faz os comandos seguirem o diretório de destino. Uma remoção recursiva pode então alcançar arquivos dentro desse destino, portanto a escrita exata do caminho importa. Inspecione a seta com ls -l ou leia o destino armazenado com readlink quando tiver dúvida.

  11. 11
    ExplicaçãoReconheça dispositivos antes de abri-los

    Uma listagem que começa com b descreve um dispositivo de blocos, como uma partição de disco. Um c inicial identifica um dispositivo de caracteres, como um terminal. Arquivos comuns começam com -, independentemente de seu conteúdo ser texto ou binário.

    Os números maior e menor em uma listagem de dispositivo identificam o driver e o dispositivo. Eles ocupam a posição em que um arquivo comum mostraria seu tamanho.

  12. 12
    ExemploLeia o tempo atual de funcionamento

    cat /proc/uptime retorna 259200.0 710000.0. O primeiro valor corresponde aos segundos decorridos desde a inicialização: dividir por 3600 resulta em 72 horas, ou três dias.

    O segundo valor soma o tempo ocioso dos processadores, portanto pode ser maior que o tempo real decorrido desde a inicialização. Esse texto vem do kernel em execução; não é um log comum salvo em disco a cada segundo.

  13. 13
    DesafioExplique um arquivo de informações com tamanho zero

    Uma pessoa em treinamento vê tamanho 0 para uma entrada em /proc e presume que ela não pode conter informações úteis. Ao lê-la, recebe várias linhas. Como ambas as observações podem estar corretas?

    ---reveal---

    O kernel gera as informações sob demanda. O tamanho na listagem não é o comprimento armazenado de um arquivo comum em disco, portanto o zero não indica que a leitura retornará vazio. Use a função documentada da entrada para interpretar o texto retornado.

  14. 14
    ConexãoLeia uma interface pelo sysfs

    ls /sys/class/net/ lista as interfaces conhecidas pelo kernel. Ler /sys/class/net/enp0s3/address retorna o endereço MAC dessa interface Ethernet.

    Isso conecta um caminho conhecido a informações atuais de hardware. /proc enfatiza dados de processos e do sistema, enquanto /sys organiza dispositivos, drivers e barramentos. Seus conteúdos são recriados pelo sistema em execução.

  15. 15
    DesafioMantenha o acesso após o desaparecimento de um nome de arquivo

    Um relatório está em um diretório compartilhado pertencente a root com sticky bit. Jo é proprietária do arquivo; Pat pode lê-lo, mas não pode renomeá-lo. Um link simbólico em outro local armazena seu caminho. Jo remove esse nome do relatório, mas um link físico permanece no mesmo sistema de arquivos. Qual nome restante ainda abre o relatório e por quê?

    ---reveal---

    O nome do link físico ainda o abre porque identifica o mesmo registro de arquivo. O link simbólico fica quebrado porque seu caminho armazenado desapareceu. A proteção do sticky bit controla quem pode remover a entrada original, não se outro nome sobrevive.

  16. 16
    RecapitulaçãoUse a finalidade, as permissões e o tipo de entrada

    Localize o arquivo por sua finalidade, leia seu tipo e suas permissões e depois siga qualquer link a partir do diretório correto. Para dados atuais do sistema, inspecione /proc e /sys. Para trabalho temporário compartilhado, escolha tanto a duração quanto a privacidade do arquivo; a proteção do sticky bit cuida de uma regra separada de exclusão.

2

Conectar uma unidade opcional de arquivos armazenados

14 passos
Identifique um sistema de arquivos existente, monte-o e crie uma entrada de inicialização testada usando seu identificador duradouro.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoComece com uma unidade de dados existente
  2. 2
    ExemploInterprete a árvore de dispositivos
  3. 3
    ExplicaçãoNão confunda inspeção com preparação
  4. 4
    DesafioEscolha a origem correta
  5. 5
    ExemploCrie o diretório e monte o sistema de arquivos
  6. 6
    DicaEscolha uma montagem restrita para inspeção
  7. 7
    DesafioResolva uma desmontagem de destino ocupado
  8. 8
    ExplicaçãoRegistre a identidade em vez da ordem de detecção
  9. 9
    ExemploCrie a regra de seis campos
  10. 10
    ExemploVerifique a regra antes de reiniciar
  11. 11
    DesafioDistinga nofail de noauto
  12. 12
    ConexãoAtribua proprietário e grupo ao sistema de arquivos montado
  13. 13
    DesafioCorrija a configuração após a reformatação
  14. 14
    RecapitulaçãoConfirme cada camada
3

Descobrir por que um servidor não consegue criar arquivos

10 passos
Use relatórios de espaço e inodes, acompanhe o crescimento de diretórios e explique o armazenamento que permanece após a exclusão.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoComece pelo caminho em que ocorreu a falha
  2. 2
    ExemploInterprete o sistema de arquivos que contém o caminho
  3. 3
    ExemploVerifique a quantidade de inodes
  4. 4
    DesafioEscolha a limpeza para o recurso esgotado
  5. 5
    ExemploEncontre o diretório que está crescendo
  6. 6
    DicaInclua o armazenamento oculto
  7. 7
    ExplicaçãoAcompanhe a referência restante a um log excluído
  8. 8
    DesafioExplique o relatório de espaço livre inalterado
  9. 9
    DesafioVerifique o resultado da limpeza do diário de registros
  10. 10
    RecapitulaçãoMeça o recurso que você recuperou
4

Acompanhar uma conexão da interface ao serviço

15 passos
Consulte uma interface e uma rota, teste uma alteração temporária e depois diagnostique um serviço que funciona apenas localmente.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoSepare as partes da conexão
  2. 2
    ExplicaçãoIdentifique a rede local pelo prefixo
  3. 3
    DesafioDetermine se um destino é local
  4. 4
    ConexãoReconheça as funções separadas de endereço e roteador no IPv6
  5. 5
    ExemploInspecione a visualização resumida de endereços
  6. 6
    ExemploInterprete a rota escolhida para o destino
  7. 7
    DesafioEncontre o roteador sem adivinhar
  8. 8
    ExemploAdicione um endereço temporário completo
  9. 9
    DicaProteja o acesso ao aplicar configurações salvas
  10. 10
    DesafioExplique uma configuração que desapareceu
  11. 11
    ExplicaçãoInterprete um resultado de ping com precisão
  12. 12
    ExemploInspecione um serviço em escuta apenas localmente
  13. 13
    DesafioCombine evidências de rota e serviço
  14. 14
    ConexãoTeste a aplicação desejada
  15. 15
    RecapitulaçãoEscolha o próximo teste pelo resultado
5

Explicar por que um computador resolve um endereço antigo

11 passos
Compare mapeamentos locais, um resolvedor DNS local e uma consulta DNS explícita sem confundir seus resultados.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoUm nome funciona de forma diferente em duas máquinas
  2. 2
    ExplicaçãoSiga a ordem de consulta do sistema
  3. 3
    ExemploEncontre o mapeamento local desatualizado
  4. 4
    DesafioPreveja o alcance de uma edição local
  5. 5
    ConexãoConsidere respostas DNS em cache
  6. 6
    ExplicaçãoReconheça o resolvedor local
  7. 7
    ExemploCompare dois caminhos de consulta escolhidos
  8. 8
    DesafioInterprete uma resposta negativa
  9. 9
    ExplicaçãoDistinga mensagens de falha
  10. 10
    DesafioExplique testes com resultados aparentemente iguais
  11. 11
    RecapitulaçãoCompare as fontes antes de alterar configurações
6

Configurar e verificar acesso remoto apenas por chave

17 passos
Verifique a identidade do servidor, autorize uma chave de usuário e depois valide uma alteração de política preservando o acesso para recuperação.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoMantenha separadas as identidades do servidor e do usuário
  2. 2
    ExemploVerifique a primeira conexão
  3. 3
    DesafioResponda a uma chave de identificação do servidor alterada
  4. 4
    ExemploExecute um comando remoto
  5. 5
    DicaMantenha visível a direção da transferência
  6. 6
    ExemploCrie o par no cliente
  7. 7
    ExemploInstale apenas a chave pública
  8. 8
    DicaProteja os arquivos e use o agente
  9. 9
    DesafioCorrija uma incompatibilidade de conta
  10. 10
    ExplicaçãoConsulte as configurações que determinam o comportamento do servidor
  11. 11
    ExemploExija autenticação por chave pública
  12. 12
    DesafioExplique a distinção no login de root
  13. 13
    ExemploValide, recarregue e abra uma nova sessão
  14. 14
    ConexãoIdentifique onde a conexão parou
  15. 15
    DesafioDescubra por que uma configuração posterior não teve prioridade
  16. 16
    DesafioRevogue o acesso de um dispositivo perdido
  17. 17
    RecapitulaçãoTeste o novo caminho de login

Questões de Sistemas de arquivos e redes no Linux

60 Questões de Prática em 6 conjuntos

Conjunto 1: Identificar armazenamento e fazer montagens confiáveis10 Questões de Prática

Questão 1 de 10

O que /dev/nvme1n1p3 identifica?
  1. O dispositivo NVMe 3 com sua primeira partição montada.
  2. A partição 1 do dispositivo SATA /dev/nvme3n1.
  3. Um sistema de arquivos montado no diretório /dev/nvme1.
  4. A partição 3 do dispositivo NVMe /dev/nvme1n1.
Mostrar respostaOcultar resposta
Resposta: D
O sufixo p3 identifica a partição 3; o dispositivo pai é /dev/nvme1n1. O nome do dispositivo não identifica seu tipo de sistema de arquivos nem seu ponto de montagem. Interpretar o último dígito como número de unidade confundiria a partição com o espaço de nomes NVMe inteiro e poderia levar à escolha do destino errado.

Questão 2 de 10

Uma unidade removível usa GPT e tem uma partição vfat. A cópia de um arquivo de 6 GiB falha, embora haja 20 GiB livres. O que explica a falha?
  1. FAT32 não pode armazenar um arquivo desse tamanho.
  2. GPT limita cada arquivo da partição a 4 GiB.
  3. A partição é pequena demais para qualquer novo arquivo.
  4. A exibição binária de tamanho oculta o espaço usado.
Mostrar respostaOcultar resposta
Resposta: A
O tipo vfat do Linux inclui FAT32, cujo limite para um único arquivo é inferior a 4 GiB, portanto o arquivo de 6 GiB não cabe como um único arquivo. O espaço total disponível não elimina esse limite por arquivo. GPT descreve limites de partições e não é o componente que impõe esse limite de tamanho de arquivo do sistema de arquivos.

Questão 3 de 10

Uma partição ext4 é identificada como /dev/vdc1, e /mnt/archive já existe. Qual comando a conecta nesse local?
  1. sudo mount /mnt/archive /dev/vdc1
  2. sudo umount /dev/vdc1 /mnt/archive
  3. sudo mount /dev/vdc1 /mnt/archive
  4. sudo mkfs.ext4 /mnt/archive /dev/vdc1
Mostrar respostaOcultar resposta
Resposta: C
mount recebe o dispositivo de origem seguido do diretório de destino. Inverter a ordem trata um diretório como origem e um caminho de dispositivo como ponto de montagem. mkfs.ext4 cria um sistema de arquivos e pode destruir dados existentes; não é assim que se conecta à árvore um sistema de arquivos já preparado.

Questão 4 de 10

/mnt/store/local.txt estava presente antes de você montar uma unidade em /mnt/store. Agora ele não aparece na listagem. O que acontece após uma desmontagem bem-sucedida?
  1. O arquivo é copiado de volta da unidade.
  2. O arquivo anterior volta a ficar visível.
  3. O arquivo permanece excluído dos dois locais.
  4. O arquivo é movido para o diretório raiz da unidade.
Mostrar respostaOcultar resposta
Resposta: B
A montagem oculta o conteúdo anterior do diretório sob o sistema de arquivos conectado. A desmontagem revela novamente essas entradas existentes; ela não restaura um backup nem copia arquivos entre sistemas de arquivos. Presumir que a ausência na listagem significa exclusão confunde a visualização montada com o diretório subjacente.

Questão 5 de 10

Uma unidade de dados muda de /dev/sdc1 para /dev/sdd1 após a adição de outra unidade. Qual origem no fstab evita melhor esse problema de ordem de detecção?
  1. O UUID do sistema de arquivos de dados.
  2. O novo caminho /dev/sdd1.
  3. O nome do ponto de montagem atual da unidade.
  4. O nome ext4 do tipo de sistema de arquivos.
Mostrar respostaOcultar resposta
Resposta: A
Um UUID de sistema de arquivos permanece associado a esse sistema de arquivos quando os nomes de dispositivo do kernel mudam. Substituir o caminho antigo pelo /dev/sdd1 de hoje pode funcionar agora, mas mantém o mesmo problema futuro de ordem de detecção. O tipo e o diretório de montagem descrevem outros campos do fstab e não identificam de forma única o sistema de arquivos de origem.

Questão 6 de 10

Uma unidade opcional de backup costuma ficar desconectada. Qual opção do fstab permite que a inicialização continue quando ela estiver ausente?
  1. noexec
  2. ro
  3. nofail
  4. user
Mostrar respostaOcultar resposta
Resposta: C
nofail permite que a inicialização continue sem o dispositivo de origem opcional. noexec controla a execução direta de arquivos após a montagem e não torna opcional uma unidade ausente. Acesso somente para leitura e montagem por usuário comum também dizem respeito a comportamentos diferentes, portanto nenhum deles atende a esse requisito de inicialização.

Questão 7 de 10

Um sistema de arquivos USB montado não é desmontado. Seu shell está dentro de /mnt/usb, e nenhum outro processo o usa. O que você deve fazer?
  1. Alterar as permissões dos arquivos e tentar umount novamente.
  2. Formatar a partição e tentar umount novamente.
  3. Excluir o ponto de montagem e tentar umount novamente.
  4. Sair do diretório e tentar umount novamente.
Mostrar respostaOcultar resposta
Resposta: D
O diretório atual do shell mantém o sistema de arquivos ocupado. Mude para um diretório fora da montagem e tente umount novamente para liberá-lo corretamente. Alterar permissões de arquivos não remove essa referência, enquanto formatar a partição destruiria dados sem resolver o motivo pelo qual seu shell está usando a montagem.

Questão 8 de 10

Uma unidade armazena 64.000.000.000 bytes. Por que uma exibição de tamanho em unidades binárias mostra cerca de 59,6G?
  1. Sua tabela de partições necessariamente consome 4,4 GB.
  2. Cada G exibido representa mais que um GB decimal.
  3. Seu sistema de arquivos reserva exatamente 4,4 GB para root.
  4. A unidade perdeu capacidade desde a fabricação.
Mostrar respostaOcultar resposta
Resposta: B
A exibição divide os bytes por 1.073.741.824 por GiB, produzindo cerca de 59,6G. O fabricante divide por 1.000.000.000 por GB. A diferença decorre do tamanho das unidades, portanto não pode ser atribuída a blocos reservados do sistema de arquivos ou a metadados de partição apenas subtraindo os números exibidos.

Questão 9 de 10

Você adiciona uma nova entrada do fstab com noauto, recarrega o systemd e executa mount -a. A montagem está ausente. Qual é o próximo teste adequado?
  1. Remover seu UUID e usar o tipo de sistema de arquivos como origem.
  2. Reiniciar imediatamente para forçar noauto a entrar em vigor.
  3. Montar explicitamente seu destino no fstab e inspecioná-lo.
  4. Executar mount -a novamente até o sistema de arquivos aparecer.
Mostrar respostaOcultar resposta
Resposta: C
mount -a ignora intencionalmente entradas noauto, portanto não testou essa montagem. Execute um comando como sudo mount /archive e depois inspecione esse destino com findmnt. Repetir o mesmo comando de montagem automática continuará ignorando a entrada; a ausência, por si só, não mostra que o UUID está errado.

Questão 10 de 10

Uma unidade ext4 existente tem uma entrada correta no fstab usando noauto,nofail em /mnt/test. Ela está conectada, mas mount -a deixa a unidade ausente e um arquivo local antigo visível nesse local. Como você pode visualizar a unidade preservando esse arquivo local?
  1. Remova nofail e reinicie; o arquivo local será copiado para a unidade.
  2. Monte /mnt/test explicitamente; o arquivo local ficará oculto até a desmontagem.
  3. Formate a unidade e monte novamente; o arquivo local será sua primeira entrada.
  4. Execute mount -a novamente; o arquivo local ficará visível nos dois sistemas de arquivos.
Mostrar respostaOcultar resposta
Resposta: B
noauto faz mount -a ignorar a entrada, portanto monte seu destino explicitamente. Conectar o sistema de arquivos existente oculta o conteúdo anterior do diretório até a desmontagem; isso não o apaga nem o copia. Remover nofail não cancela noauto, e a formatação destruiria o sistema de arquivos existente da unidade.
Conjunto 2: Encontrar arquivos e compreender entradas especiais10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Uma atualização de um serviço instalado por pacote substituiu sua edição em /usr/lib/systemd/system. Onde deve ser colocada uma substituição local compatível?
  1. Em /var/log/systemd.
  2. Em /usr/share/systemd.
  3. Em /etc/systemd/system.
  4. Em /run/media/systemd.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

ls -l mostra uma entrada de /proc com tamanho 0, mas cat imprime informações atuais. Por quê?
  1. O kernel gera seu conteúdo quando ela é lida.
  2. O arquivo está vazio, mas cat recupera seu backup.
  3. O texto fica em uma partição oculta do disco.
  4. O tamanho listado é medido em gigabytes inteiros.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Você instala manualmente um comando para todos os usuários. Onde seu executável normalmente deve ficar?
  1. /usr/share/doc
  2. /usr/local/bin
  3. /var/lib/local
  4. /etc/local/bin
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um serviço grava um histórico de solicitações que cresce. Qual diretório normalmente contém esse tipo de dado?
  1. /usr/lib
  2. /etc/log
  3. /var/log
  4. /boot/log
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um diretório pertencente a root tem modo 1777. Eva é proprietária de um arquivo nele com modo 644. Omar é um usuário comum que não é proprietário do arquivo nem do diretório. O que Omar pode fazer?
  1. Ler o arquivo, mas não excluir sua entrada.
  2. Excluir sua entrada, mas não ler o arquivo.
  3. Ler o arquivo e excluir sua entrada.
  4. Não ler o arquivo nem listar seu nome.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Um link simbólico em /home/ren/archive/current armazena ../draft.txt. Para qual caminho ele aponta?
  1. /home/ren/archive/draft.txt
  2. /home/draft.txt
  3. /home/ren/current/draft.txt
  4. /home/ren/draft.txt
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Uma listagem começa com brw-rw----. Que tipo de entrada é essa?
  1. Um link simbólico quebrado.
  2. Um arquivo binário.
  3. Um dispositivo de caracteres.
  4. Um dispositivo de blocos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Em um diretório, copy.txt é um link físico para source.txt, e alias.txt é um link simbólico que armazena source.txt. Após a remoção de source.txt, o que continua legível?
  1. Somente alias.txt.
  2. Somente copy.txt.
  3. Ambos os nomes restantes.
  4. Nenhum dos nomes restantes.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma tarefa temporária deve ser retomada após uma reinicialização. Qual local é adequado para seus arquivos intermediários?
  1. /var/tmp
  2. /run
  3. /proc/tmp
  4. /tmp
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um link simbólico em /home/eli/links/active armazena ../work.txt. O arquivo de destino é movido para /data/notes/final.txt em outro sistema de arquivos. Que tipo de link e destino relativo restauram o acesso pelo nome inalterado do link?
  1. Um link simbólico que armazena ../../data/notes/final.txt.
  2. Um link simbólico que armazena ../../../data/notes/final.txt.
  3. Um link físico para o arquivo /data/notes/final.txt.
  4. Um link simbólico que armazena ../data/notes/final.txt.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 3: Diagnosticar sistemas de arquivos cheios e totais inesperados10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Você precisa saber o espaço livre do sistema de arquivos que contém /srv/uploads. Qual comando fornece esse relatório?
  1. df -h /srv/uploads
  2. du -sh /srv/uploads
  3. lsblk /srv/uploads
  4. free -h /srv/uploads
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

A criação de novos arquivos falha em um sistema de arquivos ext4. df -h mostra 18G disponíveis, mas df -i mostra IFree como 0. Qual limpeza resolve melhor a falha?
  1. Remover um arquivo grande com links físicos.
  2. Mover um arquivo grande dentro do próprio diretório.
  3. Remover muitos arquivos minúsculos de cache indesejados.
  4. Aumentar a memória para programas em execução.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Um diretório pessoal é grande, mas du -sh * contabiliza pouco desse tamanho. Qual comando inclui seus subdiretórios ocultos?
  1. du -sh ~/* | sort -h
  2. ls -lhS ~/* | sort -h
  3. df -h ~/* | sort -h
  4. du -h -d 1 ~ | sort -h
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Você quer um único total para /var/cache, incluindo seu conteúdo. Qual comando deve usar?
  1. sudo df -h /var/cache
  2. sudo du -sh /var/cache
  3. sudo ls -ld /var/cache
  4. sudo findmnt /var/cache
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um log excluído ainda aparece em lsof +L1, mantido aberto por seu serviço. Por que df não recuperou seu espaço?
  1. O nome excluído agora ocupa o mesmo espaço na lixeira.
  2. O arquivo aberto ainda mantém seu armazenamento alocado.
  3. O relatório df espera a próxima varredura agendada do disco.
  4. O inode está livre, mas todos os seus blocos são reservados para root.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Um relatório df simplificado mostra 24G usados e 16G disponíveis. Qual Use% resulta da regra do df do GNU?
  1. 40%.
  2. 67%.
  3. 75%.
  4. 60%.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Uma imagem esparsa tem tamanho lógico de 30 GiB, mas apenas 2 GiB alocados. Quais medições são compatíveis com isso?
  1. ls informa cerca de 30 GiB; du informa cerca de 2 GiB.
  2. ls informa cerca de 2 GiB; du informa cerca de 30 GiB.
  3. As duas ferramentas devem informar cerca de 30 GiB para a imagem.
  4. As duas ferramentas devem informar cerca de 2 GiB para a imagem.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Você reformatou uma partição opcional de dados, e seu UUID antigo permanece no fstab. O que deve mudar antes de testar a montagem?
  1. Manter o UUID e alterar apenas o indicador dump.
  2. Manter o UUID e definir a ordem de verificação como zero.
  3. Substituir a origem pelo UUID do novo sistema de arquivos.
  4. Substituir o ponto de montagem pelo texto do UUID antigo.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma imagem esparsa tem tamanho lógico de 36 GiB e usa 3 GiB de blocos alocados. Ela tem dois nomes ligados fisicamente, e um processo a mantém aberta. Ambos os nomes são removidos. Ignorando pequenas alterações de metadados, quanto espaço df pode recuperar antes e depois de a última referência aberta ser fechada?
  1. Cerca de 0 GiB antes do fechamento e depois cerca de 3 GiB.
  2. Cerca de 3 GiB antes do fechamento e depois nenhum espaço adicional.
  3. Cerca de 0 GiB antes do fechamento e depois cerca de 36 GiB.
  4. Cerca de 36 GiB antes do fechamento e depois nenhum espaço adicional.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

O uso da raiz informado por df é 11G maior que o de uma varredura completa com du e privilégios administrativos. lsof +L1 está vazio. Uma unidade separada está montada sobre /srv/data, que antes continha arquivos grandes. O que explica a diferença?
  1. A capacidade da unidade montada é contada como dados de arquivos da raiz.
  2. Os arquivos excluídos ainda abertos continuam listados por seus nomes antigos.
  3. Blocos reservados não usados são informados como dados de arquivos em Used.
  4. Arquivos anteriores da raiz estão ocultos sob a montagem de dados.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 4: Consultar o estado da rede e localizar falhas de conexão10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um host tem 192.168.12.70/26 com uma rota conectada adequada. Qual destino está na mesma sub-rede?
  1. 192.168.12.20
  2. 192.168.12.130
  3. 192.168.12.100
  4. 192.168.13.70
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

O que /24 especifica em um endereço IPv4?
  1. A quantidade de endereços utilizáveis por hosts.
  2. O último byte do gateway padrão.
  3. A quantidade de bits iniciais da rede.
  4. A porta de serviço usada por essa interface.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Uma interface mostra inet 192.168.8.44/24 brd 192.168.8.255. Qual informação ainda exige a saída de rotas?
  1. O endereço IPv4 configurado da interface.
  2. O gateway padrão para tráfego destinado a outras redes.
  3. O endereço de difusão de sua rede local.
  4. A quantidade de bits iniciais do prefixo de rede.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

ss mostra um serviço TCP em escuta em 127.0.0.1:8080. Quem pode se conectar a esse endereço de escuta?
  1. Qualquer dispositivo na rede local.
  2. Somente o gateway padrão local.
  3. Qualquer host que conheça seu nome DNS.
  4. Programas nessa mesma máquina.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um endereço temporário adicionado com ip desaparece após a reinicialização. Como você deve tornar permanente o endereço desejado?
  1. Salvá-lo pelo gerenciador de rede ativo.
  2. Repetir o comando ip sem um prefixo.
  3. Adicionar o endereço apenas a /etc/hosts.
  4. Alterar o endereço MAC da interface para corresponder.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Ping imprime o endereço resolvido para portal.example.com, mas não recebe respostas de eco. O que você deve investigar em seguida?
  1. Uma falha garantida na resolução do nome.
  2. A conectividade ou a filtragem de respostas ICMP.
  3. Uma entrada ausente no arquivo local de nome de host.
  4. Uma necessidade automática de substituir o registro DNS.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um host IPv6 recebe um endereço e servidores DNS por DHCPv6. O que fornece suas informações de roteador padrão?
  1. Anúncios de roteador IPv6.
  2. A opção de gateway padrão DHCPv6.
  3. O resolvedor em resolv.conf.
  4. O gateway da concessão DHCPv4.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Em um console, você adiciona 192.168.90.25 sem prefixo a uma interface que antes não tinha endereço e a ativa. Outro host é 192.168.90.30/24; não há outras rotas. Por que o host local não consegue alcançar o outro host normalmente?
  1. Sua rota padrão está ausente, e toda comunicação na mesma sub-rede precisa dela.
  2. O outro host tem o prefixo /24 errado; ambas as extremidades devem usar /32.
  3. O outro host não tem rota de retorno porque o remetente tem um endereço /32.
  4. Sua rota para a sub-rede local está ausente porque o novo endereço recebeu /32.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Um cliente tem apenas uma rota conectada 192.168.6.0/24. Seu servidor desejado é 192.168.7.40. Nesse servidor, o serviço web funciona localmente, mas escuta apenas em 127.0.0.1:80. Qual par de correções resolve as duas barreiras demonstradas?
  1. Fornecer apenas DNS ao cliente e manter o serviço do servidor restrito ao retorno local.
  2. Fornecer uma rota ao cliente e um serviço do servidor em escuta na rede.
  3. Remover a rota conectada do cliente e manter o serviço atual do servidor em escuta.
  4. Manter as rotas do cliente e fazer o DNS público retornar o endereço de retorno local.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um host tem 192.168.55.130/26 e alcança outros hosts na mesma sub-rede. Seu perfil salvo seleciona o gateway 192.168.55.1, mas o roteador local desejado é 192.168.55.129. Nenhuma outra rota se aplica. Qual correção duradoura é adequada ao endereçamento?
  1. Manter o gateway 192.168.55.1 e substituir o prefixo do host por /32.
  2. Adicionar 192.168.55.129 ao arquivo hosts e manter o gateway salvo inalterado.
  3. Salvar o gateway 192.168.55.129 no perfil de rede ativo e aplicá-lo.
  4. Adicionar temporariamente o gateway 192.168.55.129 com ip e manter o perfil inalterado.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 5: Comparar caminhos DNS e evidências de conexão remota10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um cliente SSH recebe Permission denied (publickey). Em que etapa essa tentativa falhou?
  1. No roteamento do endereço IP.
  2. Na conexão com a porta TCP.
  3. Na autenticação do usuário.
  4. Na transferência do conteúdo do arquivo.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Qual tipo de registro DNS fornece um endereço IPv6 para um nome?
  1. A.
  2. AAAA.
  3. PTR.
  4. CNAME.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

resolv.conf indica 127.0.0.53 em um sistema que usa systemd-resolved. Como você pode ver os servidores DNS reais consultados?
  1. Substituir o resolvedor local por 127.0.0.1.
  2. Executar hostnamectl set-hostname.
  3. Ler o campo de difusão da rota padrão.
  4. Executar resolvectl status.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um registro tinha TTL 1800 quando foi armazenado em cache. Ele muda 5 minutos depois. Por que um cliente ainda pode receber o endereço antigo imediatamente após a alteração?
  1. A resposta anterior em cache ainda pode estar dentro de seu TTL.
  2. O registro deve permanecer inalterado até a próxima reinicialização.
  3. O cliente deve usar um CNAME para qualquer endereço alterado.
  4. O TTL informa ao DNS que mantenha o endereço antigo permanentemente.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

A ordem de consulta é files dns. Uma entrada hosts local mapeia docs.example.com para um endereço antigo. Uma consulta ao servidor DNS autoritativo selecionado explicitamente retorna o novo endereço. Qual comparação explica o destino antigo de uma aplicação?
  1. getent ignora o mapeamento local enquanto a consulta direta o carrega primeiro.
  2. Ambos os testes devem retornar a resposta DNS porque seu TTL é menor.
  3. getent segue o mapeamento local enquanto essa consulta DNS direta o ignora.
  4. A consulta direta atualiza /etc/hosts e corrige consultas posteriores de aplicações.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma consulta ao servidor DNS configurado retorna NXDOMAIN. O que distingue esse resultado de um tempo limite excedido?
  1. O servidor respondeu que o nome consultado não existe.
  2. A consulta não recebeu resposta antes do tempo limite.
  3. O servidor forneceu um endereço, mas o host bloqueou ping.
  4. O cliente não conseguiu iniciar porque sua interface estava inativa.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Testes com IP externo funcionam. Uma consulta DNS direta ao servidor configurado retorna SERVFAIL para um nome, enquanto outro resolvedor conhecido retorna um endereço. Qual é a conclusão mais sólida sustentada pelas evidências?
  1. Todo o tráfego DNS está bloqueado pelo firewall local.
  2. O host não tem nenhuma rota padrão funcionando.
  3. O nome não existe em nenhum servidor DNS.
  4. Investigar a falha do resolvedor configurado para esse nome.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma conexão SSH por endereço excede o tempo limite. O console do servidor mostra sshd em escuta em 0.0.0.0:22, um endereço e uma rota adequados. Que evidência deve ser verificada em seguida antes de alterar chaves de usuário?
  1. O comentário em authorized_keys usado para identificar a chave do cliente.
  2. As regras de filtragem do host e da nuvem no caminho do cliente até a porta 22.
  3. O histórico do shell do usuário de destino e seus comandos salvos.
  4. O sufixo de busca DNS do servidor para seu próprio nome curto.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Você renomeia uma máquina Debian com hostnamectl. Em seguida, sudo avisa que não consegue resolver o novo nome local. Qual configuração local você deve comparar?
  1. A porta SSH armazenada em known_hosts.
  2. O UUID do sistema de arquivos em /etc/fstab.
  3. A compressão IPv6 em /proc/uptime.
  4. O mapeamento do nome de host em /etc/hosts.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Existe uma entrada hosts para vault.home.arpa. Tanto dig sem um servidor explícito quanto getent hosts a retornam; resolv.conf aponta para o resolvedor local do systemd-resolved. Por que isso é coerente?
  1. O resolvedor local pode responder a consultas DNS usando dados do arquivo hosts.
  2. Dig interpreta diretamente cada arquivo indicado em nsswitch.conf.
  3. A entrada hosts foi publicada automaticamente no DNS público.
  4. Getent sempre ignora arquivos locais quando o resolvedor local está habilitado.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 6: Configurar chaves SSH e diagnosticar acesso com segurança10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Qual arquivo de chave deve ser instalado no authorized_keys da conta remota?
  1. A chave privada do cliente.
  2. A chave privada do servidor.
  3. As impressões digitais de servidores salvas.
  4. A chave pública do cliente.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um envio com scp deve usar a porta 2207. Qual comando tem a opção de porta e a sintaxe de caminho remoto corretas?
  1. scp -P 2207 log.txt aya@node.example.com/home/aya/
  2. scp -P 2207 aya@node.example.com:/home/aya/log.txt .
  3. scp -P 2207 log.txt aya@node.example.com:/home/aya/
  4. scp -P 2207 log.txt /home/aya/
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

A chave pública correta está instalada para o usuário deploy, mas você se conecta como root com essa chave e recebe uma mensagem de permissão negada. O que deve tentar primeiro?
  1. Copiar a chave privada para o diretório pessoal de root.
  2. Conectar-se como deploy com a mesma chave do cliente.
  3. Excluir a identidade do servidor de known_hosts.
  4. Alterar o arquivo da chave pública para o modo 777.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um arquivo global incluído define PasswordAuthentication yes antes de o arquivo principal defini-lo como no mais adiante. Não há blocos Match. Após o recarregamento, logins por senha ainda funcionam. O que você deve inspecionar e corrigir?
  1. A configuração efetiva e sua primeira ocorrência que determina o valor.
  2. As permissões de known_hosts do cliente e o comentário armazenado.
  3. A última linha do arquivo principal, adicionando novamente o mesmo valor no.
  4. O endereço de escuta, substituindo todos os endereços IPv4 pelo retorno local.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um servidor reconstruído apresenta uma nova chave de identificação. O administrador fornece sua impressão digital por um canal confiável. Qual sequência restaura o acesso confiável?
  1. Remover a entrada antiga e aceitar qualquer chave oferecida ao reconectar.
  2. Copiar sua chave privada de usuário para o servidor e reconectar.
  3. Desativar a verificação da chave do servidor e confirmar que a senha ainda funciona.
  4. Comparar a impressão digital, remover a entrada antiga e reconectar.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

O login por chave falha para a conta correta. Sua chave pública está instalada, sshd usa verificações estritas de permissão e o diretório .ssh do servidor permite escrita por todos os usuários. O cliente oferece a chave correspondente. Qual correção é compatível com as evidências?
  1. Permitir escrita por todos no known_hosts do cliente e tentar a conexão novamente.
  2. Gerar uma nova chave e manter o mesmo diretório de autorização gravável.
  3. Restringir .ssh no servidor a 700 e verificar seu proprietário, grupo e caminho superior.
  4. Alterar a rota padrão do servidor mantendo suas permissões abertas.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Qual teste verifica a sintaxe da configuração do sshd antes de você recarregar o serviço?
  1. sudo sshd -t
  2. sudo systemctl reload sshd
  3. sudo ssh -v node.example.com
  4. sudo systemctl enable sshd
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

As chaves já funcionam. A configuração efetiva do servidor desativa PasswordAuthentication, mas mantém KbdInteractiveAuthentication habilitado e não tem restrição AuthenticationMethods. A política exige login somente por chave pública. Que alteração completa essa política?
  1. Manter o método interativo por teclado e mover o serviço em escuta para outra porta.
  2. Desativar o método interativo por teclado e exigir autenticação publickey.
  3. Habilitar a autenticação por senha e restringir apenas a conta root.
  4. Manter os métodos inalterados e remover chaves de usuário após o login.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma chave de notebook perdido autoriza a conta A no servidor One e a conta B no servidor Two. Ambas as contas também autorizam uma chave CI separada que deve continuar funcionando. Como você deve revogar apenas o notebook perdido, preservando o acesso CI e os registros de confiança dos servidores?
  1. Excluir os arquivos authorized_keys completos das duas contas; manter a chave privada CI e known_hosts.
  2. Remover a linha da chave pública do notebook das duas contas; manter as linhas CI e known_hosts.
  3. Remover a linha do notebook apenas no servidor One; substituir a impressão digital salva do servidor Two.
  4. Manter os dois arquivos authorized_keys; remover as identidades de servidores do notebook de known_hosts.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Uma sessão SSH existente permanece ativa após um recarregamento feito depois da alteração das restrições de login. Você ainda não abriu outra conexão. O que deve acontecer antes de fechar a sessão em funcionamento?
  1. Testar um novo login sob as novas configurações efetivas.
  2. Tratar a sessão que permaneceu ativa como prova de que novos logins funcionam.
  3. Reiniciar a rede para que a sessão antiga se reconecte.
  4. Excluir a chave autorizada e ver se a sessão termina.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Travou em uma questão sua? Ajuda com Tarefas

Termos-Chave

94 Termos-Chave, cada um com sua definição

A

Agente SSH
Um agente SSH mantém chaves privadas desbloqueadas na memória e realiza operações de autenticação do cliente sem solicitar frases secretas repetidamente.
Após ssh-add, várias conexões podem usar a chave carregada sem pedir que você a desbloqueie novamente.
Arquivo esparso
Um arquivo esparso contém regiões lógicas sem blocos de dados alocados correspondentes, portanto seu tamanho pode superar seu uso físico de disco.
du normal e du --apparent-size podem fornecer totais muito diferentes para a mesma imagem esparsa.
Arquivo excluído ainda aberto
Um arquivo excluído ainda aberto perdeu seu nome de diretório, mas continua mantido por um processo em execução, de modo que seu armazenamento ainda não pode ser totalmente recuperado.
lsof +L1 pode identificar um log ativo removido que ainda mantém um sistema de arquivos cheio.
Arquivo hosts
Um arquivo hosts é uma tabela estática local que mapeia endereços IP para nomes e apelidos, normalmente verificada antes do DNS na consulta do sistema Linux.
Uma entrada antiga em /etc/hosts pode enviar apenas seu computador ao servidor anterior de um site.
Arquivo inativo do diário de registros
Um arquivo inativo do diário de registros é um arquivo que não está mais ativo para novas entradas, tornando-se elegível para limpeza de retenção do diário.
Um limite de tamanho para limpeza pode deixar o armazenamento total do diário maior porque arquivos ativos permanecem.
Arquivo temporário
Um arquivo temporário contém dados intermediários de trabalho por um período limitado e pode ser removido por seu programa ou por uma política de limpeza do sistema.
Uma tarefa que precisa ser retomada após a reinicialização mantém seus arquivos temporários em /var/tmp em vez de /run.
Autenticação interativa por teclado
A autenticação interativa por teclado é um método SSH para solicitações de desafio e resposta que pode aceitar senhas em um servidor configurado.
Desativar apenas PasswordAuthentication pode deixar habilitado um segundo método capaz de aceitar senhas.
authorized_keys
O arquivo authorized_keys lista chaves públicas autorizadas a fazer login em uma conta no servidor, geralmente uma chave autorizada por linha.
Remover a chave de um dispositivo vazado de uma conta não revoga seu acesso em outro servidor.
Autoconfiguração de endereços sem estado
SLAAC é a autoconfiguração de endereços IPv6 na qual um host forma seu endereço usando um prefixo de rede anunciado por um roteador.
Um host IPv6 pode configurar um endereço sem uma concessão de endereço DHCPv6 usando anúncios de roteador.

Á

Área de troca
A área de troca é espaço em disco, em um arquivo ou partição, que o kernel pode usar para auxiliar a memória em vez de apresentar arquivos comuns de usuário.
Uma entrada com tipo de sistema de arquivos swap é ativada como área de troca em vez de ser montada para documentos.

B

Bit de restrição de exclusão
O bit de restrição de exclusão é um indicador de diretório que restringe a exclusão e a renomeação ao proprietário da entrada, ao proprietário do diretório ou a root, sujeito às verificações normais de acesso.
Em /tmp, pertencente a root, um usuário comum não pode remover o arquivo de outro apenas porque o diretório permite escrita.
Blocos reservados
Blocos reservados são blocos do sistema de arquivos mantidos para uso privilegiado, normalmente 5% no ext4, para ajudar serviços essenciais a continuar funcionando quando usuários enchem o armazenamento.
Blocos reservados não usados reduzem a disponibilidade para usuários comuns sem se tornarem dados de arquivo usados.

C

Chave de identificação do servidor
Uma chave de identificação do servidor SSH identifica o servidor para os clientes, permitindo que reconheçam o mesmo servidor e detectem uma substituição inesperada.
Compare a impressão digital do primeiro contato por um canal confiável antes de aceitar a identidade do servidor.
Chave privada
Uma chave privada é a metade secreta de um par de chaves, mantida no cliente para comprovar a identidade criptograficamente sem enviar a própria chave.
Proteja id_ed25519 com o modo 600 para que outros usuários comuns não possam lê-lo.
Chave pública
Uma chave pública é a metade compartilhável de um par de chaves, instalada em uma conta no servidor para autorizar a autenticação pela chave privada correspondente.
O arquivo terminado em .pub pode ser adicionado ao authorized_keys da conta remota desejada.
Comprimento do prefixo
O comprimento do prefixo conta os bits iniciais que identificam uma rede IP, deixando os bits restantes do endereço para distinguir destinos dentro dela.
O /26 em um endereço IPv4 deixa seis bits de endereço e fornece 64 endereços nessa sub-rede.
Configuração efetiva
Uma configuração efetiva é o conjunto de configurações que um serviço realmente obtém após ler os padrões e todos os arquivos de configuração aplicáveis.
A saída de sshd -T ajuda a verificar qual valor prevaleceu quando as configurações aparecem em vários arquivos.
Configuração incluída
Um arquivo de configuração incluído fornece configurações no ponto em que o arquivo principal o lê, de modo que valores anteriores podem determinar a maioria das diretivas do sshd.
Verifique sshd -T quando um valor yes incluído anteriormente parecer prevalecer sobre uma configuração no posterior.
Configuração temporária de rede
Uma configuração temporária de rede altera o estado do kernel em execução sem salvar um perfil de inicialização e pode ser substituída por um gerenciador de rede.
Um endereço adicionado por ip pode desaparecer quando o NetworkManager reaplica seu perfil de conexão.
Contagem de links físicos
A contagem de links físicos registra quantas entradas de diretório ligadas fisicamente identificam um arquivo e aparece perto do início de uma listagem ls -l.
Criar um segundo link físico para um arquivo comum aumenta sua contagem de links exibida para dois.

D

Desmontagem
A desmontagem desconecta um sistema de arquivos de seu lugar na árvore de diretórios depois que as gravações pendentes são processadas e seus usuários atuais o liberam.
Um shell deve sair de /mnt/usb antes que essa montagem possa ser desconectada sem erro de destino ocupado.
Destino relativo
Um destino relativo é um caminho de link simbólico interpretado a partir do diretório que contém o link, em vez da raiz do sistema de arquivos.
Mover um link para outro diretório pode alterar para onde seu destino relativo aponta.
DHCP
O DHCP para IPv4 concede configurações de rede a hosts por tempo limitado, incluindo endereço, prefixo, gateway padrão e informações de servidores DNS.
Um endereço IPv4 atribuído dinamicamente pode mostrar o tempo restante da concessão na saída de ip addr.
Diretório pessoal
Um diretório pessoal é o diretório de uma conta para arquivos e configurações pessoais, geralmente em /home para usuários comuns.
O shell expande ~ para seu diretório pessoal, onde entradas ocultas podem conter suas configurações pessoais de aplicações.
Diretório raiz
O diretório raiz é /, o ponto inicial da árvore única de arquivos, diretórios e sistemas de arquivos montados do Linux.
Uma segunda unidade montada em /data se junta à árvore em vez de receber uma letra de unidade separada.
Disco
Um disco é um dispositivo de armazenamento físico ou virtual que o Linux expõe como dispositivo de blocos e que pode conter uma ou mais partições.
Uma unidade NVMe pode conter partições separadas para arquivos de inicialização e para o sistema de arquivos raiz.
Dispositivo de blocos
Um dispositivo de blocos é uma interface do kernel para armazenamento acessado em blocos endereçáveis, representada por um caminho como /dev/sda1.
O b no início de uma listagem de dispositivo distingue uma partição de disco de um arquivo comum.
Dispositivo de caracteres
Um dispositivo de caracteres é uma interface do kernel que apresenta um fluxo de bytes, como um terminal ou o dispositivo de descarte /dev/null.
Redirecionar a saída de erro padrão para /dev/null descarta esses bytes sem ocultar a saída normal.

E

Eco ICMP
O eco ICMP é o mecanismo de solicitação e resposta usado por ping para testar se um destino responde e medir o tempo de ida e volta.
Um firewall pode filtrar ping enquanto permite que o serviço HTTPS da mesma máquina responda.
Endereço de difusão
Um endereço de difusão IPv4 tem como destino os hosts da sub-rede local como grupo e normalmente é o último endereço em uma sub-rede comum.
O valor brd em ip addr não é o endereço do roteador a ser informado como seu gateway padrão.
Endereço IP
Um endereço IP é um endereço lógico de rede usado para identificar uma interface ou um host de destino, nos formatos IPv4 e IPv6.
Uma interface Ethernet pode ter um endereço IPv4 e vários endereços IPv6 ao mesmo tempo.
Endereço MAC
Um endereço MAC é o endereço de 48 bits usado por interfaces Ethernet e Wi-Fi para entrega em um enlace local, escrito como pares hexadecimais.
Uma entrada da tabela de vizinhos associa o endereço IP local do gateway ao seu endereço MAC.
Esgotamento de inodes
O esgotamento de inodes ocorre quando não restam registros de arquivo livres, impedindo novos arquivos mesmo que o sistema de arquivos ainda tenha blocos de dados livres.
Uma contagem IFree igual a zero explica por que a criação de um novo arquivo falha apesar de haver gigabytes na coluna Avail.
Espaço disponível
Espaço disponível é o armazenamento do sistema de arquivos que usuários comuns ainda podem alocar, excluindo recursos como blocos ext4 reservados e não usados.
A coluna Avail pode ser menor que o tamanho total menos o espaço usado em um sistema de arquivos ext4.
Estado da aplicação
O estado da aplicação é o conjunto de dados que um programa mantém entre execuções, como bancos de dados e registros de pacotes, normalmente armazenados em /var/lib.
Um diretório grande em /var/lib pode conter um banco de dados em uso, portanto identifique seu responsável antes da limpeza.

F

Frase secreta
Uma frase secreta de chave criptografa o arquivo armazenado da chave privada, protegendo-o contra uso por alguém que obtenha o arquivo e não conheça a frase.
Uma solicitação da frase secreta da chave desbloqueia a chave local, em vez de alterar a senha da conta remota.
fstab
O arquivo fstab é a tabela do sistema de montagens de sistemas de arquivos e áreas de troca, que usa seis campos por entrada para descrever o comportamento na inicialização.
Um novo sistema de arquivos de dados precisa de uma entrada em /etc/fstab se deve ser montado novamente na inicialização.

G

Gateway padrão
Um gateway padrão é o roteador do próximo salto usado por uma rota padrão para destinos sem uma rota correspondente mais específica.
Um host pode alcançar outro host local e ainda não ter uma rota por um gateway para redes externas.
Gibibyte
Um gibibyte é uma unidade binária de armazenamento que contém 1.073.741.824 bytes, normalmente exibida como G pelas ferramentas Linux de armazenamento em formato legível.
Uma unidade anunciada em GB decimal mostra um valor numérico menor quando lsblk exibe GiB.
GPT
GPT é um formato de tabela de partições associado ao UEFI que aceita discos grandes e normalmente fornece espaço para 128 entradas de partição.
Uma unidade pode usar GPT para seu mapa de partições e ext4 dentro de uma dessas partições.

I

Identificador universalmente único
Um UUID de sistema de arquivos é um identificador armazenado com o sistema de arquivos que normalmente permanece estável quando seu caminho de dispositivo no kernel muda.
Use o UUID informado por lsblk -f em vez de presumir que uma partição USB sempre será /dev/sdb1.
Impressão digital da chave
Uma impressão digital da chave é uma representação compacta de uma chave pública usada para verificar se duas representações de uma chave de servidor ou usuário correspondem.
Uma impressão digital verificada permite distinguir uma chave de identificação substituta legítima de uma desconhecida.
Inode
Um inode é um registro de sistema de arquivos para um arquivo ou diretório; nomes de arquivo ligados fisicamente compartilham o registro do arquivo correspondente.
Milhões de arquivos pequenos de cache podem consumir os inodes disponíveis no ext4 enquanto usam pouco espaço para dados.
Interface de rede
Uma interface de rede é um ponto de conexão físico ou virtual pelo qual o kernel envia e recebe tráfego, incluindo a interface de retorno local.
ip -br addr lista interfaces Ethernet, Wi-Fi, de retorno local e virtuais com seus endereços.
Interface de retorno local
A interface de retorno local é o caminho de rede interno do host para si mesmo, normalmente acessado por 127.0.0.1 no IPv4 ou ::1 no IPv6.
Um navegador em outro computador não pode usar seu próprio endereço de retorno local para alcançar seu servidor.

K

known_hosts
O arquivo known_hosts armazena chaves confiáveis de servidores SSH no cliente, permitindo que conexões posteriores verifiquem a identidade apresentada pelo servidor.
Um aviso de chave de identificação do servidor significa que a nova chave difere da entrada salva para esse destino.

L

Link físico
Um link físico é outra entrada de diretório que identifica o mesmo inode e os mesmos dados de arquivo em um sistema de arquivos, sem um nome original especial.
Excluir um nome ligado fisicamente deixa o outro nome capaz de ler e alterar o arquivo.
Link simbólico
Um link simbólico é um arquivo especial que armazena outro caminho, seguido pelos comandos para alcançar o arquivo ou diretório de destino indicado.
Um link para ../notes.txt começa sua resolução no diretório que contém esse link.
Link simbólico quebrado
Um link simbólico quebrado é um link cujo caminho de destino armazenado não pode ser alcançado, muitas vezes porque o destino foi movido ou excluído.
readlink permite inspecionar o caminho armazenado quando a abertura de um atalho quebrado falha.

M

MBR
MBR é um formato antigo de tabela de partições com quatro posições primárias e limite de endereçamento de 2 TiB quando o disco usa setores de 512 bytes.
Uma posição primária MBR pode conter uma partição estendida com partições lógicas adicionais.
Mecanismo de seleção de serviços de nomes
O mecanismo de seleção de serviços de nomes seleciona fontes e o comportamento de consulta para bancos de dados do sistema, com a consulta de nomes de host configurada pela linha hosts em nsswitch.conf.
A configuração hosts: files dns verifica o arquivo hosts local antes de consultar o DNS para um nome correspondente.
mktemp
O comando mktemp cria um arquivo ou diretório temporário privado com nome exclusivo e imprime o caminho para uso por quem o chamou.
Um script guarda o caminho impresso para que comandos posteriores trabalhem no arquivo que ele realmente criou.
Montagem somente para leitura
Uma montagem somente para leitura impede gravações normais de arquivos por essa montagem, embora a própria montagem ainda possa alterar o dispositivo subjacente.
Use a opção ro quando quiser inspecionar um sistema de arquivos sem gravações normais de aplicações.

N

Netplan
Netplan é um sistema de configuração de rede Linux que usa arquivos YAML para descrever configurações aplicadas por um serviço de rede subjacente.
No Ubuntu, netplan try oferece um prazo antes da reversão ao testar uma alteração que pode interromper o acesso.
noauto
A opção noauto exclui uma entrada da montagem automática na inicialização e de mount -a, mantendo disponível a montagem explícita.
Teste uma entrada noauto com sudo mount /archive em vez de esperar que mount -a a conecte.
noexec
A opção noexec impede a execução direta de arquivos de uma montagem, mas não impede que um interpretador leia um script nela.
Um script de shell legível nessa montagem ainda pode ser passado explicitamente ao bash.
nofail
A opção nofail permite que a inicialização continue quando um dispositivo de origem opcional não pode ser montado, atendendo a unidades removíveis ou extras.
Uma unidade de backup ausente não deve interromper a inicialização quando sua entrada no fstab está marcada com nofail.
Nome de domínio totalmente qualificado
Um nome de domínio totalmente qualificado identifica um nome na hierarquia DNS completa, como web1.example.com, em vez de um nome local curto.
Usar o nome completo evita depender de um sufixo de busca local para completar o nome de host.
Números maior e menor de dispositivo
Os números maior e menor identificam para o kernel o driver e o dispositivo específico e substituem o campo de tamanho em listagens de dispositivos.
Uma listagem que mostra 8, 1 na posição do tamanho descreve um dispositivo, não um arquivo de oito bytes.
NXDOMAIN
NXDOMAIN é uma resposta DNS que informa que o nome de domínio consultado não existe, distinguindo uma resposta negativa de uma resposta ausente.
Verifique a grafia quando o servidor DNS escolhido retornar NXDOMAIN para um nome que você esperava que ele conhecesse.

O

Opção de montagem
Uma opção de montagem seleciona o comportamento de um sistema de arquivos conectado, como acesso normal de escrita, execução direta ou proprietário e grupo exibidos.
Uma montagem FAT pode usar uid e gid para apresentar seus arquivos como pertencentes ao usuário desejado.
Ordem de verificação dos sistemas de arquivos
A ordem de verificação dos sistemas de arquivos é o sexto campo do fstab, normalmente 1 para a raiz, 2 para outros sistemas de arquivos verificados e 0 para ignorar a verificação.
Uma entrada ext4 de dados normalmente termina em 0 2: sem indicador de backup dump, seguido de uma ordem de verificação para sistema que não é a raiz.

P

Padrão de Hierarquia do Sistema de Arquivos
O Padrão de Hierarquia do Sistema de Arquivos descreve os locais habituais de software, configurações, arquivos de usuários e dados variáveis no Linux.
O padrão ajuda você a prever que os logs variáveis de um serviço pertencem a /var/log.
Partição
Uma partição é uma região definida de um disco tratada como unidade de armazenamento separada, com seus limites registrados em uma tabela de partições.
O sufixo p2 em /dev/nvme0n1p2 seleciona uma partição em vez do dispositivo NVMe inteiro.
Perfil do NetworkManager
Um perfil do NetworkManager é um conjunto salvo de configurações de conexão que o serviço pode ativar e restaurar após alterações de rede e inicializações.
Altere a conexão cujo nome é mostrado por nmcli device status e depois ative esse perfil.
Ponto de montagem
Um ponto de montagem é o diretório onde um sistema de arquivos é conectado à árvore do Linux, tornando seu conteúdo acessível por caminhos.
Após montar uma unidade USB em /mnt/usb, um arquivo nela aparece abaixo desse diretório.
Porta de serviço
Uma porta de serviço é um número da camada de transporte usado com um endereço para identificar uma extremidade de serviço de rede, como a porta TCP 22 para SSH.
O DNS normalmente usa a porta 53, portanto alcançar outro serviço não testa, por si só, o tráfego DNS.
procfs
Procfs é o sistema de arquivos virtual normalmente montado em /proc, no qual o kernel fornece informações atuais de processos e do sistema sob demanda.
Ler /proc/uptime retorna valores atuais de tempo, embora ele não seja um arquivo de texto comum armazenado.
Pseudodispositivo
Um pseudodispositivo é uma interface de arquivo de dispositivo que fornece um comportamento de software, como descartar dados ou gerar bytes zero.
/dev/zero pode fornecer a entrada ao criar uma imagem de teste comum preenchida com zeros.

R

Recarregamento do serviço
Um recarregamento do serviço solicita que um serviço em execução releia sua configuração, permitindo que sshd altere a política de novos logins enquanto preserva sessões existentes.
Após recarregar o SSH, abra uma nova conexão antes de fechar sua sessão de recuperação que ainda funciona.
Resolvedor de nomes
Um resolvedor de nomes é o mecanismo de consulta de nomes do lado do cliente que consulta fontes e serviços configurados para converter nomes em resultados utilizáveis.
O resolvedor pode usar dados do arquivo hosts local antes de enviar uma consulta a um servidor DNS recursivo.
Resolvedor local de encaminhamento
Um resolvedor local de encaminhamento é uma extremidade DNS local que aceita consultas de clientes e as encaminha ou resolve usando outros serviços e dados locais.
O servidor de nomes 127.0.0.53 normalmente envia consultas ao systemd-resolved na mesma máquina.
rsync
O programa rsync sincroniza arquivos e diretórios, normalmente por SSH, reduzindo transferências repetidas ao enviar conteúdo alterado.
Uma cópia repetida de diretório de site usa rsync instalado tanto no cliente quanto no servidor.

S

scp
O programa scp transfere arquivos por SSH usando um caminho remoto escrito como USER@HOST:PATH, com -P maiúsculo para uma porta diferente da padrão.
Coloque o caminho remoto primeiro para baixar um arquivo no diretório local atual.
SERVFAIL
SERVFAIL é uma resposta DNS que indica que o servidor não conseguiu concluir uma consulta, em vez de resolver ou negar o nome com sucesso.
Compare a resposta de outro resolvedor quando o servidor configurado retornar SERVFAIL repetidamente.
Servidor de nomes
Um servidor de nomes é um servidor que responde a consultas DNS; a configuração do cliente identifica quais servidores DNS o resolvedor deve contatar.
dig @192.168.1.1 example.com A solicita explicitamente a esse servidor o registro IPv4 do nome.
SFTP
SFTP é um protocolo de transferência de arquivos transportado por SSH, utilizável por um cliente interativo com comandos de envio, download e diretório.
Em uma sessão sftp, lcd altera o diretório de trabalho local, enquanto cd altera o remoto.
Sistema de arquivos
Um sistema de arquivos organiza arquivos e diretórios no armazenamento e determina recursos como limites de tamanho de arquivo e suporte a proprietário e grupo.
Uma partição FAT32 pode ter espaço livre e ainda rejeitar um único arquivo que atinja 4 GiB.
Sistema de Nomes de Domínio
O Sistema de Nomes de Domínio é um banco de dados hierárquico distribuído que fornece registros para nomes, incluindo endereços e informações de servidores de correio.
Uma aplicação pode resolver um nome de domínio completo antes de abrir uma conexão com o endereço retornado.
Socket de escuta
Um socket de escuta é uma extremidade de serviço que aguarda tráfego de entrada em um endereço e uma porta locais, visível por ferramentas como ss.
Um serviço em escuta em 127.0.0.1:8080 aceita tráfego local, mas não está vinculado ao endereço LAN do servidor.
SSH
SSH é um protocolo criptografado para login remoto, comandos e transferência de arquivos, normalmente fornecido no Linux pelo OpenSSH pela porta TCP 22.
ssh aya@node.example.com inicia uma sessão remota usando a conta de Aya no servidor indicado.
sshd
O programa sshd é o daemon do servidor SSH, que aceita conexões criptografadas e aplica regras configuradas de identidade e acesso a contas.
Verifique o serviço ssh no Debian ou Ubuntu e o serviço sshd no Fedora ou RHEL.
Sufixo de busca
Um sufixo de busca é um domínio acrescentado durante a consulta de um nome curto, permitindo que um cliente tente um nome mais completo dentro de um domínio configurado.
Com search example.com, uma consulta de web1 pode tentar o nome web1.example.com.
sysfs
Sysfs é o sistema de arquivos virtual normalmente montado em /sys, que expõe a visão do kernel sobre dispositivos, drivers, barramentos e configurações relacionadas.
Os diretórios em /sys/class/net permitem inspecionar quais interfaces de rede o kernel conhece.

T

Tabela de partições
Uma tabela de partições registra as posições e os tamanhos das partições de um disco; GPT e MBR são dois formatos comuns de tabela.
sudo fdisk -l exibe o tipo de tabela e os setores inicial e final de cada partição.
Tabela de roteamento
Uma tabela de roteamento contém regras para alcançar redes de destino, incluindo caminhos conectados diretamente e quaisquer rotas padrão configuradas.
ip route get 203.0.113.18 mostra qual rota o Linux selecionaria para esse destino.
Tabela de vizinhos
Uma tabela de vizinhos contém informações aprendidas para alcançar vizinhos IP locais, incluindo mapeamentos de IP para MAC em redes Ethernet.
Uma entrada de gateway com falha em ip neigh direciona a atenção para a comunicação no enlace local.
Tamanho lógico do arquivo
O tamanho lógico de um arquivo é seu comprimento em bytes visto por quem o lê, que pode diferir dos blocos de armazenamento realmente alocados a ele.
Uma imagem esparsa de disco virtual pode informar um tamanho grande em ls -l, mas ocupar muito menos espaço.
Tempo de ida e volta
O tempo de ida e volta mede quanto tempo uma solicitação e sua resposta levam para viajar entre hosts, frequentemente informado em milissegundos por ping.
Uma resposta com time=0.8 ms mede também o percurso de volta, não apenas o pacote de saída.
Tempo de vida
O tempo de vida de DNS especifica a duração em segundos de uma resposta em cache antes que ela precise ser atualizada pelo sistema de resolução de nomes.
Um registro alterado no servidor ainda pode ter uma resposta antiga no cache não expirado de um cliente.
Tempo limite de consulta DNS excedido
Um tempo limite de consulta DNS é excedido quando nenhuma resposta utilizável chega durante o período de espera da consulta, deixando causas no servidor e no caminho de rede a investigar.
Um tempo limite excedido difere de NXDOMAIN porque este último é uma resposta negativa real de um servidor.
tmpfs
Um tmpfs é um sistema de arquivos mantido na memória que também pode usar a área de troca; seu conteúdo desaparece quando é desmontado ou quando o sistema é desligado.
Uma tarefa grande pode encher um tmpfs montado em /tmp mesmo enquanto o disco principal ainda tem espaço livre.

U

Unificação em /usr
A unificação em /usr é uma organização na qual caminhos como /bin, /sbin e /lib são links simbólicos para locais dentro de /usr.
Em um sistema com essa unificação, /bin/ls e /usr/bin/ls podem se referir ao mesmo comando instalado.
Uso de disco
Uso de disco é o armazenamento alocado consumido por arquivos e diretórios, que du soma pelas partes da árvore que consegue alcançar.
Use sudo du -h -d 1 /var para comparar diretórios grandes após identificar o sistema de arquivos cheio.

Sobre esta aula

Por StudeliRelatar um erro

Crie seus próprios Materiais de Estudo

Transforme suas anotações, slides e documentos em Guias de Estudo, Questões de Prática, Flashcards e mais 6 ferramentas.

Começar