Sitemap
Linuxmon

Linuxmon

zzz

Diretórios Linux

6 min readJul 1, 2024

--

Diretórios Linux e FHS (Filesystem Hierarchy Standard)

Press enter or click to view image in full size
Press enter or click to view image in full size

se refere a um padrão hierárquico na estruturalização do diretórios linux. Não necessariamente os sistemas linux são obrigados a seguir 100% deste padrão, mas a maioria dos sistemas o seguem em sua maior parte. Diretórios:

/ :

  • O diretório “/” é a origem, o primeiro diretório, onde todos (ou quase todos) os outros diretórios estão dentro. A maioria dos outros diretórios estão aqui, mas existem algumas exceções.

/bin:

  • Onde se encontram os binários mais importantes do sistema, seus arquivos executáveis (como su, sudo, sha256sum, tar, etc ) e alguns arquivos de boot do sistema.
  • recomendável que fique dentro do diretório /.

/boot:

  • Recomendável que fique dentro do diretório /;
  • é o diretório com os arquivos para o boot do sistema, como grub, initrd, EFI e o próprio kernel do sistema;
  • /boot/vmlinuz: o kernel;
  • /boot/initrd: tem módulos extras que não estão no kernel. Arquivos como drivers de vídeo, virtualbox, de câmeras;
  • /boot/grub/x86_64-efi: arquivos.mod são os módulos do grub.

/lib (library):

  • Recomendável que fique dentro do diretório /;
  • contém as bibliotecas do sistema e dos programas instalados.

/etc (edit to config):

  • Recomendável que fique dentro do diretório /;
  • Contém arquivos e diretórios de configurações globais, que são aplicadas para todos os usuários; neste diretório, existem diversos arquivos de configurações sobre os mais diversos softwares, que ditarão como eles funcionarão, alguns exemplos:
  • /etc/init: configurações sobre o processo init, o primeiro processo do sistema, que inicia os outros;
  • /etc/shadow: arquivo visível e editável apenas pelo root. Tem senhas criptografadas em hashs;
  • /etc/passwd: usuários podem ler, mas só o root pode alterar. Registra dados de usuários e sobre as senhas, apenas aponta para o /etc/shadow.
  • /etc/skel: configurações de um modelo de usuário default. Ao ser criado um usuário, com base nas configurações do /etc/skel, serão criados os diretórios do novo usuário; o que tiver dentro de /etc/skel, aparecerá dentro do diretório de um novo usuário.
  • /etc/resolv.conf: DNS usado.
  • /etc/shells tem todos os shells do sistema.
Press enter or click to view image in full size
  • /etc/fstab: tabela que detalha informações dos discos do sistema.
Press enter or click to view image in full size
  • Também teremos vários outros arquivos e diretórios, que configuram systemd, firefox (se usá-lo, claro), apt (se usar algum debian based), apache, vim,samba,ufw,nginx, por aí vai.

/opt (optional):

  • Opcional no diretório /;
  • Mais para softwares casuais não essenciais pro sistema instalados, geralmente estes softwares não são instalados pelo gerenciador de pacotes (apt/yum/dnf/pacman…) e o único que tenho aqui no pc é o vscodium.

/usr(unix system resources):

  • Opcional no diretório /;
  • Também mais associado a programas mais casuais, costuma ser chamado de hierarquia secundária por ter alguns diretórios repetidos. Serve para compartilhar dados entre os usuários, tem binários de programas não essenciais, tem configurações de idiomas, compilados de usuários, localiza servidores e interfaces gráficas ou manuais, documentos e algumas bibliotecas mais casuais;
  • /usr/bin: binários não essenciais ao sistema, ou usado para backup;
  • /usr/sbin: como /sbin, mas não essenciais ao boot da máquina. Uso exclusivo do root;
  • /usr/include: guarda arquivos de cabeçalho, com .h no fim de header;
  • /usr/lib: como /lib, mas com bibliotecas mais casuais;
  • /usr/lib/systemd/system/: possui os principais arquivos de configurações dos units do sistema: .service, .socket, .target, .mount, .timer, .path.
  • /usr/share: diretório para compartilhamento de arquivos independente de suas arquiteturas;
  • /usr/src: Armazenamento de código fonte do kernel e mais alguns outros programas;
  • /usr/local: costuma ter mais bibliotecas, binários e configurações não essenciais. Semelhante ao /opt, porém tem mais programas instalados pelo administrador;
  • usr/share/wordlists: diretório geralmente usado no Kali Linux, que armazena lista de palavras para usar de teste como senha, em pentest.

