Я хочу иметь пользователя, который имеет доступ ко всем файлам и папкам в системе. Это делается с целью использования RSYNC на локальном компьютере для резервного копирования удаленного компьютера.
На данный момент мы используем пользователя, backups
и хотя мы добавили этого пользователя в группы, sudo
и admin
rsync по-прежнему возвращает такие сообщения, как:
Ошибка rsync: opendir "/ location / to / folder": отказано в разрешении (13)
rsync: не удалось открыть send_files "/ location / to / file": разрешение отклонено (13)
Любая идея, как мы даем пользователю backups
разрешение на доступ ко всему (если не считать добавление пользователя во все группы - удаленный сервер, который мы пытаемся сделать резервную копию, является выделенным хост-сервером, где у каждой учетной записи есть свой пользователь в системе).
Спасибо за любую помощь.
источник
/proc
, и/dev
т.д. , то ошибки следует ожидать.backups
кsudo
иadmin
ничего не изменится./home/a/c/account/users/mail:username
которые имеют разрешения, которыеdrwx------
принадлежат и принадлежатmail:4096
. Я предполагаю, что, поскольку пользовательbackups
находится в группеsudo
или уadmin
него нет доступа, потому что нет никаких прав доступа для групп? Я не знаю, но его ошибки в папках / файлах, как это.rsync
команду с помощью sudo.Ответы:
Простое добавление пользователя
backups
в группу пользователейsudo
автоматически не дает учетной записи доступ ко всем файлам в системе. Это дает пользователю разрешение на запускsudo
команды.Поскольку вы используете аутентификацию с открытым ключом (предположительно без пароля), я бы подошел к этому с точки зрения безопасности и простоты реализации. Использование
ssh
позволяет ограничить пользователя в выполнении только очень специфических команд. В этом случае вы можете разрешить пользователюbackups
выполнятьrsync
с правами суперпользователя.Вы уже произвели обмен ключами, и проверка подлинности прошла успешно. В
authorized_keys
файле на удаленном хосте, с которого вы создаете резервную копию/home
каталога, вы можете добавитьcommand=
директиву к ключу, который используется пользователемbackups
. Эта директива разрешит выполнение этой команды только тогда , когда этот ключ используется для аутентификации. Таким образом, первое поле ключа будет выглядеть примерно так:Вы можете пойти еще дальше и добавить дополнительные параметры для клавиши, такие как
from=myhost,no-pty,no-X11-forwarding
.Это должно обеспечить вам достойную безопасность и не требовать изменения базовых разрешений файловой системы. Вам, вероятно, нужно будет поиграть с командой, которую вы поместите в
authorized_keys
файл, пока она не будет работать так, как вы ожидаете; это может занять некоторое время, чтобы обернуть ваш мозг вокруг него. Команда, указанная в командеauthorized_keys
, в основном переопределяетrsync
параметры, которые вы передадите с подключающегося хоста.Много хорошей информации в
man sshd
. Вы хотите специально прочитать раздел AUTHORIZED_KEYS FORMAT.источник
rsync -e ssh -az backups@domain.com:/home /location/of/local/folder
, чтобы она работала с правами суперпользователя на удаленной машине? Или это будет сделано автоматически? Спасибо за ваше время и помощь. :)Один из вариантов - запустить сервер rsync в удаленной системе.
В основном, создайте
rsync.conf
сuid=root
последующим использованиемrsync -az rsync://domain.com
.См. Http://pastebin.com/5hQx1mRV для примера, написанного кем-то другим, и Настройка демона rsync для ознакомления с некоторыми основами включения сервера в Ubuntu.
Обратите внимание, что вы должны рассмотреть безопасность этого. Лучше всего сделать удаленную систему доступной к вашей локальной системе.
источник
/backup/lc
папки на удаленном сервере? Я изменяюpath
бит, чтобы быть,/home
чтобы заставить это работать?Возможно, вы могли бы использовать ACL, если базовая файловая система поддерживает его.
Вы должны добавить резервную копию группы в ACL каждого файла и каталога. Но для автоматического добавления для вновь созданного файла и каталога сначала необходимо установить список ACL по умолчанию для всех существующих каталогов. Итак, на удаленном сервере:
Тогда у вас должно быть разрешение rx для всех существующих каталогов и чтение файлов. Вы можете сделать это с помощью 2 команд (без -d на этот раз)
Это даст вам дополнительное разрешение на чтение файлов в резервную копию группы без изменения существующего пользователя и группы, которой принадлежит каждый файл.
Примечание: для ускорения поиска | Командой xargs вы можете добавить следующую опцию в команду xargs:
-P n
n номер параллельного процесса. Вы можете установить количество процессоров на вашем компьютере + 1.источник
sudo setfacl -Rm d:group:backup:r-X,group:backup:r-X /home
:) гораздо проще!