Как написать в HFS + через AFP / Netatalk без разрешения и ошибки cnid_metad?

5804
Evils

Последние 24 часа я провожу, устанавливая свой сервер Debian со всеми видами пакетов. Поскольку этот сервер работает в среде Mac OS X (10.8), моей первоначальной целью было использование этого сервера в качестве замены TimeCapsule.

Поэтому я установил Netatalk 3.0.2 и avahi-daemon для поддержки zeroConfig и Time Machine.

Жесткие диски, подключенные к моему серверу, отформатированы в HFS + со схемой разделов GUID.

Я настроил один том с одной папкой для каждого Mac в качестве томов TimeCapsule и добавил двух пользователей unix для доступа к этим дискам и два дополнительных диска в качестве дисков данных. Я сменил владельца дисков / папок TimeCapsule на

chown -R userA:userA /media/usb/TimeCapsuleA and chown -R userB:userB /media/usb/TimeCapsuleB 

Мой /etc/afp.conf выглядит так

[Global] hostname = TimeCapsule log file = /var/log/netatalk.log uam list = uams_guest.so, uams_dhx.so, uams_dhx2.so, zeroconf = yes save password = yes mimic model = TimeCapsule6,106 log level = default:warn log file = /var/log/netatalk.log hosts allow = 192.168.178.0/24  [default_for_all_vol]   [TimeCapsuleA] path = /media/usb/TimeCapsuleBackup/TimeCapsuleA/ time machine = yes valid user = usera invisible dots = yes search db = yes ea = auto cnid scheme = dbd  [TimeCapsuleB] path = /media/usb/TimeCapsuleBackup/TimeCapsuleB/ time machine = yes valid user = userb invisible dots = yes search db = yes ea = auto  [PogoPlug1] path = /media/usb/PogoPlug1/ cnid scheme = dbd ea = auto  mac charset = MAC_ROMAN invisible dots = yes search db = yes valid user = userA userB  [OSX-Exchange] path = /media/usb/OSX-Exchange/ cnid scheme = dbd ea = auto  mac charset = MAC_ROMAN invisible dots = yes search db = yes valid user = userA userB 

Мой стол для крепления

/etc/auto.misc on /media/usb type autofs (rw,relatime,fd=6,pgrp=1658,timeout=300,minproto=5,maxproto=5,indirect) /dev/sdb2 on /media/usb/TimeCapsuleBackup type hfsplus (ro,nosuid,nodev,noexec,relatime,sync,umask=22,uid=0,gid=0,nls=utf8) /dev/sdc2 on /media/usb/PogoPlug1 type hfsplus (ro,nosuid,nodev,noexec,relatime,sync,umask=22,uid=0,gid=0,nls=utf8) /dev/sdd2 on /media/usb/OSX-Exchange type hfsplus (ro,nosuid,nodev,noexec,relatime,sync,umask=22,uid=0,gid=0,nls=utf8) 

Разрешения / СМИ / USB /

drwxrwxrwx 1 evils evils 20 Feb 27 01:24 OSX-Exchange drwxrwxr-x 1 evils evils 18 Feb 27 01:19 PogoPlug1 drwxrwxr-x 1 root root 12 Feb 27 01:00 TimeCapsuleBackup 

Все диски монтируются через автофокус. UserA и UserB оба являются членами группы 0 и могут писать на все диски при попытке сделать это через терминал.

Теперь, когда я пытаюсь получить доступ к Тому TimeCapsuleA через UserA через, я получаю полный доступ на запись и могу использовать том в качестве Тома резервного копирования TimeMachine. Но когда я получаю доступ к OSX-Exchange или PogoPlug1 с тем же пользователем, который является частью группы 0, я не получаю никакого доступа для записи, что странно, поскольку я могу записывать на тот же диск с тем же пользователем через терминал. Когда я меняю владельца именно на этого пользователя, я снова получаю доступ на запись, но тогда только этот конкретный пользователь может писать снова, и никто из других в том же самом поле или в допустимом параметре пользователя не может писать.

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

Мой файл журнала netatalk выводит это при запуске netatalk:

