rsync проблемы с разрешениями

У меня есть проблема с использованием rsync; вот подробности.

В этом домохозяйстве есть два пользователя: зовите их Джон и Мэри. Джон и Мэри имеют настольную систему под управлением Ubuntu MATE версии 18.04.2. Также есть ноутбук с MATE 18.04.2. Когда MATE был установлен на ноутбуке, Джон был первоначальным пользователем; Затем он добавил Мэри в качестве второго пользователя.

И Джон, и Мэри хотели бы синхронизировать файлы данных своего ноутбука / home / xxxx со своими настольными системами. Джон использует скрипт rsync на своем рабочем столе ( не запускается как sudo), используя команды этой формы:

каталоги:

rsync -e ssh -vaz --delete /home/john/funds/ laptop:/home/john/funds/ 1>>/home/john/backup/laptop.out 2>>/home/john/backup/laptop.error

файлы:

rsync -e ssh -vaz --delete /home/john/swapfix laptop:/home/john/ 1>>/home/john/backup/laptop.out 2>>/home/john/backup/laptop.error

Это прекрасно работает: файлы должным образом синхронизируются без сообщений об ошибках.

Мэри также использует скрипт rsync со своего рабочего стола с командами, подобными приведенным выше:

rsync -e ssh -vaz --delete /home/mary/funds/ laptop:/home/mary/funds/ 1>>/home/mary/backup/laptop.out 2>>/home/mary/backup/laptop.error

&

rsync -e ssh -vaz --delete /home/mary/swapfix laptop:/home/mary/ 1>>/home/mary/backup/laptop.out 2>>/home/mary/backup/laptop.error

Это решительно не делает не работа. Файл отчета об ошибках является длинным и показывает запись после записи (но не для каждого элемента) со словом «failed: Permission denied (13)», а также иногда «Операция не разрешена (1)».

Это то, что можно назвать «выталкиванием» файлов из исходной настольной системы на ноутбук. Однако работает «вытягивание» файлов с использованием скрипта на ноутбуке с такими командами:

rsync -e ssh -vaz --delete lynn@lynn:/home/lynn/funds/ /home/lynn/funds/ 1>>/home/lynn/backup/laptop.out 2>>/home/lynn/backup/laptop.error

и

rsync -e ssh -vaz --delete lynn@lynn:/home/lynn/swapfix /home/lynn/ 1>>/home/lynn/backup/laptop.out 2>>/home/lynn/backup/laptop.error

Использование «тянуть» из Ноутбук, кажется, удовлетворяет потребности, но я бы предпочел, чтобы две системы работали одинаково, плюс я хотел бы знать, почему то, что работает для рабочего стола Джона, не будет работать для Мэри.

(Я запустил ls -a -l в домашних каталогах Мэри на рабочем столе и на ноутбуке, и разрешения кажутся идентичными.)

Я предполагаю, что rsync на ноутбуке, когда он удаленный У target нет прав на запись в каталог mary / home / mary, но я проклят, если смог понять почему.

Любая помощь, пожалуйста?

0
задан 26 July 2019 в 00:32

1 ответ

Я заметил, что в методе push вы не указываете имя пользователя удаленной системы (ноутбук: / home / mary), тогда как в методе pull вы указываете пользователя (lynn @ lynn: / home / lynn).

Можете ли вы попробовать добавить имя пользователя в команду push и посмотреть, как это работает?

Являются ли одинаковые номера uid Джона и Мэри на настольном компьютере и ноутбуке? Если у Джона и у Мэри другое, это может быть причиной вашей проблемы. Я столкнулся с проблемами владения файлами и разрешениями, когда uid был разным в двух системах. Я настроил имя пользователя и uid на все системы при настройке пользователей. Может быть, не требуется, или лучше, но мне показалось, что это работает.

1
ответ дан 26 July 2019 в 00:32

Другие вопросы по тегам:

Похожие вопросы: