Існує безліч способів для непривілейованого користувача сповільнити систему та запустити синхронізацію - далеко не ефективніше. З іншого боку, наявність даних файлових систем на дисках є цілком законним запитом, тому забороняти користувачам (і, таким чином, їх процесам) робити це було б надмірно.
У будь-якому випадку, я не погоджуюся з вашою заявою "зайвий запис на диск". Ці записи, безумовно, необхідні і автоматично відбудуться через невеликий проміжок часу.
Навіть не існує гарантії, що синхронізуючий виклик взагалі буде робити щось особливе залежно від його реалізації. Синхронізація дзвінків - це, як визначає стандарт POSIX , лише "пропозиція" для ОС провести кеш файлової системи, але це не обов'язково змушує миттєві помилки відбуватися. Точніше, дзвінки просять ОС запланувати запланований кеш-пам'ять, але немає гарантії, що це відбудеться до запланованого часу, хоча реалізація Linux чекає, поки це відбудеться перед поверненням.
Більше того, виклик синхронізації кілька разів поспіль не настільки сповільнить системи, як колись кеші промиваються, якщо жоден процес активно не записує у файли, кеші порожні, так що синхронізація не працює.
Якщо ви дійсно хочете заборонити користувачам запускати синхронізацію у вашій системі, ви можете просто виконати наступні команди:
mv /bin/sync /bin/.sync
ln /bin/true /bin/sync
Це значною мірою буде непоміченим користувачами і не має негативних ефектів, окрім людей, які просто запускають синхронізацію, потім видаляють пристрої зберігання даних (наприклад: usb thumbdrive), не знімаючи їх, але ці користувачі в будь-якому разі вже діяли нерозумно.
Зауважте, що я не рекомендував би попереднє посилання / bin / sync з / bin / true. sync
безумовно, корисний у деяких випадках. Наприклад, якщо ви побоюєтесь жорстокого відключення (нестача електроенергії, паніка в системі, ...) незабаром, це може допомогти зберегти вміст файлових систем. Це я називаю законним запитом.