Làm thế nào tôi có thể gắn kết một hệ thống tập tin, ánh xạ người dùng?


16

Tôi có thể gắn kết thành công phân vùng ext4, vấn đề là tất cả các tệp trên phân vùng đó đều thuộc sở hữu của người dùng với userid 1000. Trên một máy, userid của tôi là 1000, nhưng trên một máy khác là 1010. Tên người dùng của tôi giống nhau trên cả hai máy , nhưng tôi nhận ra rằng hệ thống tập tin lưu trữ userids chứ không phải tên người dùng.

Tôi có thể sửa quyền sở hữu tập tin với nội dung như sau:

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

Nhưng sau đó tôi sẽ phải sửa lại quyền sở hữu tập tin trở lại 1000 khi tôi gắn ổ đĩa ngoài này vào một máy khác.

Những gì tôi muốn là cung cấp mountmột tùy chọn cho biết ánh xạ userid 1000 đến 1010, để tôi không phải sửa đổi bất kỳ tập tin nào. Có cách nào để làm việc này không?



Tôi tìm kiếm câu hỏi này một năm rưỡi sau, tìm thấy câu hỏi này, muốn upvote, chỉ để phát hiện ra rằng tôi đã tự hỏi câu hỏi này!
Flimm

Bạn vẫn có thể làm cho nó được yêu thích, ngay cả khi bạn không thể nâng cấp: -O
Anthon

Câu trả lời:


18

Hãy xem gói bindfs . bindfs là một hệ thống tệp FUSE cho phép các thao tác khác nhau về quyền của tệp, quyền sở hữu tệp, v.v. trên đầu các hệ thống tệp hiện có.

Bạn đang tìm kiếm cụ thể cho tùy chọn --map của bindfs:

--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. 

Vì vậy, để ánh xạ tập tin của bạn với người sử dụng id 1001 trong /mnt/wrongđể /mnt/correctvới người sử dụng id 1234, chạy lệnh này:

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

Tôi đang sử dụng fuse: unknown option `--map=1004/1002'máy chủ Ubuntu 12.04.5 LTS của mình. Tôi tự hỏi nếu phiên bản bindfs hoặc cầu chì của tôi đã lỗi thời ...
Zero3

1

Bạn có thể sử dụng bindfs . Nó có thể liên kết hệ thống tập tin với một số điểm gắn kết khác với uid / gid khác nhau. Tuy nhiên tôi nghĩ rằng tôi sẽ thay đổi uid để nó giống nhau trên cả hai hệ thống.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.