Cách gắn ổ đĩa HFS + và bỏ qua quyền


25

Tôi đã cài đặt Ubuntu và Windows trên MacBook và Ubuntu là hệ điều hành chính của tôi; tuy nhiên, tất cả các phương tiện truyền thông của tôi vẫn nằm trên phân vùng OSX của tôi. Tôi muốn có thể truy cập nó (ít nhất là thư mục nhà của người dùng OSX) từ Ubuntu mà không phải khởi chạy trình phát phương tiện (hoặc bất cứ thứ gì khác) dưới dạng root. Ngoài ra, vì thỉnh thoảng tôi muốn kích hoạt máy của mình trong OSX, tôi không muốn thay đổi bất cứ điều gì tôi cần thay đổi thường xuyên (tôi đã đọc rất nhiều về việc thay đổi UID - Tôi không hiểu chính xác điều này đòi hỏi gì, nhưng tôi không muốn phải thay đổi qua lại UID tùy thuộc vào hệ điều hành nào tôi đang sử dụng. Tương tự, tôi không muốn thay đổi quyền truy cập hệ thống tệp qua lại).

Ngoài ra, tôi đã thấy một cái gì đó về tùy chọn "noowner", nhưng dường như nó không làm những gì tôi muốn.

Vì vậy, tôi đoán tôi muốn có thể làm một cái gì đó như thế này:

sudo mount -t hfsplus -o noowner /dev/sda2/ /media/Mac

Và sau đó có thể truy cập tất cả các phương tiện của tôi (ít nhất là tất cả mọi thứ trong thư mục Trang chủ của người dùng OSX của tôi) mà không cần truy cập dưới dạng root. (để rõ ràng: mục nhập dòng lệnh ở trên không làm những gì tôi muốn nó làm, nhưng tôi muốn có thể làm một cái gì đó tương tự).

Hoặc sẽ tốt hơn để thay đổi UID của tôi? Và nếu vậy thì thế nào?


Bạn có thể xem câu trả lời của tôi Tôi tin rằng tôi đã trả lời câu hỏi của bạn chính xác hơn câu trả lời được đánh dấu.
Catskul

@Catskul Không tôi không thể. Câu hỏi này đã được hơn 2 năm - trong thời gian đó, tôi đã bán MacBook của mình và tái tạo vấn đề này với mục đích xác nhận câu trả lời của bạn là rất khó khăn.
weberc2

Câu trả lời:


28

bindfslà câu trả lời. Nó sẽ có một hệ thống tập tin đã được gắn kết và cung cấp một cái nhìn về nó với bất cứ điều gì bạn muốn:

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

Tải trên cpu và bộ nhớ là khá đáng kể, mặc dù. Nếu đó là một mối quan tâm, tôi muốn giới thiệu giải pháp của @ weberc2. Nếu không thì trả lời tuyệt vời.
frhd

bindfs đã được flakes cho tôi. tôi sử dụng các phản ứng đối với bài này askubuntu.com/questions/315078/... thay
krumpelstiltskin

Câu trả lời tốt (nâng cấp) nhưng Nó yêu cầu cài đặt bindfs. Tại sao điều đó không tốt? Chà, đây là trường hợp bất thường của tôi: người bạn cho tôi chiếc MacBook cũ (tôi không biết là Pro) để sao lưu dữ liệu từ MacOS không khởi động. Tôi đã thử phiên bản Ubuntu mới nhất và không gặp may (sự cố trình điều khiển nouveau, nomodeset không giúp được gì). Sau đó, tôi bắt đầu quay lại với các phiên bản Ubuntu cho đến khi tôi tìm thấy một phiên bản khởi động, 9.10 (yeah), máy chủ repo không còn trực tuyến nữa. bindfs không thể được cài đặt. Câu trả lời được chấp nhận giải quyết vấn đề đó.
Hatoru Hansou

19

Tôi không thể tìm ra cách bỏ qua các quyền, nhưng cuối cùng tôi đã thay đổi UID trên tài khoản Ubuntu của mình để phù hợp với tài khoản OSX của mình:

sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser
sudo passwd tempuser

Nhập mật khẩu mới. Đăng xuất, đăng nhập là "khác" với tên người dùng "tempuser" và mật khẩu bạn đã chọn trước đó. Mở một thiết bị đầu cuối và gõ:

sudo usermod --uid 501 yourusername
sudo chown -R 501:yourusername /home/yourusername

* thay đổi "tên người dùng" của bạn thành tên người dùng không tạm thời và 501 thành UID của tài khoản Mac của bạn (tài khoản Mac đầu tiên bắt đầu từ 501, nhưng những người dùng tiếp theo sẽ có các UID khác nhau).

Đăng xuất khỏi tempuser và đăng nhập lại vào tài khoản bình thường của bạn (điều này rất quan trọng; đừng chuyển người dùng - điều tồi tệ sẽ xảy ra). Mở một cửa sổ đầu cuối và gõ:

sudo userdel -r tempuser

