Linux Terminalinde Oynanacak 10 Eğlenceli Oyun
Web ajansı » Dijital haberler » Linux'ta Kullanıcılar Nasıl Listelenir

Linux'ta Kullanıcılar Nasıl Listelenir

Linux çok kullanıcılı bir işletim sistemidir, bu nedenle çok sayıda kullanıcı hesabı oluşturmak kolaydır. Zamanla, gerekli hesapların izini kaybetmek kolaydır. Kullanıcı hesaplarının listesi, onları yönetmenize yardımcı olur.

Kullanıcı hesapları

Teknolojik gelişmeler genellikle kendi yeni sorunlarını da beraberinde getirir. Bilgisayarlar birden fazla kullanıcıyı destekleyebildiği anda, herkesin çalışmasını diğer herkesinkinden ayırma ve kapsama ihtiyacı ortaya çıktı. Bu, kullanıcı hesapları kavramına yol açtı. Her kullanıcının adlandırılmış bir kullanıcı adı ve şifresi vardır. Bunlar, hesaplarına giriş yapmalarına izin veren kimlik bilgileridir. Dosyaları her kullanıcı için özel bir alanda tutulur.

Meşgul bir sistemde, hangi hesapları oluşturduğunuzu ve hangilerine artık ihtiyaç duymadığınızı unutmak kolaydır. Güvenlik açısından, artık kurmanız gerekmeyen kullanıcı hesaplarını bilgisayarınızda tutmanız ve erişilebilir durumda tutmanız önerilmez. Bu kullanıcıları silmelisiniz.

Bilgisayarınızı kullanan başka kimseleriniz olmasa bile, sadece nasıl yapılacağını öğrenmek veya yönetim süreçlerini öğrenmek ve uygulamak için hesaplar oluşturmuş olabilirsiniz.

İlk adım, bilgisayarınızda yapılandırılmış kullanıcı hesaplarını listelemektir. Bu, onları gözden geçirmenize ve nelerin kaldırılabileceğine dair bir karar vermenize olanak tanır. Kullanıcıları listelemenin birkaç yöntemi vardır. Hangi dağıtımı kullanırsanız kullanın, bu teknikler herhangi bir uygulama veya yardımcı program yüklemenize gerek kalmadan sizin için çalışmalıdır.

Kullanıcıları cat komutuyla listeleyin

"/etc/passwd" dosyasında her kullanıcıyla ilgili bilgilerle birlikte yapılandırılmış kullanıcıların bir listesi tutulur. Bu, normal kullanıcıların terminal penceresinde listeleyebileceği bir metin dosyasıdır. kullanmana gerek yok sudo “/etc/passwd” dosyasına bakmak için.

kullanabiliriz cat "/etc/passwd" dosyasının içeriğini terminal penceresine gönderme komutu. Bu, dosyanın tüm içeriğini listeler. Bu, kişilere değil, süreçlere ve sisteme ait kullanıcı hesaplarının girişlerini de göreceğiniz anlamına gelir.

cat / etc / passwd

/etc/passwd dosyasının içeriğini cat ile terminal penceresine gönderme

Her kullanıcı hesabı için bildirilen bir dizi yoğun bilgi vardır.

/etc/passwd dosyasının içeriği

"Dave" adlı kullanıcı hesabı bilgileri, iki nokta üst üste işaretiyle bu bilgileri içerir " : " onların arasında.

  • Dave: Kullanıcı hesabının adı. Genellikle hesabın sahibi olan kişinin adıdır.
  • X: Bir noktada, bu hesabın şifresini tuttu. Günümüzde şifreler “/etc/shadow” dosyasında saklanmaktadır. "X", parolanın bu dosyada olduğu anlamına gelir.
  • 1000: Bu hesabın kullanıcı kimliği. Tüm kullanıcı hesaplarının benzersiz bir sayısal tanımlayıcısı vardır. Normal kullanıcı hesapları genellikle 1000'den başlar ve her yeni hesap 1001, 1002 vb. gibi bir sonraki ücretsiz kimliği alır.
  • 1000: Kullanıcının ait olduğu varsayılan grubun grup kimliği. Normal koşullar altında, varsayılan grup, kullanıcı kimliğiyle aynı değere sahiptir.
  • davet,,,: Kullanıcı hakkında isteğe bağlı ek bilgiler topluluğu. Bu alan virgül içeren verileri içerir " , " onların arasında. Kullanıcının tam adı, ofis numarası ve telefon numarası gibi bilgileri içerebilirler. "Mary" kullanıcı hesabı girişi, onun tam adının Mary Quinn olduğunu gösterir.
  • /ev/dave: kullanıcının ana klasörünün yolu.
  • / bin / bash: Bu kullanıcı için varsayılan kabuk.

