/tmp et /var/tmp : configuration et partition temporaire tmpfs Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour, :006:

Dans ce script : secure_tmp | JShielder - Linux Server Hardening Script

l'auteur propose 2 choses :
  1. Créer un systeme de fichiers temporaires tmpfs ayant /tmp pour point de montage.
  2. Replacement de /var/tmp par un lien pointant vers /tmp

Ce qui donne pour le 1er point :

Pour un système sans partition dédiée à /tmp

Code : Tout sélectionner

# dd if=/dev/zero of=/usr/tmpDISK bs=1024 count=2048000

# mount -t tmpfs -o loop,noexec,nosuid,rw /usr/tmpDISK /tmp

# echo "/usr/tmpDISK  /tmp    tmpfs   loop,nosuid,noexec,rw  0 0" >> /etc/fstab

et avec une partition dédiée /dev/sdxy
simplement :

Code : Tout sélectionner

# echo "/dev/sdxy   /tmp   tmpfs  loop,nosuid,noexec,rw  0 0" >> /etc/fstab
Ici, il n'est pas précisé l'état de la partition, si on la remplit de zéros, si on conserve ou supprime un éventuel FS pré-existant ???

et pour le 2d point :

Code : Tout sélectionner

# rm -rf /var/tmp
# ln -s /tmp /var/tmp

Par ailleurs, on peut lire dans Tmpfs — The Linux Kernel documentation
tmpfs puts everything into the kernel internal caches and grows and shrinks to accommodate the files it contains and is able to swap unneeded pages out to swap space. It has maximum size limits which can be adjusted on the fly via ‘mount -o remount …’
....
Some people (including me) find it very convenient to mount it e.g. on /tmp and /var/tmp and have a big swap partition.
...
Traduction :

tmpfs place tout dans les caches internes du noyau (en RAM) et s'agrandit et se rétrécit pour s'adapter aux fichiers qu'il contient
et est capable de "swapper" les pages inutiles vers l'espace d'échange.
Il a des limites de taille maximale qui peuvent être ajustées à la volée via 'mount -o remount ...'.
...
Certaines personnes (dont moi) trouvent très pratique de le monter par exemple sur /tmp et /var/tmp
et d'avoir une grande partition d'échange.
...


Comme jusqu'à présent, je plaçais /tmp et le swap sur des volumes LVM distincts,
je me demande s'il ne serait pas plus judicieux de supprimer le LV prévu pour /tmp
et de redistribuer l'espace libéré entre la racine et le swap ?

Notez que pour éviter la saturation du volume "racine",
je place déjà /var/log et /var/cache sur des LV dédiés,
le reste de /var restant sur la racine.

Ce qui donne dans /etc/fstab

Code : Tout sélectionner

/dev/mapper/vg0-tmp             /tmp            ext4    rw,relatime,nosuid,noexec,nodev,nouser   0  2
/dev/mapper/vg0-var_cache       /var/cache      ext4    rw,relatime,nosuid,noexec,nodev,nouser   0  2
/dev/mapper/vg0-var_log         /var/log        ext4    rw,relatime,nosuid,noexec,nodev,nouser   0  2


Merci pour vos avis et suggestions.
**Simple Utilisateur** -- Debian stable - XFCE
PascalHambourg
Contributeur
Contributeur
Messages : 876
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

dezix a écrit : 11 mars 2022, 19:05 Créer un systeme de fichiers temporaires tmpfs ayant /tmp pour point de montage.
Oui, pourquoi pas si on a assez de RAM et de swap.
dezix a écrit : 11 mars 2022, 19:05 Replacement de /var/tmp par un lien pointant vers /tmp
L'auteur prévient-il que c'est contradictoire avec les spécifications du FHS ?
/var/tmp | Fichiers temporaires. Contrairement à /tmp, ils ne doivent pas être automatiquement effacés lors d'un redémarrage.
dezix a écrit : 11 mars 2022, 19:05 mount -t tmpfs -o loop,noexec,nosuid,rw /usr/tmpDISK /tmp
/dev/sdxy /tmp tmpfs loop,nosuid,noexec,rw
Il y a une incohérence ou une incompréhension, là. Un tmpfs utilise la mémoire virtuelle (RAM ou swap), pas un périphérique ou un fichier. Le périphérique est ignoré avec ce type de système de fichiers comme avec tous ceux qui ont la mention "nodev" dans /proc/filesystems. Habituellement, on met "tmpfs".
dezix a écrit : 11 mars 2022, 19:05 je place déjà /var/log et /var/cache sur des LV dédiés,
Très bon choix.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

