Pourquoi devrais-je créer une partition séparée pour / tmp?

22

Pourquoi devrais - je faire différentes partitions pour /tmp, /varet ainsi de suite ?

Je peux voir plus d'inconvénients que d'avantages. L' un des avantages est que je peux utiliser ext4avec la journalisation pour /homeet ext4sans journalisation pour d' autres partitions.

L'inconvénient principal est la taille limite. Lorsque je partitionner mon disque j'appris à allouer au moins 50 Mo pour /tmp, donc je mets 1 Go /tmppartition. Maintenant, j'ai du mal car ce n'est certainement pas suffisant ! La copie de DVD nécessite plus d'espace libre. Même la mise en cache d'un concert YouTube unique nécessite plus de 1 Go d'espace libre sur la /tmppartition.

Quels sont les avantages d'avoir une /tmppartition séparée ?

patryk.beza
la source
4
si vous avez des partitions séparées pour home, var, tmp, ...vous n'avez pas besoin de trop d' espace pour /. C'est une bonne chose si un jour vous devez restaurer le système / les paramètres à partir de l'image de sauvegarde. Il y a d'innombrables raisons pour lesquelles il est bon de conserver différentes parties du système sur différentes partitions.
GoFundMonica - codidact.org
4
De nos jours, Debian utilise tmpfs pour / tmp, il peut effectuer un redimensionnement automatique pour accueillir les fichiers et peut déplacer des éléments vers le swap si nécessaire.
solarc
Voir aussi une question sur les partitions séparées en général et des questions spécifiques à / boot et / var
sondra.kinsey

Réponses:

23

Une raison courante pour en faire une partition séparée est de pouvoir la monter en tant que nosuidet noexec. Cela empêche à la fois l'escalade de privilèges et l'exécution de scripts arbitraires depuis / tmp, respectivement. Ceci est particulièrement utile dans les environnements multi-utilisateurs (par exemple l'hébergement) où les utilisateurs non privilégiés auront accès aux données en lecture / écriture dans / tmp mais ne devraient pas être en mesure d'effectuer l'une de ces actions.

Une autre justification serait de limiter la quantité de données temporaires stockées (car tout ne se nettoie pas après lui-même) pour éviter que d'autres partitions plus importantes ne se remplissent et provoquent une interruption de service et / ou une perte de données.

Garrett
la source
1
Mais il est difficile d' estimer la taille de / tmp . Il y a 2 ans, je supposais que 1 Go suffisait et maintenant je peux voir que j'ai besoin de plus d'espace pour / tmp . Il est difficile de juger quelles sont les raisons de sécurité les plus importantes ou l'incapacité de travailler avec des programmes qui nécessitent plus qu'une taille fixe / tmp ...
patryk.beza
4
Utilisez des LVM et laissez de l'espace libre dans votre groupe de volumes. Allouez-le aux volumes logiques individuels (par exemple / tmp) selon les besoins. LVM prend en charge le redimensionnement en ligne, tout comme ext3 / 4.
Garrett
8

Cela a également du sens du point de vue de la sécurité. Étant donné que de nombreux programmes écrivent des fichiers temporaires /tmpet /tmpsont automatiquement effacés (à l'aide de la suppression de fichiers non sécurisés), cela signifie que de nombreux fichiers supprimés mais récupérables résident toujours sur la /tmppartition. Si vous isolez cette partition et de la rendre plus petite, il est plus facile de nettoyer solidement, par exemple à l' aide sfillde l' secure-deleteemballage .

leden
la source
7

Aussi lorsque tmp est sur une partition séparée:

  • Vous pouvez partager tmp entre deux distributions Linux sur un environnement de démarrage multiple et économiser de l'espace disque
  • tmp peut être exclu de la configuration RAID (l'espace disque RAID est à prime)
  • tmp peut résider sur un support plus rapide que root (c.-à-d. disque RAM, disque SSD)
  • tmp peut résider sur des supports moins sujets à l'usure (c.-à-d. root sur disque Flash, tmp sur disque normal ou disque RAM)
  • tmp peut résider sur un lecteur de disque séparé (pour répartir la charge de travail)
  • tmp peut être monté sur une partition / un disque différent s'il doit être plus grand sans affecter le reste du système simplement en éditant une ligne dans / etc / fstab
jet
la source