Bu komutun çıktısını aktarırsak wc yardımcı programı kullanın ve -l (satırlar) dosyadaki satırları sayabiliriz. Bu bize bu bilgisayarda yapılandırılan hesapların sayısını verecektir.

kedi /etc/passwd | wc -l

/etc/passwd dosyasındaki hesapların sayısı

Bu rakam, sistem hesaplarını ve uygulamalar tarafından oluşturulan kullanıcıları içerir. Bu bilgisayarda yapılandırılmış yaklaşık 400 normal kullanıcı var. Sonucunuzun çok daha az olması muhtemeldir.

Bu kadar çok hesapla, kullanımı daha uygun less "/etc/passwd" dosyasını görüntülemek için.

daha az / vb / şifre

/etc/passwd dosyasını daha az aç

kullanma less ayrıca belirli bir kullanıcı hesabını aramak istiyorsanız çıktıda arama yapmanızı sağlar.

/etc/passwd dosyasında mary hesabını bulun, eksi

awk komutu

kullanma awk komutu ile sadece kullanıcı adını görüntüleyebiliriz. Bu, çok sayıda kullanıcı hesabı için bir şeyler yapması gereken bir komut dosyası yazarken faydalı olabilir. Kullanıcı hesap adlarını listelemek ve bunları bir metin dosyasına yeniden yönlendirmek büyük bir zaman tasarrufu sağlayabilir. Tek yapmanız gereken komutun geri kalanını her satıra kopyalayıp yapıştırmak.

Awk'ye alan ayırıcı olarak iki nokta üst üste “:” kullanmasını ve ilk alanı yazdırmasını söyleyeceğiz. -F (alan ayırıcı) seçeneğini kullanacağız.

awk -F: '{print $1}' /etc/passwd

Yalnızca /etc/passwd içinden kullanıcı adlarını seçmek için bir awk komutu

Kullanıcı hesap adları, diğer hesap bilgileri olmadan terminal penceresine yazılır.

Terminal penceresinde görüntülenen kullanıcı hesabı adları

kesme komutu

kullanarak aynı şeyi başarabiliriz. cut sipariş edildi. kullanmak zorundayız -d (sınırlayıcı) ve yalnızca ilk alanı seçmesini isteyin. -f (alanlar).

kesici -d: -f1

Yalnızca /etc/passwd dosyasındaki kullanıcı adlarını görüntülemek için cut komutunu kullanma

Bu, sistem ve diğer insan dışı hesaplar dahil tüm kullanıcı hesaplarını listeler.

compgen komutu

Le compgen Komut ile kullanılabilir -u (kullanıcı) kullanıcı hesaplarını listelemek için. Çıkışı şu yoldan yönlendireceğiz column her satırda bir kullanıcı adı bulunan uzun bir liste yerine kullanıcı hesaplarını sütunlarda listelemek için.

compgen -u | kolon

/etc/passwd dosyasındaki kullanıcı hesap adlarını sütunlarda listelemek için compgen ve column komutlarını kullanma

Yine, listelenen ilk kullanıcı hesapları insanlara değil süreçlere aittir.

UID MIN ve UID MAX

Kullanıcı hesaplarına daha önce gördüğümüz sayısal bir kimlik verilir. Genellikle, normal insan kullanıcı hesapları 1000'den başlar ve sistem, insan olmayan kullanıcı hesapları 0'dan başlar. Kök hesap kimliği 0'dır.

Mümkün olan en düşük ve en yüksek kullanıcı kimliklerini doğrulayabilirsek, bu bilgileri bu iki değer arasında kalan kullanıcı hesaplarını seçmek için kullanabiliriz. Bu, yalnızca gerçek kişilerin sahip olduğu kullanıcı hesaplarını seçmemize izin verecektir.

Linux, adı verilen yapılandırma parametrelerini kullanarak bu iki değeri takip eder. UID_MIN et UID_MAX . Bunlar “/etc/login.defs” dosyasında bulunur. Bu değerleri kullanarak kolayca görebiliriz. grep.