PascalHambourg a écrit : 11 mars 2022, 21:30 si on a assez de RAM et de swap.
Oui, bien sûr.
PascalHambourg a écrit : 11 mars 2022, 21:30 L'auteur prévient-il que c'est contradictoire avec les spécifications du FHS ?
/var/tmp | Fichiers temporaires. Contrairement à /tmp, ils ne doivent pas être automatiquement effacés lors d'un redémarrage.
Non il ne le précise pas, mais j'aurais du vérifier cela. : :rolleyes:


PascalHambourg a écrit : 11 mars 2022, 21:30 l y a une incohérence ou une incompréhension, là. Un tmpfs utilise la mémoire virtuelle (RAM ou swap), pas un périphérique ou un fichier.
Le périphérique est ignoré avec ce type de système de fichiers comme avec tous ceux qui ont la mention "nodev" dans /proc/filesystems. Habituellement, on met "tmpfs".


Effectivement, tmpfs(5) — Debian Manpages indique :

Code : Tout sélectionner

/tmp
         Previously configured using RAMTMP in /etc/default/rcS.
         Note that the setting in /etc/default/rcS, if present, will still be used,
         but the setting in /etc/default/tmpfs will take precedence if enabled.
         Configured using RAMTMP, TMPFS_SIZE and TMP_SIZE.
         
         If desired, the defaults may also be overridden with an entry in in /etc/fstab,
         for example:
         
         tmpfs	/tmp	tmpfs	nodev,nosuid,size=20%,mode=1777	0	0
         
Peux-tu me confirmer ce que je crois comprendre :

Un système tmpfs est créé par le noyau au démarrage ou par mount [-o remount] /point/montage
si il est déclaré dans /etc/fstab ou /etc/default/tmpfs ou /etc/default/rcS (dans cet ordre).

Pour ce qui est de la taille :

TMPFS_SIZE (ou TMP_SIZE pour /tmp ) correspond-t-il exactement à l'option size= de mount dans l'exemple de fstab juste au-dessus ?

Dans /etc/fstab peut-on indiquer de la même manière size=20% pour 20% de la RAM ou p.ex. size=10%VM pour 10% de (RAM + SWAP) ?



Mais, au final, j'en conclus que le script en question n'est pas si sérieux que cela et même si celui-là et ses petits frères peuvent être une source d'inspiration,
il conviendrait de bien vérifier chaque solution dans le détail pour s'éviter des fantaisies comme celles que tu as mises en évidence :good:


J'aurais encore appris une bonne chose, mais je pense que je vais rester prudemment sur ma configuration actuelle.
**Simple Utilisateur** -- Debian stable - XFCE
PascalHambourg
Contributeur
Contributeur
Messages : 876
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

dezix a écrit : 11 mars 2022, 23:56 Un système tmpfs est créé par le noyau au démarrage ou par mount [-o remount] /point/montage
si il est déclaré dans /etc/fstab ou /etc/default/tmpfs ou /etc/default/rcS (dans cet ordre).
Un tmpfs n'est pas créé par le noyau tout seul mais par un appel système "mount".
"mount /point/montage" ne crée pas un tmpfs défini dans /etc/default/{rcS,tmpfs} mais seulement dans /etc/fstab.
dezix a écrit : 11 mars 2022, 23:56 TMPFS_SIZE (ou TMP_SIZE pour /tmp ) correspond-t-il exactement à l'option size= de mount dans l'exemple de fstab juste au-dessus ?
Oui pour une valeur absolue ou en % de la RAM. Cf. man mount et tmpfs.txt dans la documentation du noyau.
PascalHambourg a écrit : 11 mars 2022, 21:30 Dans /etc/fstab peut-on indiquer de la même manière size=20%
Oui.
PascalHambourg a écrit : 11 mars 2022, 21:30 ou p.ex. size=10%VM pour 10% de (RAM + SWAP) ?
Non, comme indiqué dans la page de manuel tmpfs cette notation est spécifique à /etc/default/tmpfs. C'est le script d'init qui traite ce fichier qui calcule la taille.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Encore merci pour ta patience et pardon pour ne pas avoir lu le manuel plus attentivement.

