debian-sys-maint необхідні дозволи
Інші відповіді достатньо стосуються всього, крім мінімального набору дозволів, необхідних для користувача debian-sys-maint. Багато відповідей тут просто неправильні в цьому відношенні і насправді небезпечні. Не зменшуйте привілеї debian-sys-maint (включаючи опцію надання грантів), не читаючи та розуміючи нижче:
Технічний сервіс Debian не давав всім привілеям користувачеві примхливо. Ось що потрібно, де і чому. Деякі з цих привілеїв є набором інших, але я перелічу їх незалежно, якщо ви хочете налаштувати речі та усунути вимогу до них:
- вимкнення та перезавантаження , потрібне не дивно, для вимкнення або роботи з базою даних, виконане /etc/init.d/mysql
- виберіть на mysql.user , необхідний для перевірки правильності, здійсненого при запуску бази даних, гарантуючи, що є користувач root. Кожен запуск робиться / etc / mysql / debian-start (викликається /etc/init.d/mysql) фактичним кодом у функції check_root_accounts у файлі /usr/share/mysql/debian-start.inc.sh
- вибрати на INFORMATION_SCHEMA.TABLES , глобальний вибір , необхідний для перевірки розбитих таблиць. Зробити кожен запуск в / etc / mysql / debian-start (викликається /etc/init.d/mysql) фактичним кодом у функції check_for_crashed_tables у файлі /usr/share/mysql/debian-start.inc.sh
- глобальні всі привілеї , необхідні для оновлення таблиць, якщо / коли нова версія MySQL встановлена за допомогою оновлення або оновлення Debian. Здійснював кожен запуск в / etc / mysql / debian-start (викликається /etc/init.d/mysql) фактичним кодом у функції upgrade_system_tables_if_ne potrebno у файлі /usr/share/mysql/debian-start.inc.sh - насправді викликає MySQL бінарний mysql_upgrade - не обманюйте ім'я функції (upgrade_system_tables_if_ne необходимо), це може потенційно торкнутися всіх таблиць - див. нижче
Останнє - це, звичайно, головна вимога до пільг. Сторінка man для mysql_upgrade зазначає, що:
mysql_upgrade вивчає всі таблиці у всіх базах даних на предмет несумісності з поточною версією MySQL Server. mysql_upgrade також оновлює системні таблиці, щоб ви могли скористатися новими привілеями чи можливостями, які могли бути додані.
Якщо mysql_upgrade виявить, що в таблиці можлива несумісність, вона виконує перевірку таблиці і, якщо виявлені проблеми, намагається відновити таблицю.
ПОПЕРЕДЖЕННЯ
Якщо ви вирішили зменшити привілеї, які має debian-sys-maint, то переконайтеся, що ви готові вручну обробляти будь-які майбутні оновлення безпеки debian та / або оновлення, що стосуються MySQL. Якщо ви виконуєте оновлення пакетів MySQL зі зменшеним привілеєм debian-sys-maint, і якщо mysql_upgrade не може завершитися в результаті, він може залишити вашу базу даних у невизначеному (прочитаному ламаному) стані. Зниження привілеїв може не мати жодних очевидних проблем із повсякденним доти, доки не з’явиться оновлення, тому не слід підходити до того, що ви вже зменшили привілеї без шкідливих наслідків, як основа для того, щоб вважати, що це безпечно.