Como escrever no HFS + através do AFP / Netatalk sem permissão negada e erro cnid_metad?

2

Eu gasto as últimas 24 horas instalando meu servidor debian com todos os tipos de pacotes. Como este servidor é executado no ambiente do Mac OS X (10.8), meu objetivo inicial era usar esse servidor como substituto do TimeCapsule.

Portanto, instalei o Netatalk 3.0.2 e o avahi-daemon para o suporte a zeroConfig e Time Machine.

Os discos rígidos anexados ao meu servidor são formatados em HFS + com um esquema de Partição GUID.

Eu configurei um volume com uma pasta para cada Mac como TimeCapsule Volumes e adicionei dois usuários unix para eles acessarem essas unidades e duas unidades adicionais como Data Drives. Alterei a propriedade das unidades / pastas do TimeCapsule por

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

Meu /etc/afp.conf se parece com isso

[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

Minha tabela de montagem

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

Permissões de / 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

Todas as unidades são montadas através do autofs. UserA e UserB são membros do grupo 0 e podem gravar em todos os drives ao tentar fazer isso através do terminal.

Agora, quando tento acessar o Volume TimeCapsuleA como UserA até, obtenho acesso de gravação completo e posso usar o volume como Volume de Backup do TimeMachine. Mas quando eu acesso o OSX-Exchange ou o PogoPlug1 com o mesmo usuário que faz parte do grupo 0, eu não obtenho nenhum acesso de gravação, o que é realmente estranho, pois posso gravar no mesmo disco com o mesmo usuário através do terminal. Quando altero a propriedade para exatamente esse usuário, obtenho acesso de gravação novamente, mas somente esse usuário específico pode gravar novamente e nenhum dos outros no mesmo gid ou no parâmetro de usuário válido é capaz de gravar.

Agora, como tenho vários usuários que precisam acessar essas unidades de dados, preciso encontrar uma maneira de gravar na mesma unidade sem alterar a propriedade toda vez que o usuário que escreve mudar

.

Meu arquivo de log do netatalk gera isto ao iniciar o netatalk:

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

Apesar de eu ter acesso de gravação completo quando a propriedade corresponde ao usuário conectado.

Estes são os erros que recebo quando tento criar uma nova pasta através do AFP:

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

Qualquer ajuda será muito apreciada!

    
por Evils 27.02.2013 / 11:09

3 respostas

1

Pode haver algo a ver com o fato de que todas as suas montagens são somente leitura? Todos os três volumes têm o atributo ro na tabela de montagem. Use a opção rw (leitura-gravação) no arquivo / etc / fstab se você montar automaticamente, assim:

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

Ou, se você montar manualmente, use:

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
    
por 13.03.2013 / 04:24
1

Eu tenho batido cabeça na parede com problema semelhante, a mensagem de erro é exatamente a mesma: cnid_metad[]: volume "MyVolume" does not support Extended Attributes or read-only volume

A versão do Netatalk usou 3.1.8, mas basicamente qualquer 3.x produz a mesma mensagem.

No meu caso eu estava compartilhando o sistema de arquivos reiserfs e não tenho necessidade de atributos estendidos, isso é apenas o volume de acesso a dados. Então eu queria limpar o erro do daemon.log do meu servidor do sistema linux da Debian, porque ele está destruindo os logs.

A solução é desativar os atributos estendidos em todas as configurações ea = none e fallback para a versão anterior do AppleDouble com appledouble = v2 .

Coloque o código na seção "Volume":

[MyVolume]
...
appledouble = v2
ea = none
    
por 15.03.2016 / 16:01
-1

A chave de configuração é plural: valid users .

    
por 02.03.2014 / 05:29