Предотвратить возможность записи данных в несмонтированный каталог точки монтирования [дубликат]

На этот вопрос уже есть ответ здесь:

У меня есть сервер Ubuntu, на котором я автоматически монтирую внешний жесткий диск при каждой загрузке.

Для этого я создал пустую папку в корневом разделе, и диск монтируется «внутри» этой папки.

Но что, если я выполню резервное копирование по этому пути, когда диск не смонтирован должным образом? Вместо этого резервная копия заполнит мой корневой раздел!

Я могу гарантировать, что диск монтируется каждый раз, выполняя:

sudo mount -a

... перед каждым резервным копированием.

Однако каковы наилучшие методы обеспечения того, чтобы данные никогда не записывались в пустую папку монтирования (кроме случаев, когда внешний жесткий диск действительно смонтирован)?

Можно ли решить эту проблему без сценариев? Скажите с разрешениями например? Каковы лучшие практики?

28
задан 30 January 2014 в 00:30
2 ответа

Я иду еще дальше и всегда устанавливаю атрибуты моих каталогов точек монтирования как неизменяемые, используя chattr .

Это достигается с помощью chattr + i / mountpoint (с размонтированным монтированием).

Это приведет к ошибке при новой операции записи, а также защитит точку монтирования в других ситуациях.

Но я полагаю , что вы также можете использовать команду mountpoint ;)

46
ответ дан 28 November 2019 в 20:02

Чтобы расширить комментарий об использовании точки монтирования , это примерно то, что я использую в сценариях, когда мне нужно проверить такие вещи:

DEST='/mnt/backup'
if ! mountpoint -q "$DEST" ; then
    echo "Destination is not mounted; attempting to mount"
    mount $DEST
    if ! mountpoint -q "$DEST" ; then
        echo "Unable to mount $DEST; Aborting"
        exit 1
    fi
    echo "Mounted $DEST; Continuing backup"
fi

Это предполагает, что $ DEST находится в / etc / fstab ; не имеет значения, является ли это точкой монтирования auto или noauto .

Согласно странице руководства mount :

Если только каталог или устройство дается, например:

 mount / dir

затем mount ищет точку монтирования и, если она не найдена, устройство в файле / etc / fstab. Можно использовать параметры --tar ‐ get или --source, чтобы избежать неоднозначной интерпретации данного аргумента. Например

 mount --target / mountpoint
2
ответ дан 28 November 2019 в 20:02

Теги

Похожие вопросы