Feb 27 00:59:08.422374 cnid_dbd[3314] (W:AFPDaemon): volume "TimeMachineFH" does not support Extended Attributes or read-only volume Feb 27 00:59:08.423147 cnid_dbd[3314] (W:AFPDaemon): volume "TimeMachineNS" does not support Extended Attributes or read-only volume Feb 27 00:59:08.423549 cnid_dbd[3314] (W:AFPDaemon): volume "PogoPlug1" does not support Extended Attributes or read-only volume Feb 27 00:59:08.423828 cnid_dbd[3314] (W:AFPDaemon): volume "OSX-Exchange" does not support Extended Attributes or read-only volume Feb 27 01:04:34.658562 cnid_metad[3460] (W:AFPDaemon): volume "TimeMachineFH" does not support Extended Attributes or read-only volume Feb 27 01:04:34.659329 cnid_metad[3460] (W:AFPDaemon): volume "TimeMachineNS" does not support Extended Attributes or read-only volume Feb 27 01:04:34.659725 cnid_metad[3460] (W:AFPDaemon): volume "PogoPlug1" does not support Extended Attributes or read-only volume Feb 27 01:04:34.660002 cnid_metad[3460] (W:AFPDaemon): volume "OSX-Exchange" does not support Extended Attributes or read-only volume Feb 27 01:04:34.799875 afpd[3459] (W:AFPDaemon): volume "TimeMachineFH" does not support Extended Attributes or read-only volume Feb 27 01:04:34.800798 afpd[3459] (W:AFPDaemon): volume "TimeMachineNS" does not support Extended Attributes or read-only volume Feb 27 01:04:34.801209 afpd[3459] (W:AFPDaemon): volume "PogoPlug1" does not support Extended Attributes or read-only volume Feb 27 01:04:34.801534 afpd[3459] (W:AFPDaemon): volume "OSX-Exchange" does not support Extended Attributes or read-only volume Feb 27 01:04:53.508492 afpd[3464] (W:AFPDaemon): volume "TimeMachineFH" does not support Extended Attributes or read-only volume Feb 27 01:04:53.508942 afpd[3464] (W:AFPDaemon): volume "TimeMachineNS" does not support Extended Attributes or read-only volume Feb 27 01:04:53.509239 afpd[3464] (W:AFPDaemon): volume "PogoPlug1" does not support Extended Attributes or read-only volume Feb 27 01:04:53.509531 afpd[3464] (W:AFPDaemon): volume "OSX-Exchange" does not support Extended Attributes or read-only volume 

Даже если у меня есть полный доступ на запись, когда владелец совпадает с зарегистрированным пользователем.

Вот ошибки, которые я получаю, когда пытаюсь создать новую папку через AFP:

Feb 27 01:05:08.355873 afpd[3467] (E:Default): ad->ad_ops->ad_mkrf(ad_p) failed: Permission denied 

Любая помощь будет высоко оценена!

2

3 ответа на вопрос

1
Charles G.

Может быть, это связано с тем, что все ваши крепления доступны только для чтения? Все три тома имеют атрибут ro в таблице монтирования. Используйте опцию rw (чтение-запись) в файле / etc / fstab, если вы монтируете автоматически, например:

/dev/sXXX /media/usb/volume_name type hfsplus rw,nosuid,nodev,noexec,relatime,sync,umask=22,uid=0,gid=0,nls=utf8 

Или, если вы монтируете вручную, используйте:

sudo mount /dev/XXX /media/usb/volume_name -t hfsplus -o rw,nosuid,nodev,noexec,relatime,sync,umask=22,uid=0,gid=0,nls=utf8 
Вы правы, что ro смонтирован в этом примере, но это произошло по ошибке, когда я скопировал и вставил вывод для этого вопроса здесь. Обычно (и особенно, когда произошла ошибка) все диски были смонтированы для чтения и записи. Evils 11 лет назад 0
1
Arunas Bartisius

Я бился головой об стену с похожей проблемой, сообщение об ошибке точно такое же: cnid_metad[]: volume "MyVolume" does not support Extended Attributes or read-only volume

Версия Netatalk использовала 3.1.8, но в основном любой 3.x выдает такое же сообщение.

В моем случае я делил файловую систему reiserfs, и мне не нужны расширенные атрибуты, это только объем доступа к данным. Поэтому я хотел удалить ошибку из daemon.log моего системного сервера Debian linux, потому что он уничтожает журналы.

Решение состоит в том, чтобы отключить расширенные атрибуты при всех настройках ea = noneи вернуться к более старой версии AppleDouble с appledouble = v2.

Поместите код в раздел тома:

[MyVolume] ... appledouble = v2 ea = none 
Это помогло мне снова начать работу с Raspberry Pi, к которому подключен внешний жесткий диск, смонтированный с разделами NTFS и EXT4. После применения предложенного вами изменения к afp.conf я смог (снова) создать / переименовать / удалить файлы. Предварительно у меня был только доступ только для чтения. Peter Pablo 6 лет назад 0
-1
C Fraire

The configuration key is plural: valid users.

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