Tüm Unix grup adlarını listelemek için bir komut var mı?

Tüm kullanıcı gruplarını listeleyen `/etc/group' dosyası olduğunu biliyorum.

Dünyada okunabilir /etc/group dosyasını ayrıştırmaya rağmen tüm kullanıcı grup adlarını listelemek için basit bir komut olup olmadığını bilmek istiyorum. Linux hesaplarının grup adlarını listeleyen bir yönetici web sayfası oluşturmak istiyorum.

Çözüm

Kendilerine atanmış kullanıcıları olan tüm yerel grupları listelemek için bu komutu kullanın:

cut -d: -f1 /etc/group | sort

Daha fazla bilgi için- > Unix grupları, Kes komutu, sıralama komutu

Yorumlar (4)

Eğer tüm grupların sistem tarafından bilinmesini istiyorsanız, /etc/group dosyasını ayrıştırmak yerine getent kullanmanızı tavsiye ederim. Ağa bağlı sistemlerde, gruplar sadece /etc/group dosyasından okunmayabilir, aynı zamanda LDAP veya Yellow Pages aracılığıyla da elde edilebilir, yani bilinen grupların listesi yerel grup dosyasından artı LDAP veya YP aracılığıyla alınan gruplardan gelir.

getent groupsize/etc/group` dosyasının kullandığı formatta all gruplarının bir listesini verecektir.

Eğer sadece grup isimlerini istiyorsanız, getent group | cut -d: -f1 işinizi görecektir (yukarıdaki ile aynı).

Yorumlar (3)

Linux, macOS ve Unix'te ait olduğunuz grupları görüntülemek için şunu kullanın:

id -Gn

Unix'te kullanımdan kaldırılmış olan `groups' yardımcı programına eşdeğerdir (Unix manual uyarınca).

macOS ve Unix'te, normal etkileşim için id -p komutu önerilir.

Parametrelerin açıklaması:

-G, --groups - tüm grup kimliklerini yazdırır

-n, --name - -ugG için sayı yerine bir ad yazdırın

-p - Çıktıyı insan tarafından okunabilir hale getirin.

Yorumlar (5)