Un moyen rapide de restaurer ou de recharger les paramètres / etc / fstab?


11

Je travaille avec un complexe /etc/fstabsur un serveur basé sur RHEL 6.x. Le système dispose d'une variété d'options de montage sur huit partitions, dont plusieurs montages de liaison. Je teste des options et leur effet sur l'image sur laquelle je travaille.

les options par exemple , aiment nodev, nosuid, noexec, nobarrieret plusieurs paramètres de XFS sont en place.

Bien que je sache qu'il est possible de remonter avec des options spécifiques, existe-t-il un moyen rapide de rétablir tous les montages aux paramètres persistants codés en dur /etc/fstab?

Par exemple, sysctl -pcharge les /etc/sysctl.confvaleurs et les applique. Y a-t-il un mountéquivalent?


Éditer:

Un exemple de configuration:

#
# /etc/fstab
#
UUID=e6ca80cd    /                       ext4    noatime,nobarrier        1 1
UUID=a327d315    /boot                   ext4    defaults                 1 2
UUID=333ada18    /home                   ext4    noatime,nobarrier,nodev  1 2
UUID=7835718b    /tmp                    ext4    nodev,nosuid,noexec      1 2
UUID=4dd2e9d4    /usr                    ext4    defaults                 1 2
UUID=c274f65f    /var                    ext4    noatime,nobarrier        1 2
UUID=5b5941e0    /var/log                ext4    defaults                 1 2
UUID=3645951a    /var/log/audit          ext4    defaults                 1 2
UUID=3213123c    /vol1                   xfs     noatime,logbufs=8,nobarrier 1 2
UUID=1ee1c070    swap                    swap    defaults                 0 0
# Bind mount for /tmp
/tmp             /var/tmp                none    bind                     0 0
tmpfs            /dev/shm                tmpfs   nodev,nosuid,noexec      0 0
devpts           /dev/pts                devpts  gid=5,mode=620           0 0
sysfs            /sys                    sysfs   defaults                 0 0
proc             /proc                   proc    defaults                 0 0

Bien sûr, un développeur demande des autorisations d' exécution/tmp pour installer une application ...

Je constate que l' remountoption ne fonctionne pas sur ce système sans spécifier le périphérique et le (re) point de montage. Il s'agit d'un serveur sécurisé, donc les problèmes que je vois peuvent être liés à SElinux ou résulter des montages de liaison, ou peut-être même de la présence d'options négatives (noexec contre exec) ...


Le développeur essaie-t-il d'exécuter le script directement à partir d'un shell ou d'un site Web (via httpd)? quel message d'erreur voyez-vous lorsque vous essayez d'exécuter un script?
Daniel t.

Considérez-le comme un installateur d'application tiers typique qui sauvegarde un exécutable binaire ou shell dans /tmp. Oracle, par exemple.
ewwhite

Cela pourrait être un problème SELINUX, vous pouvez essayer de ausearch -m AVC,USER_AVC -sv noparcourir la sortie pour toute tmperreur.
Daniel t.

Réponses:


9

Tapez ceci dans bash:

egrep -v '^#' /etc/fstab | while read dev dir type opts dump pass ; do
    echo "mount -o remount,${opts} ${dir}";
done

Sur mon système, cela produit une sortie comme celle-ci:

mount -o remount,nodev,noexec,nosuid /proc
mount -o remount,relatime,errors=remount-ro /
mount -o remount,defaults /misc

Essayez-le sur votre système. Si vous l'aimez, il la produit, utilisez-la ou supprimez simplement echoles guillemets et les guillemets doubles de la commande ci-dessus.


Vous devez probablement y ajouter $devaussi ...
freiheit

4

Je voudrais simplement utiliser un script pour le faire pour les systèmes de fichiers concernés

for fs in /home /var /whatever
do
    mount -o remount "$fs"
done

Vous devrez peut-être aussi y mettre un -fsi un ou plusieurs fs peuvent être occupés, par exemple

mount -f -o remount "$fs"

3

Depuis la mountpage de manuel :

La fonctionnalité de remontage suit la manière standard dont la commande mount fonctionne avec les options de fstab. Cela signifie que la commande mount ne lit pas fstab (ou mtab) uniquement lorsqu'un périphérique et dir sont entièrement spécifiés.

  mount -o remount,rw /dev/foo /dir

Après cet appel, toutes les anciennes options de montage sont remplacées et les éléments arbitraires de fstab sont ignorés, à l'exception de l'option loop = qui est générée en interne et maintenue par la commande mount.

  mount -o remount,rw  /dir

Il mount -o remount /mountpointfaut donc restaurer les options dans /etc/fstab:

mgorven@mamma:~% grep boot /etc/fstab
UUID=823c73dc-8f64-4f76-a120-968106ffdf5a /boot           ext4    relatime        0       2
mgorven@mamma:~% sudo mount -o remount,ro /boot
mgorven@mamma:~% mount | grep boot
/dev/sda4 on /boot type ext4 (ro,relatime)
mgorven@mamma:~% sudo mount -o remount /boot
mgorven@mamma:~% mount | grep boot
/dev/sda4 on /boot type ext4 (rw,relatime)

Cela n'a pas fonctionné dans mon cas, mais peut être le résultat d'autres facteurs sur le système. Voir fstab mis à jour ci-dessus.
ewwhite

@ewwhite Je ne peux pas reproduire le problème en utilisant vos options fstab, il y a donc quelque chose d'autre.
mgorven

0

Modifiez-vous la dynamique des drapeaux de montage sans passer par / etc / fstab et redémarrer?

Ne pouvez-vous pas faire ce qui suit (par exemple):

 mount -o remount /usr

restaurer les options d'origine à partir du / etc / fstab? Vous pouvez vérifier les options montées à l'aide de la commande mount sans arguments.


0

Vous aurez du mal à remonter les systèmes de fichiers comme / usr et / var une fois le système opérationnel. Le remontage paresseux, par exemple, retournera probablement juste un succès mais n'aura jamais réellement la possibilité d'effectuer le remontage demandé car il y aura des descripteurs de fichiers ouverts pendant toute la durée de vie du système.

S'il s'agit d'une image de développement, comme cela sonne, alors je recommande simplement de démarrer le système propre pour chaque test. C'est fastidieux, mais au moins alors vous savez avec certitude que le système fonctionne comme il le serait en production, donc votre test est fiable.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.