Thay đổi quyền bỏ qua quyền sở hữu đối với khối lượng này. Từ dòng lệnh cho âm lượng Mac OS X


17

(Câu hỏi này là một câu hỏi phụ của một câu hỏi khác mà tôi đã hỏi trên trang web này.)

Hình ảnh mới luôn bỏ qua chủ sở hữu / nhóm

Khi tạo một hình ảnh đĩa mới từ Disk Utility, nó sẽ tự động được gắn. Nếu sau đó bạn chọn âm lượng trong Finder và nhấn Cmd-I (đối với cửa sổ thông tin), bạn sẽ thấy điều này ở dưới cùng của cửa sổ:

nhập mô tả hình ảnh ở đây

Điều này có nghĩa là chủ sở hữu tệp và nhóm sẽ bị bỏ qua trong tập này. Điều này rất thuận tiện cho các ổ đĩa ngoài được chia sẻ giữa các máy có tài khoản người dùng khác nhau trên chúng. Đối với một khối lượng sao lưu, đó không phải là một ý tưởng tốt vì bạn muốn giữ lại thông tin chủ sở hữu / nhóm cho các tệp được sao lưu.

Thay đổi điều này từ Finder

Để thay đổi điều này, chỉ cần bỏ chọn hộp kiểm và nó sẽ ghi nhớ sau khi bạn đẩy ra và chiếu lại hình ảnh.

Thay đổi từ dòng lệnh (Terminal)

Thay vì gắn hình ảnh từ Finder, bạn cũng có thể gắn nó từ dòng lệnh bằng cách sử dụng lệnh này (giả sử hình ảnh được gọi testimage.sparsebundle):

$ hdiutil attach testimage.sparsebundle/

Tuy nhiên, chủ sở hữu được bỏ qua trên khối lượng. Thêm -owners ontùy chọn là (gần như) tương đương với việc bỏ chọn hộp kiểm trong hình trên:

$ hdiutil attach -owners on testimage.sparsebundle/

Tuy nhiên, sau khi ngắt kết nối và đếm lại âm lượng từ Finder (hoặc từ dòng lệnh mà không có -owners ontùy chọn), hộp kiểm được kiểm tra lại.

Có ai biết làm thế nào để thay đổi này liên tục bằng cách sử dụng một cuộc gọi dòng lệnh không?

Câu trả lời:


17

Bạn sử dụng diskutilcho điều đó. Xem diskutil(1)dưới enableOwnershipvô hiệu hóa . Lưu ý rằng cài đặt này dành riêng cho cài đặt hệ điều hành cụ thể, vì nó được lưu trữ trong /var/db/volinfo.database. Tức là, nếu bạn sao chép hình ảnh đĩa vào một máy tính mới, cài đặt sẽ không tồn tại, nhưng nó vẫn tồn tại trên các lần khởi động lại, gắn kết, umount, v.v., tất cả trên một máy tính.

Sử dụng diskutilđể tìm định danh, sau đó thay đổi tùy chọn:

$ diskutil list
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            Disk Image             *41.0 MB    disk2
$ sudo diskutil enableOwnership disk2
File system user/group ownership enabled

2
Điều này không hoàn toàn chính xác - Diskutil sẽ cho bạn biết rằng bạn cần chỉ định một đĩa có điểm gắn kết, nghĩa là bạn phải trỏ nó vào lát cắt cho âm lượng bạn muốn đổi tên. Cú pháp đúng (giả sử lát 2 của đĩa 2) sẽ là: sudo đĩautil enableOwnership / dev / đĩa2s2 Nếu bạn chạy: danh sách đĩa sudo bạn sẽ có thể xem tất cả thông tin về đĩa và tìm đĩa & lát chính xác cho ổ đĩa của bạn .

Tôi đã thấy rằng tôi phải gọi lại diskutil enableOwnershipgiữa các lần gắn kết, nếu không tôi không thể thực thi các nhị phân và tập lệnh trên ổ đĩa được gắn kết.
psoft

5

Tôi thấy rằng cả hai câu trả lời đều có tác dụng cho phép sở hữu theo cách được ghi nhớ:

sudo diskutil enableOwnership <diskname>s<slicenum>

Và:

vsdbutil -a /Volume/<volname>

Tuy nhiên, điều ngược lại là không đúng, ít nhất là trên OS X 10.11.3:

sudo diskutil disableOwnership <diskname>s<slicenum>

Và:

vsdbutil -d /Volume/<volname>

Cả hai tạm thời thay đổi trạng thái, nhưng quyền sở hữu được bật lại vào lần tới khi tôi lắp âm lượng. Điều này dường như là một lỗi trong hệ điều hành. May mắn thay tôi tìm thấy một giải pháp hoạt động. Đẩy tất cả các đĩa bên ngoài mà bạn muốn vô hiệu hóa quyền sở hữu. Sau đó xóa cơ sở dữ liệu thích hợp bằng cách sử dụng:

sudo rm /var/db/volinfo.database

bạn có thể đưa ra một ví dụ, tôi đã không nhận được những gì tôi nên viết ở vị trí của s <slenum>
CN

2

Sử dụng vsdbutilđể đặt đường dẫn cho đường dẫn thay vì ổ đĩa vật lý:

vsdbutil -a /Volume/Diskname

Mặc dù mantrang cho thấy nó không được dùng nữa, nhưng mantrang diskutilvẫn đề cập đến nó và cơ chế dường như được dựa trên Tập UUIDskhông phải trên id đĩa / id vật lý.

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.