Я настраиваю сервер для удаленного резервного копирования через SSH (pull). Как я могу скопировать /root
каталог без входа как root
пользователь?
Добавьте пользователя резервного копирования в совершенно новую группу, созданную для этой цели, и сделайте эту группу владельцем группы всего в / root.
chgrp -R newgroup /root
или создайте небольшой скрипт, который преобразует / root в STDOUT (скажем, / usr / local / bin / tar-up-root) и настройте свои sudoers, чтобы позволить пользователю резервного копирования запускать скрипт без пароля:
backupuser ALL=(root) NOPASSWD: /usr/local/bin/tar-up-root
а потом
ssh backupuser@host-to-backup "/usr/local/bin/tar-up-root" > /var/tmp/remote-root-backup.tar
или запустите сценарий из cron, как root, на хосте для резервного копирования, который преобразует root в файл, принадлежащий пользователю резервного копирования и в режиме 600 (вы не хотите, чтобы кто-либо другой мог прочитать этот tar-файл, или вы ослабили безопасность на / root), то попросите backupuser просто скопировать этот файл с хоста для резервного копирования.
Что-нибудь из этого хорошего?
Добавьте пользователя резервного копирования в группу wheel, и он будет иметь права root. Или добавьте его в менее привилегированную группу и предоставьте этой группе доступ на чтение к корневому каталогу / и всем файлам в нем.