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.
özet
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
Her kullanıcı hesabı için bildirilen bir dizi yoğun bilgi vardır.
"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
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
kullanma less
ayrıca belirli bir kullanıcı hesabını aramak istiyorsanız çıktıda arama yapmanızı sağlar.
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
Kullanıcı hesap adları, diğer hesap bilgileri olmadan terminal penceresine yazılır.
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
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
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
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
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}
Yürütülmesi biraz zaman alır. Sonunda, komut istemine döndürüleceksiniz.
Ç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
Bir insana ait kullanıcı hesabı için en yüksek kimlik bilgisi değeri 1401'dir.
Kullanıcı kimliği 65534, "kişi" sistem konseptine atanmıştır.
getent şifresi {65534..65534}
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
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
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