사용자 아이디를 매핑하여 파일 시스템을 마운트하려면 어떻게해야합니까?


16

ext4 파티션을 성공적으로 마운트 할 수 있습니다. 문제는 파티션의 모든 파일이 사용자 ID가 1000 인 사용자가 소유한다는 것입니다. 한 시스템에서 내 사용자 ID는 1000이지만 다른 시스템에서는 1010입니다. 내 사용자 이름은 두 시스템에서 동일합니다 하지만 파일 시스템은 사용자 이름이 아닌 사용자 ID를 저장한다는 것을 알고 있습니다.

다음과 같은 방법으로 파일 소유권을 수정할 수 있습니다.

find /mnt/example -exec chown -h 1010 {} \;

그러나이 외부 드라이브를 다른 컴퓨터에 마운트 할 때 파일 소유권을 다시 1000으로 다시 수정해야합니다.

내가 원하는 것은 mountmap userid 1000을 1010으로 지정하는 옵션 을 제공 하여 실제로 파일을 수정할 필요가 없도록하는 것입니다. 이 방법이 있습니까?



나는 1 년 반 후에이 질문을 찾고, 이것을 찾았고, 투표하고 싶었습니다.
Flimm

공표 할 수없는 경우에도 여전히 즐겨 찾기로 만들 수 있습니다. : -O
Anthon

답변:


18

bindfs를 살펴 보십시오 패키지를 . bindfs는 기존 파일 시스템에서 파일 권한, 파일 소유권 등을 다양하게 조작 할 수있는 FUSE 파일 시스템입니다.

bindfs 의 --map 옵션 을 구체적으로 찾고 있습니다 .

--map=user1/user2:@group1/@group2:..., -o map=...
    Given a mapping user1/user2, all files owned by user1 are shown as owned by user2. When user2 creates files, they are chowned to user1 in the underlying directory. When files are chowned to user2, they are chowned to user1 in the underlying directory. Works similarly for groups.

    A single user or group may appear no more than once on the left and once on the right of a slash in the list of mappings. Currently, the options --force-user, --force-group, --mirror, --create-for-*, --chown-* and --chgrp-* override the corresponding behavior of this option.

    Requires mounting as root. 

그래서에서 사용자 ID 1001을 사용하여 파일을 매핑 /mnt/wrong/mnt/correct사용자 ID 1234,이 명령을 실행합니다 :

sudo bindfs --map=1001/1234 /mnt/wrong /mnt/correct

나는군요 fuse: unknown option `--map=1004/1002'내 우분투 12.04.5 LTS 서버에. bindfs 또는 퓨즈의 내 버전이 오래된 경우 궁금해 ...
ZERO3

1

bindfs 를 사용할 수 있습니다 . 파일 시스템을 다른 uid / gid를 가진 다른 마운트 지점에 바인딩 할 수 있습니다. 그러나 두 시스템에서 동일하게 uid를 변경한다고 생각합니다.

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