ユーザーIDをマッピングしてファイルシステムをマウントするにはどうすればよいですか?


16

ext4パーティションを正常にマウントできます。問題は、パーティション上のすべてのファイルがuserid 1000のユーザーによって所有されていることです。あるマシンではユーザーIDは1000ですが、別のマシンでは1010です。 、しかし、私はファイルシステムがユーザー名ではなくユーザーIDを保存することを理解しています。

次のような方法でファイルの所有権を修正できます。

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

しかし、この外部ドライブを別のマシンにマウントすると、ファイルの所有権を再び1000に修正する必要があります。

私が望んでいるのは、mountmap userid 1000 to 1010というオプションを提供することです。そうすれば、実際にファイルを変更する必要がなくなります。これを行う方法はありますか?



私はこの質問を1年半後に検索しましたが、これを見つけて、賛成票を投じたいと思いました。
Flimm

たとえ賛成票を投じることができなくても、それをお気に入りにすることができます。
アントン

回答:


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'私のUbuntu 12.04.5 LTSサーバー上。bindfsまたはヒューズの私のバージョンが古い場合、私は疑問に思う...
ZERO3

1

bindfsを使用できます。異なるuid / gidを持つ他のマウントポイントにファイルシステムをバインドできます。しかし、両方のシステムで同じになるように、uidを変更するだけだと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.