Bir UNIX kullanıcısının üyesi olduğu grupları nasıl listelerim?


79

Birlikte pts m groupnamebir gruptaki kullanıcıları listeleyebilirim. Tersini nasıl yapabilirim - yani, kullanıcının üye olduğu bütün grupları listeler?

(Üye olduğu bir kullanıcıyı tanıdığım bir grubun adını bulmak için buna ihtiyacım var, ancak grup adını bilmiyorum ...)

Açıklama:
Bu soru sistem yöneticisi olmadığımdan ve kök izinlerim olmadığından (bundan çok uzak) karmaşık. Bunun yerine, sistemin küçük bir bölümünü yöneten bir grup "moderatör" ün bir parçasıyım - spesifik olarak, üniversitemin merkezi BT sistemindeki öğrenci birliğinin fizik dalı.

Şubemiz içerisinde, sorumlu kişiler için bir sürü farklı erişim grubumuz var. Bu durumda, bir şeyden sorumlu olan iki kişiden biri (ne olduğu önemli değil) değiştirildi ve yerine geçen hangi erişim haklarını vermem gerektiğini bulmak için diğer kullanıcıyı incelemek istiyordum.

Ben şimdi acil sorunu çözebildim (yeni kişi bir klasöre erişemiyor), kimin erişebileceğini görmek için klasörü inceleyerek grubu listeden seçerek çözebildim. Ancak, bu kullanıcının bilmemem gereken daha fazla ayrıcalık olabilir, bu yüzden soru çok keskin olmasa da benim için hala geçerli.

Yanıtlar:


105

groupsKomutu da kullanabilirsiniz :

[root @ ftp ~] # root grupları
root: root bin daemon sys adm disk tekerleği

Eğer her şey yolunda giderse de eskidir grep:

[root @ ftp ~] # grep kökü / etc / group
Kök: x: 0: root
Bin: x: 1: Kök, bin, cin
cin: x: 2: Kök, bin, cin
sys: x: 3: Kök, bin, adm
adm x: 4: Kök, adm, cini
Disk: x: 6: Kök
Tekerlek: x: 10: Kök, yönetici

1
grep ^root: /etc/groupdaha iyi olabilirdi.
Dennis Williamson,

hayır sadece bir grubun kökünün listelendiği bir grup değildir, belki biraz awk ile daha açık bir üyesidir :) grep root / etc / group | awk -F: '{print $ 1}'
matthias krull

3
/ Etc / group grubunun incelenmesi kulağa hoş geliyor, ancak sisteminiz merkezi bir dizin kullanıyorsa (NIS, LDAP, ActiveDirectory,?), Burada grupların tam bir listesini bulamazsınız. Bu dosyada sadece yerel grup tanımları olurdu.
Slartibartfast

Komut groups kczyalnızca bana veriyor usr, ancak bu kullanıcının bir gruba üye olduğunu biliyorum fkm. Ne eksik?
Tomas Aschan

Emin değilim, /etc/group@ Tom'larınızı yapıştırın.
John T

28
$ id [username]

" $: Command not found"
Tomas Aschan

8
$Komut istemini temsil eder. İle yazmaya başla id.
Coneslayer

Hala bana pek vermez:uid=[five digits](kcz) gid=30(usr)
Tomas Aschan

uid = gid = groups = gösteriyor ki, aldığım üçüncü şey bir kullanıcının ait olduğu grupların listesi.
MKJ

6

Buldum - daha sonra, ama yaptım! =)

Tıpkı

$>pts m [group name]

bir gruptaki tüm üyeleri listeler,

$>pts m [user name]

Kullanıcının üyesi olduğu tüm grupları listeler. Çok basitti: P


3
pts standart bir komut değil.
user2284570

1
@ user2284570: Belki de değil. Ancak, soruda açıkça ifade edildi (aslında ilk şey, aslında ve sözdizimi vurgulaması ile) pts.
Tomas Aschan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.