Как создать конфигурацию Sudoer для снимков

При использовании снимков LVM в файле / etc / sudoers необходимы следующие записи. Выполните «visudo», чтобы отредактировать файл / etc / sudoers, и добавьте эти записи, чтобы разрешить mysql пользователь для запуска необходимых команд без запроса пароля и без оболочки входа в систему:

mysql = NOPASSWD: / bin / mount, NOPASSWD: / bin / umount, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate, NOPASSWD: / usr / sbin / lvremove По умолчанию: % mysql! requiretty По умолчанию: mysql! requiretty

Не забудьте указать правильный путь ко всем lvmtools в зависимости от операционной системы, так как он может отличаться в зависимости от того, какой дистрибутив Linux вы используете.

Вы можете точно настроить свой файл sudoers, если у вашей компании более строгие политики, давайте рассмотрим пример:

Скажем, на сервере MySQL, diamond.jewel.com, существуют 3 группы томов VolGroup00, vg1 и vg2 и логические тома LogVol00, lv1 и lv2 по одному в каждой. У нас есть каталог данных mysql в Logvol00 с базой данных innodb на lv1 и журналами innodb на lv2:
 

Файловая система Используется 1K блоков Доступно Использование% Установлено на
/ dev / mapper / VolGroup00-LogVol00
7459216 3040728 4033464 43% /
/ dev / sda1 101086 10895 84972 12% / загрузка
tmpfs 127668 0 127668 0% / dev / shm
/ dev / mapper / vg1-lv1 126931 11832 108546 10% / l1
/ dev / mapper / vg2-lv2 126931 11833 108545 10% / l2


Содержимое /etc/my.cnf выглядит следующим образом

innodb_data_home_dir = / l1 / ibdata innodb_data_file_path = ibdata1: 10M: автоматическое расширение innodb_log_group_home_dir = / l2 / iblogs


Конфигурация файла sudoer должна содержать следующие строки для приведенного выше примера, и если у вас только одна группа томов, вам просто нужно иметь одну строку.

mysql diamond.jewel.com = NOPASSWD: / bin / mount / dev / VolGroup00 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / VolGroup00 / LogVol00, NOPASSWD: / usr / sbin / lvremove -f / dev / VolGroup00 / zrm * mysql diamond.jewel. com = NOPASSWD: / bin / mount / dev / vg1 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD : / usr / sbin / lvcreate -L * -s -n zrm * / dev / vg1 / lv1, NOPASSWD: / usr / sbin / lvremove -f / dev / vg1 / zrm * mysql diamond.jewel.com = NOPASSWD: / bin / mount / dev / vg2 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / vg2 / lv2, NOPASSWD: / usr / sbin / lvremove -f / dev / vg2 / zrm *


ПРИМЕЧАНИЕ. Укажите правильный путь к командам lvm и df.

Если вы используете файловую систему xfs, вам необходимо указать

mysql diamond.jewel.com = NOPASSWD: / bin / mount -o -nouuid / dev / VolGroup00 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD : / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / VolGroup00 / LogVol00, NOPASSWD: / usr / sbin / lvremove -f / dev / VolGroup00 / zrm *

Также не забудьте добавить следующие строки, чтобы оболочка входа не требовалась для mysql пользователь для запуска команды sudo:

По умолчанию:% mysql! Requiretty По умолчанию: mysql! Requiretty