Задача
Я запутался в rsync
демоне и разрешениях. К сожалению, я не могу понять, почему я получаю
rsync: opendir "/." (in share) failed: Permission denied (13)
и
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1650) [generator=3.1.2]
.
Очевидно, что при поиске в Интернете и поиске manpage
из rsync
/ rsyncd.conf
я не смог решить эту проблему.
Настройка
Вот мой /etc/rsyncd.conf
, принадлежащий root
с 644
разрешениями:
log file = /var/log/rsyncd.log
[share]
comment = data
path = /path/to/data
uid = root
gid = root
read only = false
auth users = syncuser
secrets file = /etc/rsyncd.secrets
Обратите внимание, что /path/to/data
принадлежит root
с разрешениями 755
(хотя случайные user
или syncuser
также не работают).
Кроме того, /etc/rsyncd.secrets
имеет 600
разрешения и принадлежит root
(я также пытался 400
, хотя та же проблема)
syncuser:passwd
Для запуска службы (на CentOS7)
sudo systemctl start rsyncd
Первый случайный тест user
на хост-компьютере, на котором запущен демон (также работает с sudo
или как syncuser
, безрезультатно)
rsync user@host::
возвращает share data
, показывая, что конфигурация в порядке?!
Однако
rsync user@host::share
приводит к ошибкам, указанным выше.
Пытается
Игра с chmod
(777
) и chown
(root:root
, случайные user:user
, syncuser:syncuser
) из /path/to/data
ничего не изменила. Более того, я варьировал uid
и gid
до nobody
, но также безуспешно.
Выполнение выше rsync
команды на реальном клиенте, из которой я хочу в конечном итоге скопировать данные на хост, конечно, также не выполняется.
Так чего мне здесь не хватает? Любые намеки, конечно, высоко ценятся.