Bagaimana cara menemukan ID pengguna dan grup saya di Mac OS X?

59

Mencoba menjalankan perintah ini di terminal:

sudo chown -R yourid:yourgroup local

Namun, saya tidak tahu apa ID saya dan grup saya, atau di mana menemukannya. Ada ide?

Starkers
sumber

Jawaban:

61

Pada OS X, grup utama Anda selalu staffkecuali Anda atau manajer direktori pengguna Anda mengubahnya.

Apa itu grup utama ? Grup utama pengguna secara default adalah pemilik semua file yang dibuat oleh pengguna itu.


Untuk keperluan chmoddi komputer Anda, Anda dapat menggunakan ID pengguna numerik Anda (mis. 501), atau nama akun Anda (mis danielbeck.). Yang terakhir berbeda dari nama pengguna yang biasanya Anda lihat di UI (mis. Daniel Beck ).

Anda dapat menentukan nama akun Anda menggunakan salah satu dari yang berikut:

  • Ini nama direktori home Anda (kecuali jika Anda mengubahnya) di title atau side bar Finder

  • Jalankan whoamidi Terminal - jadi chown -R $(whoami):staffsudah cukup. Anda juga bisa mendapatkan grup utama Anda groups $(whoami) | cut -d' ' -f1.

  • Buka Preferensi Sistem »Pengguna & Grup , buka kunci panel jika perlu, klik kanan nama pengguna Anda (entri daftar tunggal di bagian Pengguna Saat Ini ), dan pilih Opsi Lanjutan… . Ini adalah Nama Akun bidang di jendela dialog yang baru dibuka. Dialog ini juga menunjukkan kepada Anda grup utama Anda.

  • Jalankan iddi Terminal untuk keluaran yang lebih banyak. Ini akan termasuk ID pengguna numerik Anda. Itu juga akan mencantumkan semua grup tempat Anda menjadi anggota, bukan hanya grup utama Anda. Kelompok pertama adalah yang utama.

Daniel Beck
sumber
3
Alih-alih menggunakan whoami, Anda dapat menggunakan idoneliner yang kompatibel dengan cangkang posix dan csh. chown -R `id -u`:`id -g` FOLDER
fd0
Jika Anda menggunakan otentikasi LDAP, nama pengguna Anda tidak harus sama staff. Lagipula bukan pada pekerjaan saya Mac OS X.
Sridhar Sarnobat
1
@ Sridhar-Sarnobat Saya membahas ini di bagian kedua dari kalimat pertama jawaban saya.
Daniel Beck
42

Gunakan idperintah dari terminal. Ini akan menampilkan uid Anda dan grup milik Anda. Sebagai contoh, ini adalah output saya yang menunjukkan id pengguna saya (534), id grup (20) dan grup tempat saya (juga 20).

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

Ini akan menunjukkan userid Anda.

$ id -u
502

Ini akan menunjukkan nama grup Anda. Nama grup ada di dalam tanda kurung.

$ 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)
Gabriel Wu
sumber
4

di Terminal, buka ~/Documentsdan jalankan ls -la. Nama dan grup pengguna Anda akan dicantumkan di sebelah masing-masing file / direktori.

Seharusnya terlihat seperti ini:

drwxr-xr-x  2 username usergroup  4096 Oct 17  2012 Templates
miah
sumber
super mudah dan langsung, terima kasih atas tipnya.
teradyl
3

Hanya akan berkomentar jika saya bisa. Saya tidak memiliki cukup karma di situs ini.

Saya tidak tahu mengapa seseorang menurunkan @callaginn, karena ia memunculkan poin yang valid.

Metode berikut ini valid (dan mungkin opsi terbaik untuk skrip shell):

id -u  # returns UID

id -un # returns username

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

id -gn # returns primary Group Name

Lihat man idopsi lainnya.

Untuk menjawab pertanyaan khusus ini jika saya sedang menulis skrip yang akan berfungsi di lingkungan apa pun, saya tidak akan menganggap bahwa grup default staffsedang digunakan dan sebagai gantinya saya akan melakukan yang berikut jika saya menulis skrip yang dapat dijalankan untuk setiap pengguna (apakah mereka memodifikasi sistem mereka atau tidak):

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

Selalu lebih baik untuk menjadi platform agnostik bila memungkinkan (jika tidak terlalu banyak tradeoff waktu), karena Anda akan menanggung lebih sedikit utang teknis nantinya.

Harap dicatat bahwa chown's -Rbendera harus digunakan dengan sangat percaya diri. Anda benar-benar dapat mengacaukan sistem Anda (Meskipun perlu dicatat bahwa Apple membuatnya sulit untuk dilakukan sejak diterapkan System Integrity Protection).

Pertimbangkan, misalnya, jika Anda chown -R 755 /varbukan chown -R 755 /var/wwwsebagai root dengan System Integrity Protectioncacat saya percaya bahwa Anda akan di dalamnya. Saya tidak bisa memberi tahu Anda apa yang akan rusak lebih dulu, tetapi itu akan rusak lebih dulu pada sistem Darwin, tapi tolong kata saya itu tidak akan cantik.

Semoga seseorang menemukan ini bermanfaat.

Robert J
sumber
2

Metode yang lebih pendek untuk menemukan grup utama:

id -gn
Callaginn
sumber