Назад | Перейти на главную страницу

Ошибки разрешения rsync на общем ресурсе smbfs

У меня есть NAS, и я пытаюсь подключить к нему файлы rsync. Он отлично работает с файлом, который у меня есть

$ id dogmatic69 
uid=1000(dogmatic69) gid=1000(dogmatic69) groups=1000(dogmatic69),4(adm),20(dialout),24(cdrom),33(www-data),46(plugdev),110(lpadmin),111(sambashare),112(admin)

Проблемные файлы принадлежат пользователю www-data

$ id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)

При запуске возникает множество ошибок, например:

rsync: failed to set permissions on "/some/file": Operation not permitted (1)

Я попытался настроить общий ресурс для обоих пользователей, но проблема все еще возникает

sudo smbmount //server/development development -o credentials=/home/dogmatic69/.smbpassword,uid=33,gid=33

и

sudo smbmount //server/development development -o credentials=/home/dogmatic69/.smbpassword,uid=1000,gid=1000

все исходные файлы принадлежат www-data и имеют g + rw, поэтому пользователь dogmatic69 может просматривать / редактировать их.

$ ls -al
total 956
drwxrwxr-x 11 www-data www-data   4096 2012-06-21 14:09 .
drwxr-xr-x 13 root     root       4096 2012-06-26 11:44 ..
drwxrwxr-x 17 www-data www-data   4096 2012-06-21 14:10 folder1
drwxrwxr-x  7 www-data www-data   4096 2010-10-11 02:24 folder2
-rw-rw-r--  1 www-data www-data 510649 2011-05-26 20:48 file.html
-rw-rw-r--  1 www-data www-data  78792 2011-05-26 20:15 other.html

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

Редактировать:

Сервер, на котором размещены файлы, представляет собой NAS на базе Linux, это простой ящик без ssh и с возможностью выбора NFS или SMBFS. Я играл с NFS, но нашел его довольно дерьмовым, и некоторые люди сказали, что он довольно устаревший.

Удалите все параметры из командной строки rsync, чтобы установить владельца. Rsync пытается установить разрешения, и, очевидно, ваш SMB-сервер не поддерживает эту функцию.

Если //server/development - это окно Windows, то попытка настроить права владения практически никогда не сработает. Если это хост Samba, вам необходимо убедиться, что на сервере включены расширения CIFS UNIX Extensions, и вам необходимо использовать mount.cifs не smbmount если вы хотите иметь возможность использовать разрешения в стиле unix через SMB.

На самом деле это было довольно просто ... Я еще немного покопался в параметрах rsync и rsync -a совмещает в себе несколько вариантов. Один из них -O сохранить право собственности. Обратите внимание, что эта опция требует, чтобы rsync запускался с правами root.

Просто добавив sudo в начало команды, проблема устранилась.