Алярма! Делать всё на свой страх и риск!
Возможно, всё же будет проще бэкапить через root?
Бэкап разрешений
Сделать бэкап разрешений всех файлов:
getfacl -Rp / | gzip > /root/saved_permissions.acl.gz
Установка разрешений для группы backup
Включить доступ ко всем (на самом деле, многим) файлам через ACL:
setfacl -Rm d:g:backup:r-x,g:backup:r-x /{etc,lost+found,home,opt,root,srv}/ && \
setfacl -Rx d:g:backup,g:backup /etc/ssh/ && \
setfacl -Rm d:g:backup:r-x,g:backup:r-x /var/{lib,log,mail,opt,www}/
Почему так?
При r-x
или даже r--
у etc
перестанет загружаться ssh
(права на сертификаты должны быть 600!).
При отсутствии +x
у /bin/
, /etc/
, /var/
и /usr/
юзер backup
не сможет запустить даже bash
.
Не нужно ставить дополнительные разрешения для /bin/
и прочих файлов, куда уже есть доступ, или они не должны бэкапиться (например, своп). А остальные файлы уже можно прочесть все файлы через юзера backup
.
Возврат исходных разрешений
Выключить доступ ко всем файлам:
setfacl -Rx d:g:backup,g:backup /
Восстановить бэкап разрешений всех файлов:
zcat /root/saved_permissions.acl.gz | setfacl --restore=-