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

Я хочу иметь пользователя, который имеет доступ ко всем файлам и папкам в системе. Это предназначено для использования 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.

  • ssh и кодировка символов
  • войдите в машину через другую, с (де) сжатием только на концах
  • многострочный вывод через команду SSH
  • Постоянная безопасность соединения SSH и практические последствия
  • Какими процессами порты (в качестве конечных точек связи) относятся к пересылке портов SSH?
  • Почему scp не работает, когда я запускаю его на удаленном сервере для копирования обратно на локальный компьютер?
  • Есть ли техническая причина, по которой ssh-agent не имеет функции sudo-like бездействия или времени ожидания?
  • Могу ли я настроить apache для ограничения доступа к каталогу только из моего ssh-соединения?
  • Почему эта команда scp создает каталог на один уровень вверх?
  • раздражающее сообщение «Соединение X11 отклонено из-за неправильной аутентификации», в то время как нет никакой проблемы вообще
  • Git Server Bash и SSH
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.