Belge

Linux Sistemindeki Tüm Gruplar Nasıl Listelenir

Bir Linux işletim sistemi ortamında kullanıcıları ve grupları yönetebilmek, Linux yönetimi ve güvenliği açısından önemli bir kilometre taşıdır. Linux altında, her kullanıcı hesabı otomatik olarak tek bir birincil grupla ilişkilendirilir. Bir Linux kullanıcısı iki veya daha fazla birincil grubun üyesi olamaz, yalnızca bir tanesine üye olabilir.

Ancak, ikincil gruplar söz konusu olduğunda, durum farklıdır. Bir Linux kullanıcı hesabı, birden fazla ikincil grupla ilişkilendirilebilir (en fazla 15).

Özetle, birincil grup her Linux kullanıcı hesabına işletim sistemi tarafından atanır ve kullanıcı tarafından oluşturulan dosyalara bağlanırken ikincil gruplar birden çok Linux kullanıcı hesabıyla ilişkilendirilebilir ve her zaman otomatik olarak atanmaz.

1. /etc/group Dosyasını Okumak

Varsayılan olarak, Linux’ta tanımlanan tüm gruplar /etc/group dosyasında listelenir. Bu dosyadaki girişler aşağıdaki biçimde temsil edilir:

group_name:password:GID:group_members

Tüm parola girişleri şifrelenmiştir ve GID , Grup Kimliği anlamına gelir .

/etc/group dosyasındaki girişler düz metindir ve içeriği basit bir cat komutuyla görüntülenebilir .

Bu nedenle /etc/group dosyasında depolanan tüm grupları aşağıdaki şekilde listeleyebiliriz:

lokal@pardus:~$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:lokal
floppy:x:25:lokal

Yukarıdaki komut, /etc/group dosyasında bulunan bilgileri listeler. İlk sütunda grup isimleri bulunur. Bunu parola, GID ve varsa grup üyeleri alanları takip eder.

Ya sadece group_name alanının çıktısını almak istersek? Bu amaca ulaşmak için , /etc/group dosya girişlerinden sadece group_name alanını çıkarmak için cut komutunu kullanacağız.

$ cut -d: -f1 /etc/group

-dcut komutuna, alan sınırlayıcıları kullanmasını söyler .

-f1cut komutuna /etc/group dosyası içindeki ilk alanın ( alan 1 ) içeriğini yazdırmasını söyler .

lokal@pardus:~$ cut -d: -f1 /etc/group
root
daemon
bin
sys
adm
tty
disk
lp
mail

2. getent Komutunu Kullanma

/etc/group dosyasındaki girdiler , getent komutuyla kolayca okunan veritabanları tarafından desteklenir .

Linux ‘ta getent komutunun sözdizimi aşağıdaki gibidir:

$ getent [option]... database key...

Bizim durumumuzda, Linux’taki tüm grupları listeleme uygulaması, aşağıda gösterildiği gibi basittir:

$ getent group
lokal@pardus:~$ getent group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:

Her satırdaki ilk giriş, grup adlarını temsil eder.

Linux’ta Belirli Bir Kullanıcının Tüm Gruplarını Listeleme

Artık Linux işletim sistemi ortamımızdaki tüm grupların varlığını rahatça tanımlayabilir ve denetleyebiliriz. Belirli bir Linux kullanıcısıyla ilişkili tüm grupları listelemek istersek ne olur?

Şu anda oturum açmış olan kullanıcı için tek yapmanız gereken aşağıdaki vermektir:

$ groups
lokal@pardus:~$ groups
lokal cdrom floppy sudo audio dip video plugdev netdev bluetooth libvirt libvirt-qemu

Sistemdeki diğer Linux kullanıcılarına atanan grupları denetlemek istiyorsanız, aşağıdaki komutu kullanın:

lokal@pardus:~$ groups root
root : root

Yazının orijinalini buradan okuyabilirsiniz.