AFS / Netatalk를 통해 HFS +에 권한을 부여하지 않고 cnid_metad 오류를 기록하는 방법은 무엇입니까?


2

지난 24 시간 동안 모든 종류의 패키지로 내 데비안 서버를 설치했습니다. 이 서버는 Mac OS X (10.8) 환경에서 실행되기 때문에 초기 목표는이 서버를 TimeCapsule 대체품으로 사용하는 것이 었습니다.

따라서 zeroConfig 및 Time Machine 지원을 위해 Netatalk 3.0.2 및 avahi-daemon을 설치했습니다.

내 서버에 연결된 하드 드라이브는 GUID 파티션 체계로 HFS + 형식으로되어 있습니다.

각 Mac 용 폴더 당 하나의 볼륨을 TimeCapsule 볼륨으로 설정하고 두 개의 유닉스 사용자가 해당 드라이브에 액세스하고 데이터 드라이브로 두 개의 드라이브를 추가 할 수 있도록 추가했습니다. 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)

/ 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

모든 드라이브는 autofs를 통해 마운트됩니다. UserA와 UserB는 모두 그룹 0의 구성원이며 터미널을 통해이를 시도 할 때 모든 드라이브에 쓸 수 있습니다.

이제 UserA로 TimeCapsuleA 볼륨에 액세스하려고하면 전체 쓰기 액세스가 가능하며 TimeMachine 백업 볼륨으로 볼륨을 사용할 수 있습니다. 그러나 그룹 0의 일부인 동일한 사용자로 OSX-Exchange 또는 PogoPlug1에 액세스 할 때 어떤 쓰기 액세스 권한도 얻지 못합니다. 터미널을 통해 동일한 사용자와 동일한 디스크에 같은 내용을 쓸 수 있기 때문에 정말 이상합니다. 소유권을이 사용자로 변경하면 다시 쓰기 액세스가 가능하지만이 특정 사용자 만이 다시 쓸 수 있으며 동일한 gid 또는 유효한 사용자 매개 변수에있는 다른 사용자가 쓸 수 없습니다.

이제는 데이터 드라이브에 액세스해야하는 사용자가 여러 명 있기 때문에 쓰기 사용자가 변경 될 때마다 소유권을 변경하지 않고 동일한 드라이브에 기록하는 방법을 찾아야합니다.

내 netatalk 로그 파일은 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

소유권이 로그인 한 사용자와 일치 할 때 전체 쓰기 액세스 권한이 있습니다.

다음은 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

어떤 도움을 주시면 감사하겠습니다!

답변:


1

모든 마운트가 읽기 전용이라는 사실과 관련이 있습니다. 3 권 모두 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

1

비슷한 문제가있는 벽에 머리를 때리고 있는데 오류 메시지는 정확히 동일합니다. cnid_metad[]: volume "MyVolume" does not support Extended Attributes or read-only volume

Netatalk 버전은 3.1.8을 사용했지만 기본적으로 모든 3.x는 동일한 메시지를 생성합니다.

제 경우에는 reiserfs 파일 시스템을 공유하고 있으며 확장 된 속성이 필요 없습니다. 이것은 데이터 액세스 볼륨 일뿐입니다. 그래서 데비안 리눅스 시스템 서버의 daemon.log에서 에러를 제거하고 싶었습니다. 왜냐하면 로그를 지우는 것이기 때문입니다.

해결 방법은 모든 설정에서 확장 된 속성을 비활성화하는 것입니다. ea = none AppleDouble의 이전 버전으로 폴백 appledouble = v2.

볼륨 섹션에 코드 삽입 :

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

이것은 NTFS 및 EXT4 파티션으로 마운트 된 외장형 HDD가 장착 된 Raspberry Pi를 다시 사용하는 데 도움이되었습니다. afp.conf에 제안 된 변경 사항을 적용한 후 (다시) 파일을 작성 / 이름 바꾸기 / 삭제할 수있었습니다. 미리 읽기 전용 액세스 만했습니다.
Peter Pablo

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.