ID nhóm (gid) thích hợp cho Lion?


9

Nếu bạn tạo một tài khoản quản trị viên hoàn toàn mới trong Lion, sau đây sẽ là tư cách thành viên nhóm và id của bạn (từ $ id [new Lion account] | perl -lne 's/ /\n/g; s/,/\n\t/g; print;'):

uid=504(lt)
gid=20(staff)
groups=20(staff)
    402(com.apple.sharepoint.group.1)
    12(everyone)
    33(_appstore)
    61(localaccounts)
    79(_appserverusr)
    80(admin)
    81(_appserveradm)
    98(_lpadmin)
    100(_lpoperator)
    204(_developer)
    403(com.apple.sharepoint.group.2)
    401(com.apple.access_screensharing)

Ngược lại, tài khoản OS X cũ hơn sẽ có các uid, gid, v.v .:

uid=501(andrew)
gid=501(andrew)
groups=501(andrew)
    403(com.apple.sharepoint.group.2)
    204(_developer)
    100(_lpoperator)
    98(_lpadmin)
    81(_appserveradm)
    80(admin)
    79(_appserverusr)
    61(localaccounts)
    12(everyone)
    401(com.apple.access_screensharing)
    402(com.apple.sharepoint.group.1)

Lưu ý rằng gid=20(staff)trên tài khoản mới hơn và người dùng đó là thành viên của 20(staff).

Khi bạn nâng cấp tài khoản cũ lên Lion, tên người dùng và nhóm cũ hơn sẽ được giữ.

Đã có vấn đề được báo cáo khi không có staffthành viên nhóm trên các tài khoản được nâng cấp:

  1. Không có khả năng cài đặt hoặc nâng cấp Homebrew;
  2. Màn hình 'Tìm nạp' khi nhấn Cmd+ Itrên các tệp trong thư mục người dùng của bạn
  3. ACL và các vấn đề cho phép .

Cách giải quyết hiện tại dường như là thế này:

  1. Thêm người dùng vào nhân viên (ví dụ: $ sudo dscl. Nối / Nhóm / nhân viên GroupMembership `whoami` hoặc tương đương)
  2. Sử dụng Lion Recovery để khôi phục quyền truy cập thư mục nhà mặc định (Nhấp vào tab 'No Disc - Lion').

Cho đến nay, điều này đã khắc phục rất nhiều vấn đề tôi gặp phải khi nâng cấp và dường như tôi có thời lượng pin dài hơn và mức sử dụng CPU thấp hơn.

Tuy nhiên, đây là những câu hỏi tôi có:

1. Tôi có nên đi qua những rắc rối của việc thay đổi gid=501để gid=20trên tài khoản của tôi hay chỉ là trở thành một thành viên của nhóm nhân viên đủ tốt?

2. Là thành viên của 20 (nhân viên) giống như có gid = 20 (nhân viên)?

3. Nếu tôi đã thay đổi gid=một phần tài khoản của mình, làm thế nào để tôi làm điều đó trên Lion? Tôi chỉ biết làm thế nào để làm điều đó trên Ubuntu ...

Câu trả lời:


4

Tôi chưa thấy bất kỳ sự khác biệt nào trong cách OS X đối xử với nhóm chính so với các nhóm khác của người dùng, vì vậy tôi không nghĩ nó tạo ra sự khác biệt thực sự. Tuy nhiên, tôi có khuynh hướng "sửa chữa" cho gọn gàng. Các lệnh này sẽ đặt nhóm chính thành 20, sau đó thêm thành viên "phụ" trong nhóm andrew cũ:

sudo dscl . create /Users/andrew PrimaryGroupID 20
sudo dseditgroup -o edit -a andrew -t user andrew

(Lưu ý: sử dụng dscl để thêm thành viên nhóm thứ cấp không hoàn toàn đúng - thay vào đó hãy sử dụng nhóm dsedit.)


Tuyệt vời !!! Điều này đã khắc phục vấn đề. Bạn cần khởi động lại (hoặc đăng xuất / đăng nhập từ tài khoản của bạn) hoặc idsẽ hiển thị điều đó egid=501cho đến khi bạn làm được. Cảm ơn!!!
vẽ

Nếu bạn giống tôi, thì bạn sẽ cần điều này : sudo dscl . delete /users/andrew.
orome

@raxacoricofallapatorius: xóa toàn bộ hồ sơ người dùng - có lẽ bạn không muốn làm điều đó.
Gordon Davisson

@GordonDavisson: Ban đầu, nếu quên, để thay thế tên người dùng của bạn cho andrew(như tôi đã làm!) - đó chính xác là những gì bạn muốn.
orome

1

Tôi sợ rằng không có câu trả lời dễ dàng về điều đó:

  • Khi truy cập tệp không quan trọng là gid của bạn staffhay bạn chỉ là thành viên của nhóm này
  • Khi tạo tệp có thể có vấn đề vì các tệp mới thuộc về bạn nhưng lấy nhóm từ thư mục mà chúng được tạo. Nhưng vì tệp này thuộc sở hữu của bạn trong trường hợp này nên bạn vẫn có thể truy cập tệp đó

Đối với hầu hết các mục đích thực tế thuộc về nhóm có lẽ là đủ (đặc biệt là khi vấn đề của bạn dường như được giải quyết hiện tại).


1
Cảm ơn. Làm thế nào tôi sẽ sử dụng dsclđể thay đổi gid?
vẽ

2
Điều này đúng trên một số unixes, nhưng không phải OS X; trên các tệp OS X kế thừa việc gán nhóm của chúng từ thư mục mẹ, không dựa trên nhóm chính của người dùng.
Gordon Davisson
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.