:006:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lcoyote
Membre
Membre
Messages : 99
Inscription : 15 nov. 2021, 15:09
Localisation : Masiv Centrale
Status : Hors-ligne

:006: J'ai fait ce que vous avez recommandé - un chouïa pas très précis (vous avez décrit les commandes chez vous) ; eh bien le shell chez moi est utile et donne des indications. Mais après quelques changements de commandes, j'ai tout ce qu'il faut. Je vais donc donner le mien. Merci.
# dd if=/dev/zero of=/usr/tmpDISK bs=1024 count=2048000
# mount -t tmpfs -o loop,noexec,nosuid,rw /usr/tmpDISK /tmp
# echo "/usr/tmpDISK /tmp tmpfs loop,nosuid,noexec,rw 0 0" >> /etc/fstab
en suite
# echo "/dev/sda6 /tmp tmpfs loop,nosuid,noexec,rw 0 0" >> /etc/fstab

Code : Tout sélectionner

root:~# blkid
/dev/sda1: LABEL="Odzyskiwanie" BLOCK_SIZE="512" UUID="DCE076B0E076910E" TYPE="ntfs" PARTUUID="2e849209-d51d-484c-8b23-a68a71974c40"
/dev/sda2: UUID="0A79-C116" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="10052f71-7d6f-417d-fd9d-5c573a088cdf"
/dev/sda3: BLOCK_SIZE="512" UUID="EE7E0E7B7E0E3CB9" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="2026935d-fa54-487f-b169-f4f5e61a204c"
/dev/sda5: UUID="3c631b91-e6bd-4a54-966b-7bad7da8701c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="46211926-4670-4e41-aa24-b97b7eae8c47"
/dev/sda6: UUID="14a55543-50dc-446c-99f5-fd4eee78d0c2" TYPE="swap" PARTUUID="ddd35459-f938-4153-b868-3b5e26998845"
/dev/sda4: PARTUUID="11021dba-25a6-4fe5-b115-5579de98921a"
/dev/sda7: LABEL="/temp" UUID="9e86113e-3958-473b-95e4-234cc95834ec" BLOCK_SIZE="1024" TYPE="ext4" PARTUUID="a1c76642-20fb-4f47-b538-86d9d2fee6fe"
/dev/sdb1: LABEL="USB_Dane" BLOCK_SIZE="512" UUID="2CFE405C311B5F61" TYPE="ntfs" PARTUUID="7d42c09b-01"
:good: :006:
-------------
Nous sommes le pollen et la taille.
- expression personnelle
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

lcoyote a écrit : 13 mars 2022, 14:32 J'ai fait ce que vous avez recommandé

Je n'ai rien recommandé !

j'ai sollicité un avis sur une solution trouvée sur la toile,
afin de d'apprendre et de comprendre de quoi il s'agit et de faire un choix en toute connaissance,
ce qui ne semble pas être votre cas.

Ma conclusion étant :
dezix a écrit : 11 mars 2022, 23:56 je vais rester prudemment sur ma configuration actuelle.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lcoyote
Membre
Membre
Messages : 99
Inscription : 15 nov. 2021, 15:09
Localisation : Masiv Centrale
Status : Hors-ligne

:006: Je cherche toujours, mais je ne sais pas non plus. Cependant, pour que cela fonctionne pour moi, j'ai dû lancer la commande un peu différemment. C'est le répertoire à monter après avoir entré le mot de passe root. La capture d'écran est en polonais, mais je vais essayer de la traduire.
Image
:006: :wacko: :nea: :drinks:
-------------
Nous sommes le pollen et la taille.
- expression personnelle
Répondre