Hoe Sudoer-configuratie voor snapshots te maken

Wanneer u LVM-snapshots gebruikt, zijn de volgende vermeldingen nodig in het bestand / etc / sudoers. Voer "visudo" uit om het bestand / etc / sudoers te bewerken en voeg deze items toe om de mysql gebruiker om vereiste commando's uit te voeren zonder dat er om een ​​wachtwoord wordt gevraagd en zonder dat een login-shell vereist is:

mysql = NOPASSWD: / bin / mount, NOPASSWD: / bin / umount, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate, NOPASSWD: / usr / sbin / lvverwijder Standaardinstellingen: % mysql! requetty Standaardinstellingen: mysql! requetty

Denk eraan om het juiste pad naar alle lvmtools te vervangen, afhankelijk van het besturingssysteem, aangezien dit kan verschillen, afhankelijk van de Linux-distributie die je gebruikt.

U kunt uw sudoers-bestand verfijnen voor het geval uw bedrijf een strikter beleid heeft, laten we een voorbeeld nemen:

Laten we zeggen dat op de MySQL-server, diamond.jewel.com, 3 volumegroepen VolGroup00, vg1 & vg2 bestaan ​​en logische volumes LogVol00, lv1 & lv2 één in elk. We hebben de mysql datadir in Logvol00 met innodb-database in lv1 en innodb-logboeken in lv2:
 

Bestandssysteem 1K-blokken Gebruikt Beschikbaar Gebruik% Gemonteerd op
/ dev / mapper / VolGroup00-LogVol00
7459216 3040728 4033464 43% /
/ dev / sda1 101086 10895 84972 12% / boot
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


De inhoud van /etc/my.cnf is als volgt

innodb_data_home_dir = / l1 / ibdata innodb_data_file_path = ibdata1: 10M: autoextend innodb_log_group_home_dir = / l2 / iblogs


De configuratie van het sudoer-bestand zou de volgende regels moeten hebben voor het bovenstaande voorbeeld en als u slechts Ă©Ă©n volumegroep heeft, hoeft u slechts Ă©Ă©n regel te hebben.

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 *


OPMERKING: geef het juiste pad naar de lvm-opdrachten en df.

Als u een xfs-bestandssysteem gebruikt, moet u specificeren

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 *

Vergeet niet om de volgende regels toe te voegen, zodat een login-shell niet nodig is voor het mysql gebruiker om het sudo commando uit te voeren:

Standaardwaarden:% mysql! Requetty Standaardwaarden: mysql! Requetty