Предоставление прав доступа всем файлам и папкам

Я хочу иметь пользователя, который имеет доступ ко всем файлам и папкам в системе. Это предназначено для использования RSYNC на локальном компьютере для резервного копирования удаленной машины.

На данный момент мы используем пользовательские backups и хотя мы добавили этого пользователя в группы sudo а admin rsync все равно возвращает такие сообщения, как:

rsync: opendir "/ location / to / folder" failed: Permission denied (13)

rsync: send_files не удалось открыть «/ location / to / file»: Permission denied (13)

Любая идея о том, как мы предоставляем пользователю backups разрешений на доступ ко всему (не добавляя пользователя ко всем группам – удаленный сервер, который мы пытаемся сделать резервным, – это выделенный сервер хостинга, на котором у каждой учетной записи есть свой пользователь в системе).

Спасибо за любую помощь.

3 Solutions collect form web for “Предоставление прав доступа всем файлам и папкам”

Просто добавление пользовательских backups в группу пользователей sudo не дает автоматически доступ учетной записи ко всем файлам в системе. Это дает пользователю разрешение на запуск команды sudo .

Поскольку вы используете аутентификацию с открытым ключом (предположительно без кодовой фразы), я бы подошел к этому с учетом безопасности и простоты внедрения. Использование ssh позволяет ограничить пользователя выполнением только очень конкретных команд. В этом случае вы можете разрешить backups пользователя выполнять rsync с разрешениями суперпользователя.

Вы уже выполнили обмен ключами, а проверенная аутентификация прошла успешно. В файле authorized_keys на удаленном хосте, на котором вы поддерживаете каталог /home , вы можете добавить директиву command= к ключу, который используется пользовательскими backups . Эта директива разрешает эту команду запускать только тогда , когда этот ключ используется для аутентификации. Итак, первое поле ключа будет выглядеть примерно так:

 command="/path/to/sudo /path/to/rsync -az /home /local/folder" ssh-rsa AAAAB3NzaC1yblahblahblah 

Вы можете пойти еще дальше и добавить дополнительные ключи к ключу, например, from=myhost,no-pty,no-X11-forwarding .

Это должно обеспечить вам приличную защиту и не требовать изменения базовых разрешений файловой системы. Вам, вероятно, придется играть с командой, которую вы поместите в файл authorized_keys пока она не будет работать так, как вы ожидаете; может потребоваться немного, чтобы обернуть вокруг себя мозг. Команда, указанная в authorized_keys будет в основном переопределять параметры rsync , которые вы передадите с хоста.

Много хорошей информации в man sshd . Вы хотите специально прочитать раздел AUTHORIZED_KEYS FORMAT.

Один из вариантов – запустить сервер rsync в удаленной системе.

В принципе, создайте rsync.conf с uid=root затем используйте rsync -az rsync://domain.com .

См. http://pastebin.com/5hQx1mRV для примера, который написал кто-то другой, и Настройка демона rsync для некоторых оснований включения сервера в Ubuntu.

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

Возможно, вы можете использовать ACL, если базовая файловая система поддерживает его.

Вы должны добавить резервную копию группы в ACL для каждого файла и каталога. Но чтобы автоматически добавляться для вновь созданного файла и каталога, вы должны сначала установить ACL по умолчанию для всех существующих каталогов. Итак, на удаленном сервере:

 sudo find /home -type d -print0 | xargs -0 setfacl -d -m group:backup:rx 

Затем вы должны иметь разрешение rx для всех существующих каталогов и читать файлы. Вы можете сделать это с помощью двух команд (без -d на этот раз)

 sudo setfacl -R -m group:backup:r-- /home sudo find /home -type d -print0 | xargs -0 setfacl -m group:backup:rx 

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

Примечание: чтобы ускорить поиск | Команда xargs вы можете добавить следующую команду команде xargs: -P n с n числом параллельных процессов. Вы можете установить его на количество процессоров на вашем компьютере + 1.

  • Как я могу графически отображать графический / рабочий стол для Ubuntu, который у меня есть ssh, но не консольный доступ?
  • Как устранить неисправность отключения туннелей ssh?
  • Как инсталлировать IP на основе корневого входа SSH
  • Poweroff через ssh с nohup
  • ssh обратный туннель с удаленным ip
  • Неинтерактивная оболочка расширяет псевдоним
  • Сброс соединения с помощью serfs
  • Команда ssh в фоновом режиме
  • Что использовать для потоковой передачи любого звука на другой компьютер с использованием Wi-Fi
  • Cygwin / X DISPLAY номер больше: 0?
  • Почему SSH не запрашивает / etc / hosts?
  • Interesting Posts

    как сохранить настройки скрипта?

    Список файлов, которые соответствуют шаблону, но игнорируют файлы, соответствующие другому шаблону?

    Почему в некоторых системах Linux корневая файловая система отображается как / dev / root вместо / dev / <real device node> в mtab?

    Что на самом деле убивает 0?

    На каком диске произошла ошибка ввода-вывода журнала?

    Игра с ярлыками и размерами окон с потрясающим WM

    Будет ли Linux Mint 18 поддерживать Snap Packages?

    i3wm: Как перемещать окна между мониторами?

    Как штамповать приглашение во время выполнения команды?

    Показывать элемент в контекстном меню только для определенного типа файлов с помощью Nautilus-Actions Configuration Tool

    Как избавиться от среды рабочего стола и использовать только оконный менеджер?

    Захват текста из отдельного экрана

    Arch Linux makepkg для AUR теперь всегда терпит неудачу при поиске зависимостей

    Что делает файл filename.txt в сценарии оболочки

    Добавление сто тысяч слов в словарь проверки правописания на Fedora 24

    Linux и Unix - лучшая ОС в мире.