Назад | Перейти на главную страницу

automysqlbackup - права доступа к дампированным файлам

Я использую automysqlbackup, вот созданная запись cron по умолчанию

#!/bin/sh
test -x /usr/sbin/automysqlbackup && /usr/sbin/automysqlbackup

Мои файлы хранятся здесь

/var/cache/automysqlbackup

Мне нужно прочитать их с моим пользователем, но все дампы принадлежат root: root и 600

-rw------- 1 root root 945671 mars  12 06:49 my_2013-03-12.sql.gz
-rw------- 1 root root 951541 mars  13 06:32 my_2013-03-13.sql.gz
-rw------- 1 root root 956770 mars  14 06:31 my_2013-03-14.sql.gz
-rw------- 1 root root 961125 mars  15 06:53 my_2013-03-15.sql.gz
-rw------- 1 root root 969009 mars  17 06:38 my_2013-03-17.sql.gz
-rw------- 1 root root 969139 mars  18 06:38 my_2013-03-18.sql.gz

Как я могу настроить automysqlbackup для использования разных владельцев и разрешений?

В качестве альтернативы, в прошлый раз, когда я проверял, automysqlbackup был простым bash, можно было легко сделать модифицированную локальную копию ...

В Ubuntu установка по умолчанию для automysqlbackup

$ sudo nano /usr/sbin/automysqlbackup

Найдите chmod (только одно вхождение) и замените 600 по 640 например

automysqlbackup определенно не наследует разрешения от родительского каталога. Я не знаю, почему так и не добавили возможность установки разрешений, потому что это непонятливость.

Для Debian я сделал следующее:

В / etc / default / automysqlbackup добавлено:

FILEPERM=644

Затем я скопировал сценарий в домашний каталог пользователя, который запускает cronjob (чтобы он не был перезаписан при обновлении системы), и изменил строку 426:

Из

# Database dump function
dbdump () {
        touch $2
        chmod 600 $2

Чтобы

# Database dump function
dbdump () {
    touch $2
    chmod ${FILEPERM} $2

Теперь все разрешения установлены на то, что указано в файле конфигурации. Конечно, мне нужно обновить задание cron до / home / user / automysqlbackup

automysqlbackup не имеет опции (насколько я знаю), но вы можете установить разрешение родительского каталога:

sudo mkdir /var/cache/automysqlbackup
sudo chgrp YourUserGroup /var/cache/automysqlbackup
sudo chmod 770 /var/cache/automysqlbackup

И файлы должно быть наследовать групповые права родительского каталога при резервном копировании. больше информации на https://dylansserver.com/note/automysqlbackup

обновление: другой вариант

mkdir test
chgrp guest test
chmod -R gu+s test
setfacl -d -m u::rw,g::rw,o::- test
cd test && touch file2 && ls -la file2
-rw-rw----   1 root guest    0 march 18 16:33 file2