Làm cách nào để tìm ID người dùng và nhóm của tôi trong Mac OS X?


59

Đang cố gắng chạy compand này trong terminal:

sudo chown -R yourid:yourgroup local

Tuy nhiên, tôi không biết ID của tôi và nhóm của tôi là gì, hoặc tìm chúng ở đâu. Có ý kiến ​​gì không?

Câu trả lời:


61

Trên OS X, nhóm chính của bạn luôn luôn stafftrừ khi bạn hoặc người quản lý thư mục người dùng của bạn thay đổi nó.

Một là những gì nhóm chính ? Nhóm chính của người dùng theo mặc định là chủ sở hữu của tất cả các tệp được tạo bởi người dùng đó.


Đối với mục đích chmodtrên máy tính của bạn, bạn có thể sử dụng ID người dùng số của mình (ví dụ 501) hoặc tên tài khoản của bạn (ví dụ danielbeck). Cái sau khác với tên người dùng bạn thường thấy trong UI (ví dụ: Daniel Beck ).

Bạn có thể xác định tên tài khoản của mình bằng bất kỳ cách nào sau đây:

  • Đó là tên của thư mục nhà của bạn (trừ khi bạn tùy chỉnh nó) trong tiêu đề hoặc thanh bên

  • Chạy whoamitrong Terminal - vì vậy một chown -R $(whoami):staffđủ nên. Bạn cũng có thể có được nhóm chính của bạn với groups $(whoami) | cut -d' ' -f1.

  • Mở Tùy chọn hệ thống »Người dùng & Nhóm , mở khóa khung nếu cần, nhấp chuột phải vào tên người dùng của bạn (mục nhập danh sách duy nhất trong phần Người dùng hiện tại ) và chọn Tùy chọn nâng cao . Đó là tên tài khoản trường trong cửa sổ hộp thoại mới mở. Hộp thoại này cũng cho bạn thấy nhóm chính của bạn.

  • Chạy idtrong Terminal để có đầu ra dài dòng hơn. Điều này sẽ bao gồm ID người dùng số của bạn. Nó cũng sẽ liệt kê tất cả các nhóm bạn là thành viên, không chỉ nhóm chính của bạn. Nhóm đầu tiên là nhóm chính.


3
Thay vì sử dụng whoami, bạn có thể sử dụng idtrong một oneliner tương thích với vỏ posix và csh. chown -R `id -u`:`id -g` FOLDER
fd0

Nếu bạn sử dụng xác thực LDAP, tên người dùng của bạn sẽ không nhất thiết phải như vậy staff. Không phải trên Mac OS X làm việc của tôi.
Sridhar Sarnobat

1
@ Sridhar-Sarnobat Tôi giải quyết điều này trong nửa sau của câu đầu tiên trong câu trả lời của tôi.
Daniel Beck

42

Sử dụng idlệnh từ thiết bị đầu cuối. Nó sẽ hiển thị uid của bạn và các nhóm bạn thuộc về. Ví dụ: đây là đầu ra của tôi hiển thị id người dùng của tôi (534), id nhóm (20) và các nhóm tôi thuộc về (cũng 20).

uid=534(galuga) gid=20(staff) groups=20(staff)

15

Điều này sẽ hiển thị userid của bạn.

$ id -u
502

Điều này sẽ hiển thị tên nhóm của bạn. Tên nhóm nằm trong ngoặc đơn.

$ id
uid=502(whoami) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)

4

trong Terminal, đi đến ~/Documentsvà chạy ls -la. Tên người dùng và nhóm của bạn sẽ được liệt kê bên cạnh mỗi tệp / thư mục.

Nó sẽ giống như thế này:

drwxr-xr-x  2 username usergroup  4096 Oct 17  2012 Templates

siêu dễ dàng và đơn giản, cảm ơn vì tiền boa.
teradyl

3

Sẽ chỉ nhận xét nếu tôi có thể. Tôi không có đủ nghiệp lực trên trang web này.

Tôi không biết tại sao ai đó đánh giá thấp @callaginn, khi anh ta đưa ra một điểm hợp lệ.

Các phương thức sau là hợp lệ (và có lẽ là các tùy chọn tốt nhất cho shell script):

id -u  # returns UID

id -un # returns username

id -g  # returns primary (a.k.a. effictive) GID

id -gn # returns primary Group Name

Xem man idđể có thêm lựa chọn.

Để trả lời câu hỏi cụ thể này nếu tôi đang viết một tập lệnh sẽ hoạt động trong bất kỳ môi trường nào, tôi sẽ không cho rằng nhóm mặc định staffđang được sử dụng và thay vào đó tôi sẽ làm như sau nếu tôi đang viết một tập lệnh có thể chạy cho bất kỳ người dùng nào (có hay không sửa đổi hệ thống của họ):

chown "$(id -un):$(id -gn)" some_file

Luôn luôn tốt hơn để trở thành nền tảng bất khả tri bất cứ khi nào có thể (nếu nó không quá nhiều sự đánh đổi thời gian), vì bạn sẽ phải chịu ít nợ kỹ thuật hơn sau này.

Hãy lưu ý rằng chown's -Rcờ nên được sử dụng với sự tự tin tối đa. Bạn thực sự có thể làm rối hệ thống của mình (Mặc dù đáng chú ý là Apple đã làm cho nó khó thực hiện kể từ khi họ triển khai System Integrity Protection).

Ví dụ, hãy xem xét, nếu bạn chown -R 755 /varthay vì chown -R 755 /var/wwwroot với System Integrity Protectionngười khuyết tật, tôi tin rằng bạn sẽ tham gia. Tôi không thể nói cho bạn biết cái gì sẽ phá vỡ trước, nhưng nó sẽ phá vỡ đầu tiên trên hệ thống Darwin, nhưng xin hãy nói rằng nó sẽ không đẹp.

Hy vọng, ai đó tìm thấy điều này hữu ích.


2

Một phương pháp thậm chí ngắn hơn để tìm nhóm chính:

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