Cara membuat konfigurasi Sudoer untuk snapshot

Saat menggunakan snapshot LVM, entri berikut diperlukan di file / etc / sudoers. Silakan jalankan "visudo" untuk mengedit file / etc / sudoers dan tambahkan entri ini untuk mengizinkan mysql pengguna untuk menjalankan perintah yang diperlukan tanpa diminta kata sandi dan tanpa memerlukan shell login:

mysql.dll = NOPASSWD: / bin / mount, NOPASSWD: / bin / umount, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate, NOPASSWD: / usr / sbin / lvremove Defaults: % mysql! Requirement Defaults: mysql! Requirement

Ingatlah untuk mengganti path yang benar ke semua lvmtools tergantung pada sistem operasi karena ini mungkin berbeda tergantung pada distribusi Linux yang Anda gunakan.

Anda dapat menyempurnakan file sudoers Anda jika perusahaan Anda memiliki kebijakan yang lebih ketat, mari kita ambil contoh:

Katakanlah di server MySQL, diamond.jewel.com, ada 3 grup volume VolGroup00, vg1 & vg2 dan volume logis masing-masing LogVol00, lv1 & lv2. Kami memiliki datadir mysql di Logvol00 dengan database innodb di lv1 dan log innodb di lv2:
 

Filesystem 1K-blok Digunakan Penggunaan yang Tersedia% Terpasang
/ 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


Isi dari /etc/my.cnf adalah sebagai berikut

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


Konfigurasi file sudoer harus memiliki baris berikut untuk contoh di atas dan jika Anda hanya memiliki satu grup volume, Anda hanya perlu memiliki satu baris.

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 *


CATATAN: Tolong berikan path yang benar ke perintah lvm dan df.

Jika Anda menggunakan sistem file xfs maka Anda harus menentukan

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 *

Harap diingat juga untuk menambahkan baris berikut sehingga shell login tidak diperlukan untuk mysql pengguna untuk menjalankan perintah sudo:

Default:% mysql! Requirement Defaults: mysql! Requirement