Wie schreibe ich über AFP/Netatalk in HFS+, ohne dass die Berechtigung verweigert wird und ein cnid_metad-Fehler auftritt?

Wie schreibe ich über AFP/Netatalk in HFS+, ohne dass die Berechtigung verweigert wird und ein cnid_metad-Fehler auftritt?

Ich habe die letzten 24 Stunden damit verbracht, meinen Debian-Server mit allen möglichen Paketen zu installieren. Da dieser Server in einer Mac OS X-Umgebung (10.8) läuft, war mein ursprüngliches Ziel, diesen Server als TimeCapsule-Ersatz zu verwenden.

Daher habe ich Netatalk 3.0.2 und Avahi-Daemon für ZeroConfig- und Time Machine-Unterstützung installiert.

Die an meinen Server angeschlossenen Festplatten sind HFS+-formatiert mit einem GUID-Partitionsschema.

Ich habe für jeden Mac ein Volume mit einem Ordner als TimeCapsule-Volumes eingerichtet und zwei Unix-Benutzer hinzugefügt, damit diese auf diese Laufwerke zugreifen können, und zwei zusätzliche Laufwerke als Datenlaufwerke. Ich habe den Eigentümer der TimeCapsule-Laufwerke/-Ordner geändert durch

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

Meine /etc/afp.conf sieht so aus

[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

Mein Montagetisch

/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)

Berechtigungen für /media/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

Alle Laufwerke werden über Autofs gemountet. Benutzer A und Benutzer B sind beide Mitglieder der Gruppe 0 und können auf alle Laufwerke schreiben, wenn sie dies über das Terminal versuchen.

Wenn ich jetzt versuche, als BenutzerA auf das TimeCapsuleA-Volume zuzugreifen, erhalte ich vollen Schreibzugriff und kann das Volume als TimeMachine-Backup-Volume verwenden. Wenn ich jedoch mit demselben Benutzer, der Teil der Gruppe 0 ist, auf OSX-Exchange oder PogoPlug1 zugreife, erhalte ich keinen Schreibzugriff. Das ist wirklich seltsam, da ich mit demselben Benutzer über das Terminal auf dieselbe Festplatte schreiben kann. Wenn ich den Eigentümer auf genau diesen Benutzer ändere, erhalte ich wieder Schreibzugriff, aber dann kann nur dieser bestimmte Benutzer wieder schreiben und keiner der anderen in derselben GID oder im gültigen Benutzerparameter kann schreiben.

Da ich nun mehrere Benutzer habe, die auf diese Datenlaufwerke zugreifen müssen, muss ich eine Möglichkeit finden, auf dasselbe Laufwerk zu schreiben, ohne bei jedem Wechsel des schreibenden Benutzers den Eigentümer zu ändern.

Meine Netatalk-Logdatei gibt beim Starten von Netatalk Folgendes aus:

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

Obwohl ich vollen Schreibzugriff habe, wenn die Eigentümerschaft mit dem angemeldeten Benutzer übereinstimmt.

Dies sind die Fehler, die ich erhalte, wenn ich versuche, über AFP einen neuen Ordner zu erstellen:

Feb 27 01:05:08.355873 afpd[3467] {ad_open.c:976} (E:Default): ad->ad_ops->ad_mkrf(ad_p) failed: Permission denied

Jede Hilfe wird sehr geschätzt!

Antwort1

Kann es daran liegen, dass alle Ihre Mounts schreibgeschützt sind? Alle drei Volumes haben dieroAttribut in der Mount-Tabelle. Verwenden Sie dasrw(Lesen/Schreiben) Option in der/etc/fstabDatei, wenn Sie sie automatisch mounten, etwa so:

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

Oder verwenden Sie bei manueller Bereitstellung:

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

Antwort2

Ich habe mit einem ähnlichen Problem gehadert, die Fehlermeldung ist genau die gleiche: cnid_metad[]: volume "MyVolume" does not support Extended Attributes or read-only volume

Die verwendete Netatalk-Version 3.1.8, aber grundsätzlich erzeugt jede 3.x-Version die gleiche Meldung.

In meinem Fall habe ich das Reiserfs-Dateisystem freigegeben und brauche keine erweiterten Attribute, es handelt sich nur um ein Datenzugriffsvolume. Daher wollte ich den Fehler aus dem daemon.log meines Debian-Linux-Systemservers löschen, da er die Protokolle zerstört.

Die Lösung besteht darin, erweiterte Attribute in allen Einstellungen zu deaktivieren ea = noneund auf eine ältere Version von AppleDouble zurückzugreifen appledouble = v2.

Geben Sie den Code in den Abschnitt „Volumen“ ein:

[MyVolume]
...
appledouble = v2
ea = none

Antwort3

Der Konfigurationsschlüssel ist Plural: valid users.

verwandte Informationen