kullanacağız -E (genişletilmiş normal ifade). Arama dizimiz, "/etc/login.defs" dosyasında "UID_MIN" veya "UID_MAX" ile başlayan satırları arar. şapka " ^” bir satırın başlangıcını temsil eder.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Bu bilgisayardaki kullanıcı kimlikleri aralığı 1 ila 000'dir.

İLİŞKİDE: Linux'ta normal ifadeler (regex) nasıl kullanılır?

getent komutu

Le getent Komut, sistem veritabanlarından bilgileri okur. Parametre olarak “passwd” kullanarak “/etc/passwd” dosyasındaki girdileri listelemesini söyleyebiliriz.

şifre almak

/etc/passwd dosyasını terminal penceresinde boşaltmak için getent kullanma

Bu bize kullanabileceğimiz aynı okumayı verir. cat. Ama nerede getent "anahtar" denilen değerleri kabul ederek parlar. Bir anahtar hangi bilgileri belirler getent hakkında raporlar. Tek bir kullanıcının girişini görmek istiyorsak, komut satırına kullanıcı hesap adını iletebiliriz.

şifreli Sarah

Kullanıcı hesabı adının büyük/küçük harf duyarlı olduğunu unutmayın.

Getent Passwd Sarah

getent ile tek bir kullanıcı hesabı bulma

Ayrıca görmek istediğimiz kullanıcı hesap kimliklerinin üst ve alt sınırlarını da geçebiliriz. Kesinlikle tüm normal kullanıcı hesaplarını görmek için değerlerini kullanabiliriz. UID_MIN et UID_MAX.

getent şifresi {1000..60000}

getent ile üst ve alt hesap kimlik bilgilerini kullanma

Yürütülmesi biraz zaman alır. Sonunda, komut istemine döndürüleceksiniz.

getent tarafından terminal penceresine gönderilen /etc/passwd dosyasının içeriği

Çalışma süresinin uzun olmasının nedeni, getent 60000'e kadar olan tüm kullanıcı hesabı değerleri için eşleşme bulmaya çalışır.

En yüksek kullanıcı hesabı kimliğinin ne olduğunu görelim. kullanacağız cut komutu, ancak bu sefer üçüncü alan olan kullanıcı kimliği alanını isteyeceğiz. Çıkışa öncülük edeceğiz sort ve kullan -g (genel sayısal sıralama).

kesim -d: -f3 /etc/passwd | sıralama -g

Cut çıktısını sort komutuna aktarma komutu

Bir insana ait kullanıcı hesabı için en yüksek kimlik bilgisi değeri 1401'dir.

Sıralanmış bir kullanıcı hesabı kimlikleri listesi

Kullanıcı kimliği 65534, "kişi" sistem konseptine atanmıştır.

getent şifresi {65534..65534}

Kimlik 65534 ile kişi sistem kullanıcısı

Yani biliyoruz ki kullanmak yerine UID_MAX 60000 değerini bu bilgisayarda 1500 gibi daha gerçekçi bir değer kullanabiliriz. Bu işleri güzelce hızlandıracaktır. Çıktıyı da yönlendireceğiz cut yalnızca kullanıcı hesaplarının adlarını çıkarmak için.

getentpasswd {1000..1500} | kes -d: -f1

getent çıktısı, kullanıcı hesap adlarını listelemek için kesime yönlendirilir

Kullanıcılar listelenir ve hemen komut istemine döneriz.

Çıktıyı kanalize etmek yerine cutçıkışı yönlendir wc ve satırları bir kez daha sayın. Bu bize "gerçek" kullanıcı hesaplarının sayısını verecektir.

getent şifresi {1000..1500} | wc -l

Getent ve wc ile normal kullanıcı hesaplarını sayın

Artık bu bilgisayarda kesinlikle insanlar tarafından kurulmuş ve sahip olunan 400 kullanıcı hesabı olduğunu görebiliyoruz.

Güç ve basitlik

Bir Linux bilgisayarda kullanıcı hesaplarını incelemeniz gerektiğinde bu tekniklerden biri kesinlikle ihtiyaçlarınızı karşılayacaktır. Bu komutlar tüm dağıtımlarda mevcut olmalıdır ve hiçbiri bunu gerektirmez. sudo erişim, böylece hepsi her kullanıcı tarafından kullanılabilir.

İLİŞKİDE: Linux'ta Sudo Erişimi Nasıl Kontrol Edilir

★ ★ ★ ★ ★