Product SiteDocumentation Site

3.2. Particionando o sistema

3.2.1. Escolha um esquema de partição inteligente

Um esquema de partição inteligente depende de como a máquina será usada. Uma boa regra é ser razoavelmente generoso com suas partições e prestar atenção aos seguintes fatores:
  • Qualquer diretório que um usuário tenha permissões de escrita, como o /home, /tmp e o /var/tmp/, devem estar separados em uma partição. Isto reduz o risco de um usuário malicioso utilizar o DoS (Denial of Service) para encher seu diretório raiz ( / ) e tornar o sistema inutilizável (Observação: isto não é totalmente verdade uma vez que sempre existe algum espaço reservado para o usuário root que o usuário normal não pode preencher), e também previne ataques tipo hardlink. [2]
  • Qualquer partição com dados variáveis, isto é, /var (especialmente /var/log) também deve estar numa partição separada. Em um sistema Debian você deve criar /var um pouco maior que em outros sistemas porque o download de pacotes (cache do apt) é armazenado em /var/cache/apt/archives.
  • Qualquer partição onde você queira instalar software que não é padrão da distribuição deve estar separada. De acordo com a Hierarquia Padrão do Sistema de Arquivos, estas são /opt ou /usr/local. Se estas partições estão separadas, elas não serão apagadas se você (tiver que) reinstalar o Debian.
  • Do ponto de vista da segurança, é sensato tentar mover os dados estáticos para sua própria partição e então montar esta partição somente para leitura. Melhor ainda será colocar os dados numa mídia somenta para leitura. Veja abaixo para mais detalhes.
No caso de um servidor de email é importante ter uma partição separada para o spool de email. Usuários remotos (conhecidos ou não) podem encher o spool de email (/var/mail e/ou /var/spool/mail). Se o spool está em uma partição separada, esta situação não tornará o sistema inutilizável. Porém (se o diretório de spool está na mesma partição que /var) o sistema pode ter sérios problemas: log não serão criados, pacotes podem não ser instalados e alguns programas podem ter problemas ao iniciar (se eles usam /var/run).
Para partições que você não tem certeza do espaço necesário, você pode instalar o Logical Volume Manager (lvm-common e os binários necessário para o kernel, estes podem ser lvm10, lvm6, ou lvm5). Usando lvm, você pode criar grupos de volume que expandem múltiplos volumes físicos.

3.2.2. Escolhendo o sistema de arquivos apropriado

During the system partitioning you also have to decide which file system you want to use. The default file system[3] selected in the Debian installation for Linux partitions is ext3, a journaling file system. It is recommended that you always use a journaling file system, such as ext3, reiserfs, jfs or xfs, to minimize the problems derived from a system crash in the following cases:
  • Para laptops em todos os sistemas de arquivos instalados. Assim se acabar a bateria inesperadamente ou o sistema congelar você correrá menos risco de perda de dados durante a reinicialização do sistema.
  • para sistemas que armazenam grande quantidade de dados (como servidores de email, servidores ftp, sistemas de arquivos de rede ....). Assim, em caso de queda, menos tempo será gasto para o servidor checar o sistema de arquivos e a probabilidade da perda de dados será menor.
Deixando de lado a performance dos sistemas journalling (uma vez que isto pode iniciar uma verdadeira guerra), normalmente é melhor usar o ext3. A razão para isto é que ele é compatível com o antigo ext2, assim se existe alguma parte do seu sistema com journalling você pode desabilitar este recurso e ainda ter um sistema em condições de trabalhar. Também, se você precisar recuperar o sistema com um disco de boot (ou CDROM) você não precisa personalizar o kernel. Se o kernel é 2.4, o suporte a ext3 já está disponível, se é um kernel 2.2 você será capaz de iniciar o sistema de arquivos mesmo se perder as capacidades journalling. Se você estiver usando outro sisteama journalling diferente do ext3, você pode não ser capaz de recuperar o sistema a menos que você tenha um kernal 2.4 com os módulos necessários instalados. Se seu disco de resgate tem o kernel 2.2 pode ser mais difícil acessar sistemas reiserfs ou xfs.
Em qualquer caso, a integridade dos dados pode ser melhor usando ext3 uma vez que ele usa file-data journalling enquanto outros usam apenas meta-data journalling, veja http://lwn.net/2001/0802/a/ext3-modes.php3.
Notice, however, that there are some partitions that might not benefit from using a journaling filesystem. For example, if you are using a separate partition for /tmp/ you might be better off using a standard ext2 filesystem as it will be cleaned up when the system boots.


[2] Um bom exemplo deste tipo de ataque usando /tmp é detalhado em http://www.hackinglinuxexposed.com/articles/20031111.html e http://www.hackinglinuxexposed.com/articles/20031214.html (Observe que o incidente é um relato Debian) Ele é basicamente um ataque no qual um usuário local usa uma aplicação setuid vulnerável através de um hard link para ela analisando qualque atualização (ou remoção) do próprio binário feita pelo administrador do sistema. Dpkg foi recentemente corrigido para prevenir isto (veja http://bugs.debian.org/225692) mas outros binários setuid (não controlados pelo gerenciador de pacotes) correm o risco se as partições não estiverem configuradas corretamente.
[3] Since Debian GNU/Linux 4.0, codename etch