Bagaimana cara membuat daftar grup yang menjadi anggota UNIX?

79

Dengan pts m groupnamesaya bisa daftar pengguna dalam grup. Bagaimana saya bisa melakukan yang sebaliknya - yaitu, daftarkan semua grup yang menjadi anggota pengguna?

(Saya perlu ini untuk menemukan nama grup yang saya kenal pengguna yang menjadi anggota, tetapi saya tidak tahu nama grup ...)

Klarifikasi:
Pertanyaan ini rumit oleh fakta bahwa saya bukan administrator sistem, dan bahwa saya tidak memiliki izin root (jauh dari itu). Alih-alih, saya adalah bagian dari kelompok "moderator" yang mengelola sebagian kecil dari sistem - lebih spesifik, cabang fisika dari serikat mahasiswa di sistem TI pusat universitas saya.

Dalam cabang kami, kami memiliki banyak grup akses yang berbeda untuk orang-orang yang bertanggung jawab atas berbagai hal. Dalam hal ini, satu dari dua orang yang bertanggung jawab atas sesuatu (tidak masalah apa) telah diganti, dan saya ingin memeriksa pengguna lain untuk mengetahui hak akses apa yang harus saya berikan pengganti.

Saya sekarang telah dapat menyelesaikan masalah langsung (orang baru tidak dapat mengakses folder) dengan memeriksa folder untuk melihat siapa yang memiliki akses, dan di sana mengambil grup dari daftar. Namun, mungkin ada lebih banyak keistimewaan yang harus dimiliki oleh pengguna ini yang tidak saya ketahui, jadi pertanyaannya masih relevan bagi saya, meskipun tidak terlalu akut.

Tomas Aschan
sumber

Jawaban:

105

Anda juga dapat menggunakan groupsperintah:

[root @ ftp ~] # grup root
root: root bin daemon sys adm wheel disk

jika semuanya gagal juga ada yang lama grep:

[root @ ftp ~] # grep root / etc / group
root: x: 0: root
bin: x: 1: root, bin, daemon
daemon: x: 2: root, bin, daemon
sys: x: 3: root, bin, adm
adm: x: 4: root, adm, daemon
disk: x: 6: root
roda: x: 10: root, admin
John T
sumber
1
grep ^root: /etc/groupmungkin lebih baik.
Dennis Williamson
tidak bukan karena hanya mencantumkan salah satu grup root adalah anggota mungkin dengan sedikit awk yang lebih jelas :) grep root / etc / group | awk -F: '{print $ 1}'
matthias krull
3
Memeriksa / etc / group terdengar bagus, tetapi jika sistem Anda menggunakan direktori terpusat (NIS, LDAP, ActiveDirectory,?), Anda tidak akan menemukan daftar lengkap grup di sana. Hanya definisi grup lokal yang ada di file itu.
Slartibartfast
Perintah groups kczhanya memberi saya usr, meskipun saya tahu bahwa pengguna ini adalah anggota grup yang disebut fkm. Apa yang hilang?
Tomas Aschan
Tidak yakin, menempelkan /etc/group@Tomas Anda .
John T
28
$ id [username]
pemain coneslayer
sumber
" $: Command not found".
Tomas Aschan
8
The $mewakili command prompt. Mulai mengetik dengan id.
pemain coneslayer 3-10
Masih tidak memberi saya banyak:uid=[five digits](kcz) gid=30(usr)
Tomas Aschan
itu menunjukkan uid = gid = groups = jadi hal ketiga yang saya dapatkan adalah daftar grup milik pengguna.
MKJ
6

Menemukannya - jauh kemudian, tetapi saya berhasil! =)

Sama seperti

$>pts m [group name]

daftar semua anggota dalam grup,

$>pts m [user name]

daftar semua grup yang menjadi anggota. Itu terlalu sederhana: P

Tomas Aschan
sumber
3
Poin bukan perintah standar.
user2284570
1
@ user2284570: Mungkin tidak. Tapi itu jelas dinyatakan dalam pertanyaan (hal pertama, pada kenyataannya, dan dengan penyorotan sintaks) bahwa ptspertanyaan ini menyangkut.
Tomas Aschan