Для непривилегированного пользователя существует множество способов замедлить работу системы, и запуск синхронизации далеко не самый эффективный. С другой стороны, наличие данных файловых систем, записанных на диск, является вполне законным запросом, поэтому запрещать пользователям (и, следовательно, их процессам) делать это было бы чрезмерно.
В любом случае, я не согласен с вашим утверждением «ненужные записи на диск». Эти записи, безусловно, необходимы и в любом случае произойдут автоматически через небольшой промежуток времени.
Нет даже гарантии, что синхронный вызов сделает что-то конкретное вообще, в зависимости от его реализации. Вызов sync - это, как определяет стандарт POSIX , всего лишь «предложение» для ОС очищать кеш файловой системы, но это не обязательно приводит к немедленному сбросу. Точнее, вызовы просят ОС запланировать очистку кеша, но нет никакой гарантии, что это произойдет раньше, чем запланированное время, хотя реализация Linux ждет его, прежде чем вернуться.
Более того, вызов sync несколько раз подряд не сильно замедлит работу системы, как если бы кэш-память очищалась, если ни один процесс не выполняет активную запись в файлы, кеш-память пуста, поэтому синхронизация невозможна.
Если вы действительно хотите запретить пользователям запускать синхронизацию в вашей системе, вы можете просто выполнить следующие команды:
mv /bin/sync /bin/.sync
ln /bin/true /bin/sync
Это было бы в значительной степени незамеченным для пользователей и не имело бы негативных последствий, за исключением тех, кто просто запускал синхронизацию, затем удалял устройства хранения (например, usb thumbdrive), не отключая их, но эти пользователи в любом случае уже действовали глупо.
Обратите внимание, что я бы не рекомендовал предыдущую ссылку / bin / sync с / bin / true. sync
конечно полезно в некоторых случаях. Например, если вы опасаетесь, что в ближайшее время может произойти жестокое отключение (нехватка питания, системная паника, ...), это поможет сохранить содержимое файловых систем. Это то, что я называю законным запросом.