Bolehkah saya memiliki daftar nama grup "Sistem", dan gid masing-masing?

15

Saya tahu ada nama grup seperti "Staf" dan "Admin", tetapi apakah hanya itu yang ada? Saya menduga bahwa pengguna root juga harus ditugaskan dalam grup. Menggunakan perintah itu dscacheutil -q usermemberitahu saya gid root - 0. Dan jika akun pengguna adalah admin, maka bukankah itu di kedua kelompok "Admin" dan "Staf"?

Dengan menjalankan perintah ls -la /Users, saya mendapatkan output berikut:

Nicholass-MacBook:~ Ee$ ls -la /Users
total 32
drwxr-xr-x  12 root     admin    408 Nov  3 15:11 .
drwxr-xr-x@ 35 root     wheel   1258 Oct 29 20:21 ..
-rw-r--r--@  1 root     admin  12292 Oct 27 09:02 .DS_Store
-rw-r--r--   1 root     wheel      0 Aug 25 16:58 .localized
drwxrwx---   5 root     admin    170 Nov  3 08:00 Deleted Users
drwxr-xr-x+ 21 Ee       staff    714 Nov  3 08:06 Ee
drwx------+ 84 root     admin   2856 Oct 26 06:49 Ee (Deleted)
drwxr-xr-x+ 11 EeJ      staff    374 Nov  3 15:07 EeJ
drwxr-xr-x+ 14 900      admin    476 Oct 24  2012 Ee******** (Deleted)
drwxr-xr-x   3 root     admin    102 Oct 27 06:50 Old Ee (frm Snow Leopard)
drwxr-xr-x+ 11 ParAcnt  staff    374 Nov  3 15:11 ParAcnt
drwxrwxrwt   6 root     wheel    204 Nov  1 18:18 Shared
Bata
sumber

Jawaban:

22

Perintah dscacheutil -q groupakan menampilkan semua grup dengan nama, nomor ID, dan daftar anggota. Berhati-hatilah, ketika saya mengatakan itu akan menampilkan semua kelompok, maksud saya semua kelompok, termasuk sistem bawaan yang tidak pernah dilihat manusia. Saya hanya mengatakan, jangan takut ada begitu banyak grup untuk sistem pengguna tunggal.

rootsebagai superuser berada dalam suatu kelompok dengan sendirinya dan juga secara implisit menjadi anggota dari setiap kelompok lain. Akun pengguna apa pun dapat menjadi anggota beberapa grup. Di sistem saya satu-satunya anggota staffadalah root; admin semuanya ada di admingrup. wheeladalah nama grup lain yang sering Anda lihat untuk beberapa file sistem; itu adalah nama grup yang populer di sistem Linux untuk ditugaskan ke file sehingga admin dapat mengeditnya tanpa menggunakan kata sandi mereka sudo.

Juga harus dicatat bahwa Mac OS X mendukung daftar kontrol akses yang memberikan lebih banyak kontrol granular atas izin file daripada izin Unix tradisional; IIRC yang ada +di daftar izin file menunjukkan ada izin yang diperluas terkait dengan file tersebut.

Abu
sumber
13

Metode alternatif untuk daftar groupsdan gid:

Daftar diurutkan berdasarkan nama grup:

dscl . list /Groups PrimaryGroupID

Daftar diurutkan berdasarkan grup gid:

dscl . list /Groups PrimaryGroupID | tr -s ' ' | sort -n -t ' ' -k2,2

Daftar grup dengan anggota:

dscl . list /Groups GroupMembership

Catatan: tidak dscacheutilatau dscldaftar anggota kelompok staffselain root. Gunakan dsmemberutiluntuk mengonfirmasi bahwa seorang anggota adalah anggota grup staff.

Contoh pengguna dengan uid 501:

dsmemberutil checkmembership -u 501 -g 20
fd0
sumber
1
Wow, kompilasi yang bagus dari perintah yang berguna!
Yongwei Wu