Linux에서 HFS + 볼륨을 마운트 할 때 기본 권한 우회 options are accepted: [CUT]

Snow Leopard 및 Kubuntu 11.10과 함께 듀얼 부팅 Macbook Pro를 사용하고 있으며 Kubuntu를 실행할 때 홈 Mac 홈 디렉토리 를 읽고 싶습니다 (쓰기에 신경 쓰지 않음).

아무 문제없이 마운트 할 수 있지만 Kubuntu의 사용자는 다른 uid (Mac의 경우 502, Kubuntu의 경우 1000)로 인해 Mac 사용자가 소유 한 HFS +의 파일을 볼 수 없습니다.

HFS +에 대한 커널 문서를 보면 다음과 같은 내용을 읽었습니다.

When mounting an HFSPlus filesystem, the following options are accepted:
[CUT]
    uid=n, gid=n
        Specifies the user/group that owns all files on the filesystem
        that have uninitialized permissions structures.
        Default:  user/group id of the mounting process.

그래서 다음 옵션을 사용해 보았습니다.

$ sudo mount -t hfsplus -o uid=1000,gid=1000 /dev/sda2 /mnt/Mac

그러나 그들은 아무것도하지 않는 것 같습니다 : ls -l을 사용하여 둘러 볼 때 여전히 동일한 권한이 표시됩니다. 나는 뭔가 실마리가 있을지 모른다.

Ubuntu에서 사용자 ID를 Mac Os X와 일치하도록 변경할 수 있지만 가능하면 피하는 것이 좋습니다.



답변

bindfs답입니다. 이미 마운트 된 파일 시스템을 사용하여 원하는 uid를 볼 수 있습니다.

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

편집하다:

또한 문서를 읽으면 map옵션 (1.10 이상)이 더 적합 할 수 있음을 깨달았습니다 .

sudo bindfs --map=502/1000 /media/diskFoo ~/myUIDdiskFoo


답변

결국, 나는 Mac OS X 사용자와 동일한 UID로 Linux 사용자를 만들었지 만 많은 파일이 mac 사용자 “unknown”, UID에 의해 소유되어 있기 때문에 Mac hfs + 볼륨에서 가정의 모든 디렉토리를 탐색 할 수 없습니다 99 ( http://googlemac.blogspot.com/2007/03/user-99-unknown.html 참조 ).

다른 컴퓨터에 연결할 때 볼륨을 마운트하고 읽을 수 있도록하기 위해 그렇게 한 것 같습니다. 일반 사용자는 UID 99가 소유 한 파일을 보면 소유자 인 것으로 간주합니다. 꽤 이상합니다. 오직 루트 만이 그것들을 그대로 본다.

그래서 Mac Os X에서 재부팅하고 관리자 권한으로 다른 사용자로 로그인하고 chown -R 502 : 20 / Users / gerlos / *를 사용하여 집에있는 모든 파일의 소유자를 변경했습니다. 이제 아무 문제없이 모든 것을 읽을 수 있습니다.

비고 :

  • Kubuntu 11.10에서 새 사용자를 만드는 기본 kubuntu gui 도구는 UID가 1000 미만인 사용자를 만들 수 없습니다. 대신 터미널에서 adduser를 사용하십시오.
  • 터미널에서 “id”명령을 사용하여 사용자 UID를 알 수 있습니다.
  • mac OS X에서는 파일의 실제 소유자를 보려면 루트 여야합니다. “ls -n / Users / gerlos”와 “sudo ls -n / Users / gerlos”를 입력하면 다른 결과를 기대할 수 있습니다.

답변

사실 나는이 질문을 겪을 때 비슷한 것을하려고합니다. 첫 번째 게시물을 보면 요청 된 마운트 옵션이 Linux 시스템의 기본값 (예 : uid 1000) 대신 어떤 사용자 uid를 사용 해야하는지 묻습니다. 따라서 마운트하려는 파일 시스템의 소유자 인 502를 사용해야합니다.

나는 이것을 내 자신의 상황에서 테스트했으며 파일 시스템이 내 시스템간에 공유되도록 uid 99를 사용하여 훌륭하게 작동했습니다. 이를 통해 uid를 변경하지 않아도됩니다. 공유해 주셔서 감사합니다. 이것은 더 이상 당신을 위해하지 않을 수 있지만 다른 사람을 도울 수 있습니다. 건배


답변