/var (variable):

  • Não obrigatório no diretório /;
  • seus arquivos mudam frequentemente, pois contém logs, e-mails, bibliotecas voláteis(que mudam bastante), cache, spool, pid e outro dados mais dinâmicos e variáveis;
  • em servidores aparece geralmente fora do diretório /;
  • /var/lock: possui lock files (arquivos de bloqueio) que basicamente dizem que uma fonte de dados (algum arquivo, banco ou sei lá) está ocupada e não pode ser usada no momento;
  • /var/run: tem id dos processos rodando no sistema;
  • /var/tmp: arquivos temporários, que costumam durar mais que os no /tmp e esses arquivos aparecem no próprio disco, enquanto no /tmp costumam aparecer na memória;
  • /var/www: costuma guardar dados de usuários em servidores.

Get Linuxmon’s stories in your inbox

Join Medium for free to get updates from this writer.

/home:

  • Não obrigatório no diretório /, muitas vezes aparece fora;
  • diretório com contas de usuários, que contém dados pessoas de cada usuário
  • armazenamento de dados de contas dos usuários normais. O único usuário fora do home é o root;
  • digamos que você tenha um usuário chamado orochimaru, apagar algo no /home/orochimaru/.config reseta as configurações pessoais dos aplicativos do usuário orochimaru.

/root:

  • Obrigatório no diretório /;
  • armazenamento de dados de contas do super usuário root.

/sbin(system binary):

  • Obrigatório no diretório /;
  • binários do super usuário e arquivos de boot. Uso exclusivo do root.

/dev (devices):

  • Obrigatório no diretório /;
  • onde se encontra os dispositivos de hardware, pois seus arquivos representam todos os hardwares na máquina, como entrada usb, teclado, mouse, discos, etc;
  • /dev/sd?: se refere aos discos, /dev/sda é o 1° disco,/dev/sda1 é a 1ª partição do 1° disco, /dev/sda2 é a 2ª partição do 1º disco;/dev/sdb é o 2° disco, /dev/sdb1 é a 1ª partição do 2º disco, e assim vai;
  • /dev/nvme: representa ssd nvme, é claro;
  • /dev/tty: terminal por porta serial;
  • /dev/pts: pseudo-terminal;
  • /dev/null: buraco negro do sistema, manda um arquivo pra cá e o arquivo morre;
  • /dev/usb: para entrada usb;
  • /dev/vboxusb: organiza dispositivos usb em máquinas virtuais;
  • /dev/cpu: cores do cpu;
  • /dev/cpu_dma_latency: onde os programas informam ao kernel sobre a latência necessária para funcionarem;
  • /dev/stderr: representa os dados de erro;
  • /dev/stdin: representa os dados de entrada;
  • /dev/stdout: representa os dados de saída;
  • /dev/urandom e /dev/urandom: geram números pseudo-aleatórios.

/media:

  • Não obrigatório no diretório /;
  • acesso aos dispositivos removíveis, serve como ponto de montagem de mídias removíveis como pendrive, cartão sd ou dvd/cd-rom(kkkkkkkk).

/mnt(mount):

  • Não obrigatório no diretório /;
  • acesso aos dispositivos montados (discos especialmente), é um sistema de arquivos montado temporariamente. Seus discos geralmente são montados aqui. Diretório opcional, já que os discos podem ser montados em algum outro diretório caso deseje.

/tmp (temporary):

  • Arquivos temporários, que não existirão após um reboot do computador, associados na memória ram.

/proc (process):

  • Obrigatório no diretório /;
  • diretório volátil para acessar os processos em ação na ram do computador, acessando o kernel diretamente;
  • sistema de arquivos virtual, onde se interage com o kernel e processos do sistema.
  • /proc/cpuinfo: informações sobre o processador;
  • /proc/version: informa a versão do kernel;
  • /proc/partitions: mostra as partições funcionando.

/run (runtime):

  • Semelhante ao /proc, tem arquivos em momento de execução;
  • mais alguns processos em execução e algo relacionado PID;
  • /run/user/: arquivos temporários para usuários;
  • /run/network: arquivos para fazer configurações temporárias de rede;
  • /run/lock: lock files temporários (arquivos de bloqueio).

/sys (system):

  • Obrigatório no diretório /;
  • semelhante ao /proc, também diretório virtual;
  • onde também se encontram informações do kernel, hardware, além dos firmwares e drivers, que podem ser achados via chamadas de sistema.

/srv (service):

  • Semelhante ao /var/www, para guardar dados de usuários em contexto de servidores servidores;
  • /srv/http: serviços http;
  • /srv/ftp: serviços ftp.

/lost+found:

  • Diretório que serve como backup de arquivos do sistema, usado pelo fsck, que é um programa de checagem de status de um filesystem, e também pode reparar um problema no filesystem.

Lembrando que nem todos os diretórios aparecem em todos os sitemas e alguns aparecem de forma um pouco diferente. Cabou.

--

--