- Aprender
- Computação e TI
- TI, redes e nuvem
- Fundamentos de Linux
- Sistemas de arquivos e redes no Linux
Armazenamento, sistemas de arquivos e redes no Linux
BásicoAula 7 de 7 do curso Curso de Fundamentos de Linux
O que você vai aprender
- 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ívelUse 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 bitEscolha 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ísicosCrie 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 virtuaisIdentifique tipos de arquivo em ls -l, use os pseudodispositivos em /dev e leia informações do sistema em /proc e /sys.
- Conhecer o conteúdo de cada diretório de primeiro nível
- 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 arquivosIdentifique 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 arquivosConecte 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/fstabLeia e escreva entradas em /etc/fstab que identificam sistemas de arquivos pelo UUID e teste-as com segurança antes de reiniciar.
- Identificar discos, partições e tipos de sistemas de arquivos
- 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 dfInterprete 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çaUse 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.
- Verificar o espaço livre e os inodes com df
- 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 rotasDescreva 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 ssConsulte 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ãoFaç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.
- Explicar interfaces, endereços IP e rotas
- 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çosDescreva 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 DNSLeia /etc/resolv.conf e a saída de resolvectl, consulte nomes com host, dig e getent e localize falhas de resolução de nomes.
- Explicar como o Linux converte nomes em endereços
- 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 SSHConecte-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 chaveCrie 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 SSHGerencie o serviço sshd, altere suas configurações com segurança, desative logins por senha e leia seus logs.
- Iniciar sessões, executar comandos e copiar arquivos por SSH
Guia de estudo de Sistemas de arquivos e redes no Linux
1Orientar-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.
| Local | O que fica nele |
|---|---|
/usr/bin, /usr/sbin | Comandos de usuário e comandos de administração |
/usr/lib | Bibliotecas usadas pelos programas |
/usr/share | Dados como manuais e ícones que não dependem de um tipo de processador |
/usr/local | Software instalado manualmente pelo administrador |
/etc | Configuraçã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/logcontém logs./var/cachecontém dados que podem ser baixados ou gerados novamente./var/libcontém o estado dos programas, incluindo bancos de dados e registros de pacotes./var/spoolcontém tarefas em fila, como trabalhos de impressão./var/tmpconté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
/usrpara software instalado,/etcpara configurações do sistema e/varpara dados que mudam. - Arquivos pessoais pertencem aos diretórios pessoais;
/roote/têm finalidades diferentes. /run,/dev,/proce/sysdescrevem o sistema em execução.- Mantenha software instalado manualmente em
/usr/locale 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/tmpsobrevive 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;
Tsignifica que outros não têm permissão de execução. mktempcria um arquivo privado com nome exclusivo;mktemp -dcria um diretório.
1.3 Seguir, reparar e remover links
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.
| Propriedade | Link simbólico | Link físico |
|---|---|---|
| Armazena | Um caminho de destino | Outro nome para o mesmo arquivo |
| Pode atravessar sistemas de arquivos | Sim | Não |
| Pode apontar para um diretório | Sim | Não |
| Após a remoção do nome de destino | Pode ficar quebrado | O 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 LINKNAMEarmazena 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/nulldescarta dados,/dev/zerofornece zeros e/dev/urandomfornece bytes aleatórios./proce/sysexpõem informações atuais do kernel sem arquivos comuns em disco.
2Inspecionar 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
| Camada | Opções comuns | Significado |
|---|---|---|
| Tabela de partições | GPT, MBR/DOS | Descreve regiões da unidade |
| Sistema de arquivos | ext4, XFS, Btrfs, FAT32, exFAT, NTFS | Organiza 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
pantes do número da partição. - Use
lsblk,blkidefdisk -lpara inspecionar antes de fazer alterações. - GPT e MBR descrevem tabelas de partições; ext4 e XFS descrevem sistemas de arquivos.
- O
Gbiná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-opara selecionar opções. noexecbloqueia 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
uidegid. - Encerre os usos de um sistema de arquivos e execute
umountantes 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.
- Origem: um UUID, rótulo ou caminho de dispositivo.
- Ponto de montagem: aqui,
/data. - Tipo: aqui,
ext4. - Opções: aqui,
defaults,nofail. - Indicador dump: normalmente
0, desativando o antigo indicador de backup dump. - Ordem de verificação dos sistemas de arquivos:
1para a raiz,2para outros sistemas de arquivos que precisam de verificação,0para ignorar; XFS e Btrfs normalmente usam0.
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.
nofailpermite a ausência de uma unidade opcional;noautoignora 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.
3Medir 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 PATHinforma 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 -iquando 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
dupara localizar diretórios que cresceram efindpara 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.
4Configurar 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
/24IPv4 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
ipseparados para endereços, enlaces, rotas e vizinhos. brdé um endereço de difusão; encontre o gateway emip route.ip route get ADDRESSmostra 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 -tulnprelaciona 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
ipsã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.
5Resolver 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
| Registro | Significado |
|---|---|
| A | Endereço IPv4 para um nome |
| AAAA | Endereço IPv6 para um nome |
| CNAME | Apelido que aponta para outro nome |
| MX | Servidor de correio de um domínio |
| PTR | Nome 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:emnsswitch.confcontrola 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.confdevem ser alteradas pelo respectivo gerenciador de rede. 127.0.0.53normalmente identifica o resolvedor local do systemd-resolved;resolvectl statusmostra os servidores consultados.- Use
getentpara o caminho de consulta do sistema edig @SERVERpara 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.
6Conectar-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_hostsguarda 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-ppara 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
.sshe 600 paraauthorized_keyse 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:
sshno Debian/Ubuntu, geralmentesshdnas 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
1Acompanhar arquivos em um sistema Linux
16 passos
- 1Introduçã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,/etce/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).
- 2ExplicaçãoSepare programa, configurações e saída
O programa normalmente pertence a
/usr, suas configurações gerais da máquina a/etce 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/bina 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. - 3DesafioOrganize 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,/etce/var.---reveal---
O executável pertence a
/usr, as configurações locais a/etce 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. - 4Explicaçã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
/tmpmantido na memória perde seus arquivos no desligamento, enquanto regras de limpeza podem remover entradas antigas em ambos os locais. Usemktemppara criar um arquivo privado com nome exclusivo e guarde o caminho impresso para comandos posteriores. - 5ExemploInterprete a permissão sticky
O diretório compartilhado pertencente a root mostra
drwxrwxrwt. Todos podem criar entradas, mas otfinal 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.
- 6DesafioAltere 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.
- 7ExemploCrie um link relativo
O diretório
/home/jo/exportsexiste, e o relatório é/home/jo/today.txt. Um link em/home/jo/exports/currentdeve alcançar o relatório.Use
ln -s ../today.txt /home/jo/exports/current. Ao seguir o destino armazenado, comece dentro deexports, suba para/home/joe depois leiatoday.txt. O diretório de trabalho do shell não fornece o ponto de partida. - 8DesafioRepare um destino movido
Jo renomeia
today.txtparaready.txtsem mover o link em/home/jo/exports/current. Que destino o link recriado deve armazenar?---reveal---
Armazene
../ready.txt. O primeiro..ainda sobe deexportspara 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. - 9Explicaçã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.txtfaz os dois nomes compartilharem um inode nesse sistema de arquivos.Remover
ready.txtdeixakept.txtutilizável. Um link simbólico que armazeneready.txtficaria quebrado. Um link físico não pode apontar para um diretório nem atravessar para outro sistema de arquivos. - 10DicaRemova a entrada desejada
Para um link simbólico que aponta para um diretório, use seu nome sem barra final:
rm currentouunlink 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 -lou leia o destino armazenado comreadlinkquando tiver dúvida. - 11ExplicaçãoReconheça dispositivos antes de abri-los
Uma listagem que começa com
bdescreve um dispositivo de blocos, como uma partição de disco. Umcinicial 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.
- 12ExemploLeia o tempo atual de funcionamento
cat /proc/uptimeretorna259200.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.
- 13DesafioExplique um arquivo de informações com tamanho zero
Uma pessoa em treinamento vê tamanho 0 para uma entrada em
/proce 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.
- 14ConexãoLeia uma interface pelo sysfs
ls /sys/class/net/lista as interfaces conhecidas pelo kernel. Ler/sys/class/net/enp0s3/addressretorna o endereço MAC dessa interface Ethernet.Isso conecta um caminho conhecido a informações atuais de hardware.
/procenfatiza dados de processos e do sistema, enquanto/sysorganiza dispositivos, drivers e barramentos. Seus conteúdos são recriados pelo sistema em execução. - 15DesafioMantenha 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.
- 16Recapitulaçã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
/proce/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.
2Conectar uma unidade opcional de arquivos armazenados
14 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoComece com uma unidade de dados existente
- 2ExemploInterprete a árvore de dispositivos
- 3ExplicaçãoNão confunda inspeção com preparação
- 4DesafioEscolha a origem correta
- 5ExemploCrie o diretório e monte o sistema de arquivos
- 6DicaEscolha uma montagem restrita para inspeção
- 7DesafioResolva uma desmontagem de destino ocupado
- 8ExplicaçãoRegistre a identidade em vez da ordem de detecção
- 9ExemploCrie a regra de seis campos
- 10ExemploVerifique a regra antes de reiniciar
- 11DesafioDistinga nofail de noauto
- 12ConexãoAtribua proprietário e grupo ao sistema de arquivos montado
- 13DesafioCorrija a configuração após a reformatação
- 14RecapitulaçãoConfirme cada camada
3Descobrir por que um servidor não consegue criar arquivos
10 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoComece pelo caminho em que ocorreu a falha
- 2ExemploInterprete o sistema de arquivos que contém o caminho
- 3ExemploVerifique a quantidade de inodes
- 4DesafioEscolha a limpeza para o recurso esgotado
- 5ExemploEncontre o diretório que está crescendo
- 6DicaInclua o armazenamento oculto
- 7ExplicaçãoAcompanhe a referência restante a um log excluído
- 8DesafioExplique o relatório de espaço livre inalterado
- 9DesafioVerifique o resultado da limpeza do diário de registros
- 10RecapitulaçãoMeça o recurso que você recuperou
4Acompanhar uma conexão da interface ao serviço
15 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoSepare as partes da conexão
- 2ExplicaçãoIdentifique a rede local pelo prefixo
- 3DesafioDetermine se um destino é local
- 4ConexãoReconheça as funções separadas de endereço e roteador no IPv6
- 5ExemploInspecione a visualização resumida de endereços
- 6ExemploInterprete a rota escolhida para o destino
- 7DesafioEncontre o roteador sem adivinhar
- 8ExemploAdicione um endereço temporário completo
- 9DicaProteja o acesso ao aplicar configurações salvas
- 10DesafioExplique uma configuração que desapareceu
- 11ExplicaçãoInterprete um resultado de ping com precisão
- 12ExemploInspecione um serviço em escuta apenas localmente
- 13DesafioCombine evidências de rota e serviço
- 14ConexãoTeste a aplicação desejada
- 15RecapitulaçãoEscolha o próximo teste pelo resultado
5Explicar por que um computador resolve um endereço antigo
11 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoUm nome funciona de forma diferente em duas máquinas
- 2ExplicaçãoSiga a ordem de consulta do sistema
- 3ExemploEncontre o mapeamento local desatualizado
- 4DesafioPreveja o alcance de uma edição local
- 5ConexãoConsidere respostas DNS em cache
- 6ExplicaçãoReconheça o resolvedor local
- 7ExemploCompare dois caminhos de consulta escolhidos
- 8DesafioInterprete uma resposta negativa
- 9ExplicaçãoDistinga mensagens de falha
- 10DesafioExplique testes com resultados aparentemente iguais
- 11RecapitulaçãoCompare as fontes antes de alterar configurações
6Configurar e verificar acesso remoto apenas por chave
17 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoMantenha separadas as identidades do servidor e do usuário
- 2ExemploVerifique a primeira conexão
- 3DesafioResponda a uma chave de identificação do servidor alterada
- 4ExemploExecute um comando remoto
- 5DicaMantenha visível a direção da transferência
- 6ExemploCrie o par no cliente
- 7ExemploInstale apenas a chave pública
- 8DicaProteja os arquivos e use o agente
- 9DesafioCorrija uma incompatibilidade de conta
- 10ExplicaçãoConsulte as configurações que determinam o comportamento do servidor
- 11ExemploExija autenticação por chave pública
- 12DesafioExplique a distinção no login de root
- 13ExemploValide, recarregue e abra uma nova sessão
- 14ConexãoIdentifique onde a conexão parou
- 15DesafioDescubra por que uma configuração posterior não teve prioridade
- 16DesafioRevogue o acesso de um dispositivo perdido
- 17RecapitulaçãoTeste o novo caminho de login
Questões de Sistemas de arquivos e redes no Linux
Conjunto 1: Identificar armazenamento e fazer montagens confiáveis10 Questões de Prática
Questão 1 de 10
/dev/nvme1n1p3 identifica?Mostrar respostaOcultar resposta
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
Mostrar respostaOcultar resposta
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
/dev/vdc1, e /mnt/archive já existe. Qual comando a conecta nesse local?Mostrar respostaOcultar resposta
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?Mostrar respostaOcultar resposta
Questão 5 de 10
/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?Mostrar respostaOcultar resposta
/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
Mostrar respostaOcultar resposta
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
/mnt/usb, e nenhum outro processo o usa. O que você deve fazer?Mostrar respostaOcultar resposta
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
Mostrar respostaOcultar resposta
Questão 9 de 10
noauto, recarrega o systemd e executa mount -a. A montagem está ausente. Qual é o próximo teste adequado?Mostrar respostaOcultar resposta
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
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?Mostrar respostaOcultar resposta
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
/usr/lib/systemd/system. Onde deve ser colocada uma substituição local compatível?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ê?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 3 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 4 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
/home/ren/archive/current armazena ../draft.txt. Para qual caminho ele aponta?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
brw-rw----. Que tipo de entrada é essa?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
/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?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
/srv/uploads. Qual comando fornece esse relatório?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 2 de 10
df -h mostra 18G disponíveis, mas df -i mostra IFree como 0. Qual limpeza resolve melhor a falha?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 3 de 10
du -sh * contabiliza pouco desse tamanho. Qual comando inclui seus subdiretórios ocultos?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 4 de 10
/var/cache, incluindo seu conteúdo. Qual comando deve usar?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
lsof +L1, mantido aberto por seu serviço. Por que df não recuperou seu espaço?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
lsof +L1 está vazio. Uma unidade separada está montada sobre /srv/data, que antes continha arquivos grandes. O que explica a diferença?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
192.168.12.70/26 com uma rota conectada adequada. Qual destino está na mesma sub-rede?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 2 de 10
/24 especifica em um endereço IPv4?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 3 de 10
inet 192.168.8.44/24 brd 192.168.8.255. Qual informação ainda exige a saída de rotas?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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
ip desaparece após a reinicialização. Como você deve tornar permanente o endereço desejado?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
portal.example.com, mas não recebe respostas de eco. O que você deve investigar em seguida?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
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?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
Permission denied (publickey). Em que etapa essa tentativa falhou?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 2 de 10
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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 4 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
NXDOMAIN. O que distingue esse resultado de um tempo limite excedido?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
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?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
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 2 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 3 de 10
deploy, mas você se conecta como root com essa chave e recebe uma mensagem de permissão negada. O que deve tentar primeiro?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 4 de 10
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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
.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?Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Travou em uma questão sua? Ajuda com Tarefas
Termos-Chave
A
Agente SSH
ssh-add, várias conexões podem usar a chave carregada sem pedir que você a desbloqueie novamente.Arquivo esparso
du normal e du --apparent-size podem fornecer totais muito diferentes para a mesma imagem esparsa.Arquivo excluído ainda aberto
lsof +L1 pode identificar um log ativo removido que ainda mantém um sistema de arquivos cheio.Arquivo hosts
/etc/hosts pode enviar apenas seu computador ao servidor anterior de um site.Arquivo inativo do diário de registros
Arquivo temporário
/var/tmp em vez de /run.Autenticação interativa por teclado
authorized_keys
Autoconfiguração de endereços sem estado
Á
Área de troca
swap é ativada como área de troca em vez de ser montada para documentos.B
Bit de restrição de exclusão
/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
C
Chave de identificação do servidor
Chave privada
id_ed25519 com o modo 600 para que outros usuários comuns não possam lê-lo.Chave pública
.pub pode ser adicionado ao authorized_keys da conta remota desejada.Comprimento do prefixo
/26 em um endereço IPv4 deixa seis bits de endereço e fornece 64 endereços nessa sub-rede.Configuração efetiva
sshd -T ajuda a verificar qual valor prevaleceu quando as configurações aparecem em vários arquivos.Configuração incluída
sshd -T quando um valor yes incluído anteriormente parecer prevalecer sobre uma configuração no posterior.Configuração temporária de rede
ip pode desaparecer quando o NetworkManager reaplica seu perfil de conexão.Contagem de links físicos
ls -l.D
Desmontagem
/mnt/usb antes que essa montagem possa ser desconectada sem erro de destino ocupado.Destino relativo
DHCP
ip addr.Diretório pessoal
/home para usuários comuns.~ para seu diretório pessoal, onde entradas ocultas podem conter suas configurações pessoais de aplicações.Diretório raiz
/, o ponto inicial da árvore única de arquivos, diretórios e sistemas de arquivos montados do Linux./data se junta à árvore em vez de receber uma letra de unidade separada.Disco
Dispositivo de blocos
/dev/sda1.b no início de uma listagem de dispositivo distingue uma partição de disco de um arquivo comum.Dispositivo de caracteres
/dev/null./dev/null descarta esses bytes sem ocultar a saída normal.E
Eco ICMP
Endereço de difusão
brd em ip addr não é o endereço do roteador a ser informado como seu gateway padrão.Endereço IP
Endereço MAC
Esgotamento de inodes
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
Avail pode ser menor que o tamanho total menos o espaço usado em um sistema de arquivos ext4.Estado da aplicação
/var/lib./var/lib pode conter um banco de dados em uso, portanto identifique seu responsável antes da limpeza.F
Frase secreta
fstab
/etc/fstab se deve ser montado novamente na inicialização.G
Gateway padrão
Gibibyte
G pelas ferramentas Linux de armazenamento em formato legível.lsblk exibe GiB.GPT
I
Identificador universalmente único
lsblk -f em vez de presumir que uma partição USB sempre será /dev/sdb1.Impressão digital da chave
Inode
Interface de rede
ip -br addr lista interfaces Ethernet, Wi-Fi, de retorno local e virtuais com seus endereços.Interface de retorno local
127.0.0.1 no IPv4 ou ::1 no IPv6.K
known_hosts
L
Link físico
Link simbólico
../notes.txt começa sua resolução no diretório que contém esse link.Link simbólico quebrado
readlink permite inspecionar o caminho armazenado quando a abertura de um atalho quebrado falha.M
MBR
Mecanismo de seleção de serviços de nomes
hosts: files dns verifica o arquivo hosts local antes de consultar o DNS para um nome correspondente.mktemp
mktemp cria um arquivo ou diretório temporário privado com nome exclusivo e imprime o caminho para uso por quem o chamou.Montagem somente para leitura
ro quando quiser inspecionar um sistema de arquivos sem gravações normais de aplicações.N
Netplan
netplan try oferece um prazo antes da reversão ao testar uma alteração que pode interromper o acesso.noauto
noauto exclui uma entrada da montagem automática na inicialização e de mount -a, mantendo disponível a montagem explícita.sudo mount /archive em vez de esperar que mount -a a conecte.noexec
noexec impede a execução direta de arquivos de uma montagem, mas não impede que um interpretador leia um script nela.bash.nofail
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.nofail.Nome de domínio totalmente qualificado
web1.example.com, em vez de um nome local curto.Números maior e menor de dispositivo
8, 1 na posição do tamanho descreve um dispositivo, não um arquivo de oito bytes.NXDOMAIN
O
Opção de montagem
uid e gid para apresentar seus arquivos como pertencentes ao usuário desejado.Ordem de verificação dos sistemas de arquivos
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
/var/log.Partição
p2 em /dev/nvme0n1p2 seleciona uma partição em vez do dispositivo NVMe inteiro.Perfil do NetworkManager
nmcli device status e depois ative esse perfil.Ponto de montagem
/mnt/usb, um arquivo nela aparece abaixo desse diretório.Porta de serviço
procfs
/proc, no qual o kernel fornece informações atuais de processos e do sistema sob demanda./proc/uptime retorna valores atuais de tempo, embora ele não seja um arquivo de texto comum armazenado.Pseudodispositivo
/dev/zero pode fornecer a entrada ao criar uma imagem de teste comum preenchida com zeros.R
Recarregamento do serviço
Resolvedor de nomes
Resolvedor local de encaminhamento
127.0.0.53 normalmente envia consultas ao systemd-resolved na mesma máquina.rsync
S
scp
USER@HOST:PATH, com -P maiúsculo para uma porta diferente da padrão.SERVFAIL
Servidor de nomes
dig @192.168.1.1 example.com A solicita explicitamente a esse servidor o registro IPv4 do nome.SFTP
lcd altera o diretório de trabalho local, enquanto cd altera o remoto.Sistema de arquivos
Sistema de Nomes de Domínio
Socket de escuta
ss.127.0.0.1:8080 aceita tráfego local, mas não está vinculado ao endereço LAN do servidor.SSH
ssh aya@node.example.com inicia uma sessão remota usando a conta de Aya no servidor indicado.sshd
ssh no Debian ou Ubuntu e o serviço sshd no Fedora ou RHEL.Sufixo de busca
search example.com, uma consulta de web1 pode tentar o nome web1.example.com.sysfs
/sys, que expõe a visão do kernel sobre dispositivos, drivers, barramentos e configurações relacionadas./sys/class/net permitem inspecionar quais interfaces de rede o kernel conhece.T
Tabela de partições
sudo fdisk -l exibe o tipo de tabela e os setores inicial e final de cada partição.Tabela de roteamento
ip route get 203.0.113.18 mostra qual rota o Linux selecionaria para esse destino.Tabela de vizinhos
ip neigh direciona a atenção para a comunicação no enlace local.Tamanho lógico do arquivo
ls -l, mas ocupar muito menos espaço.Tempo de ida e volta
time=0.8 ms mede também o percurso de volta, não apenas o pacote de saída.Tempo de vida
Tempo limite de consulta DNS excedido
tmpfs
/tmp mesmo enquanto o disco principal ainda tem espaço livre.U
Unificação em /usr
/usr é uma organização na qual caminhos como /bin, /sbin e /lib são links simbólicos para locais dentro de /usr./bin/ls e /usr/bin/ls podem se referir ao mesmo comando instalado.Uso de disco
du soma pelas partes da árvore que consegue alcançar.sudo du -h -d 1 /var para comparar diretórios grandes após identificar o sistema de arquivos cheio.- 1Linux e código aberto
- 2Linha de comando do Linux
- 3Pipes e redirecionamento no Linux
- 4Scripts de shell
- 5Usuários, grupos e permissões no Linux
- 6Processos, pacotes e serviços no Linux
- 7Sistemas de arquivos e redes no Linux
Sobre esta aula
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.