Để biết thêm chi tiết, hãy truy cập trang này .

Hãy cẩn thận

  • Chỉ có một người dùng linux có thể truy cập. Thiết lập này sẽ không cho phép nhiều người dùng linux truy cập nhiều thư mục người dùng trên ổ đĩa HFS +. Điều này là do Apple khóa các thư mục người dùng (và các thư mục phương tiện như Âm nhạc) xuống 700 ( rwx------).
  • Khi bạn thay đổi UID, trình quản lý đăng nhập sẽ ngừng liệt kê người dùng đó. Bạn phải thay đổi UID_MINtùy chọn trong /etc/login.deftừ 1000để 500.
  • Cuối cùng vì UID người dùng đã thay đổi, quyền truy cập vào ổ đĩa trở thành một sự nhầm lẫn về quyền. Bạn sẽ phải lưu ý vị trí chính xác của thư mục nhà của người dùng để xem nó. Hoàn thành tab và duyệt qua trình quản lý tệp sẽ trở thành vấn đề đối với các thư mục bên ngoài thư mục gốc của Apple mà không có sudo.

phương pháp usermod làm việc cho tôi. chỉ cần đảm bảo xóa / media / USERNAME nếu bạn muốn sử dụng ổ USB. Askubfox.com/questions/583375/ Mạnh
krumpelstiltskin

Đối với báo trước của bạn 1, 700 thực sự là mặc định cho thư mục người dùng trong OS X, nhưng không có vấn đề trong việc thay đổi nó nếu nó không phù hợp với bạn, ví dụ để 755.
fkraiem

Trong khi sử dụng sudo để ra lệnh và khởi chạy nautilus với sudo cho phép truy cập vào bất kỳ thư mục nào trong MacOS HD, phương thức uid là tốt nhất khi bạn cần nhiều hơn là chỉ truy cập các tệp, ví dụ như chuyển chúng vào thư mục dùng chung trong máy khác (sử dụng samba chẳng hạn). Ví dụ nautilus nâng cao có thể khám phá mạng, một thể hiện nautilus bình thường có thể, nhưng nó không cho phép bạn sao chép và dán từ MacOS HD. Cung cấp cho một tempuser uid 501 đã giải quyết vấn đề cho tôi, cho phép tôi sao lưu dữ liệu từ MacOS không khởi động vào thư mục dùng chung.
Hatoru Hansou

Đối với 16.10, ngoại trừ UID_MIN, cũng cần thêm GID_MIN=500vào/etc/login.def
vẽ

5

Các tài liệu cho việc thực hiện kernel linux của HFS + hệ thống tập tin danh sách một uidtùy chọn cho phép bạn "sở hữu" tất cả các file (và có thể một số lựa chọn khác mà có thể có ích quá) gắn kết.


Tôi đã cố gắng để làm điều đó, nhưng tôi không biết tôi nên sử dụng UID nào. Tôi đã đọc nó giống như 501 cho OSX, nhưng tài khoản không phải là người dùng OSX gốc. Làm thế nào tôi có thể tìm hiểu thông tin này?
weberc2

@ weberc2: ls -l /media/YourHFSdisk/sẽ hiển thị cho bạn uid và gid của các tệp / thư mục hiện tại. Các đĩa HFS + mà tôi gặp dường như hầu hết thuộc sở hữu của uid 99 và gid 99. Tuy nhiên, tôi đã thử các kết hợp khác nhau của cài đặt uid / gid / umask trong lệnh mount và dường như nó không thay đổi gì.
mivk

Điều này đã không làm việc cho tôi. Từ tài liệu: "uid / gid \ n Chỉ định người dùng / nhóm sở hữu tất cả các tệp trên hệ thống tệp có cấu trúc quyền chưa được khởi tạo." Thật không may, tất cả các tệp trên hệ thống tệp của tôi vẫn thuộc sở hữu của 501 (tức là chúng có các cấu trúc quyền khởi tạo (?))
Colin

2

Tôi biết điều này đã cũ, nhưng có một cách khác xung quanh nó dường như chỉ hoạt động tốt với tôi. Vì tất cả các tệp được sở hữu bởi người dùng "root", tất cả những gì tôi làm là vấn đề su roottừ thiết bị đầu cuối và ls -lah /media/Macintosh HDtừ đó. Bằng cách sử dụng root, tôi đã có thể bỏ qua lỗi từ chối cấp phép.


đơn giản và lệch lạc
SYK

1

Tôi đã có thể truy cập vào các tệp từ ổ cứng Macbook cũ bằng cách chạy trình quản lý tệp với các đặc quyền nâng cao.

gksudo thunar

Sau đó sao chép các tập tin khi cần thiết.


0

Đây là tùy chọn chung Tôi đang sử dụng hoạt động hoàn hảo

mkdir /media/test
mkdir /media/diskhfs
mount /dev/sdb1 /media/test -o rw
bindfs -o perms=775,mirror=userorid --map=99/userorid:@99/@uderorid /media/test /media/diskhfs
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.