Son Güncelleme Tarihi
Linux PC'nize kimin erişimi olduğunu (ve dosyalarınızı kontrol ettiğini) bilmek önemlidir, ancak öğrenmek için Linux'taki kullanıcıları kolayca listeleyebilirsiniz. İşte nasıl.
bu Linux işletim sistemi kullanıcı oluşturmak ve silmek ve hangilerinin giriş yaptığını kontrol etmek için komutlar sunar. Ancak sistemde oturum açmış veya girmemiş kullanıcıları listeleme komutu yoktur.
Yine de, bunu kaldırmanın birkaç yolu var. Linux'ta kullanıcıları nasıl listeleyeceğinizi öğrenmek istiyorsanız, aşağıdaki adımlarımızı izleyin.
Neden Linux Kullanıcı Listenizi Kontrol Etmelisiniz?
Linux'ta kullanıcıları listelemek isteyebileceğiniz birkaç neden vardır. Biri için kullanılmayan hesapları bulmak ve silmek açısından iyi bir uygulamadır. Güvenlik açısından, kullanıcı hesapları oluşturan davetsiz misafirlere sahip olmadığınızdan emin olmanın da iyi bir yoludur.
Bu, muhtemelen ayda en az bir kez yapmanız gereken bir yönetim görevidir. Kurumsal bir Linux sunucusu çalıştırıyorsanız, bunu daha sık yapmak isteyebilirsiniz.
/etc/passwd'de Listelenen Kullanıcılar
Linux sunucunuzun tüm kullanıcı hesaplarının dosyada girişleri var /etc/passwd. Her satır bir kullanıcıyı temsil eder ve iki nokta üst üste ile ayrılmış yedi alana sahiptir. Alanlar, kullanıcı hakkında bilgi sağlar.
- Kullanıcı adı.
- Şifreli şifre (x şifrenin gerçekte olduğunu gösterir /etc/shadow)
- Kullanıcı kimlik numarası (UID).
- Kullanıcının grup kimlik numarası (GID).
- Listeleniyorsa, kullanıcının tam adı.
- Kullanıcı ana dizini.
- Giriş kabuğu
Bu bizi Linux'taki tüm kullanıcıları listelemenin bir yoluna getiriyor. kullanabilirsiniz az Dosyanın tamamını, her seferinde bir ekran görmek için komut.
daha az /etc/passwd.
Linux sisteminde belirli bir kullanıcının olup olmadığını kontrol etmek istiyorsanız, bu komut için iyi bir kullanımdır. grep:
daha az şifre | grep jeff.
Herhangi bir çıktı almazsanız, o kullanıcı Linux sunucusunda mevcut değildir.
Yine de, bu çok fazla bilgi. Örneğin, herhangi birini kullanarak, yalnızca kullanıcı adına kadar kısaltabilirsiniz. awk veya kesmek komutlar:
awk -F: '{print $1}' /etc/passwd. cut -d: -f1 /etc/passwd.
Bu, anlaşılması çok daha kolay olma eğilimindedir, ancak yine de, insan kullanıcılarınızla karıştırılmış tüm sistem tabanlı kullanıcı hesaplarını görüntülemenize izin verir.
Kullanıcıları Listelemek için getent Nasıl Kullanılır
Başka bir komut, getent, çok daha kullanışlıdır. gelen girişleri görüntüler yapılandırılmış herhangi bir veritabanı sunucunuzda /etc/nsswitch.conf dosya. Bunlardan biri şifre veri tabanı. Kullanmak getent tüm Linux kullanıcılarının bir listesini görüntülemek için şu şekilde çalışır:
şifre almak
Çıktı, kullanmakla tamamen aynı görünüyor az komutu, ancak Linux sistemindeki tüm LDAP kullanıcılarını listeler. Bir kez daha, bizim awk ve kesmek komutlar yalnızca ilk alanı, kullanıcı adlarını görmenize yardımcı olabilir.
Linux sisteminde belirli bir kullanıcının olup olmadığını kontrol etmek istiyorsanız, getent kolaylaştırır:
getent passwd jeff.
Yine, bu komuttan hiçbir çıktı size kullanıcının mevcut olmadığını söylemez.
için başka bir müthiş kullanım getent sunucuda kaç tane kullanıcı hesabı bulunduğunu bulmaktır. Bu borulama ile yapılır getentaracılığıyla çıktı wc komut, şöyle:
alma şifresi | wc -l.
Gördüğünüz gibi, Linux sistemimde toplam 48 hesap var. Oldukça ilginç, çünkü onu kullanan tek kişi benim, ancak bu sadece Linux'ta kaç tane sistem hesabı oluşturulduğunu gösteriyor.
Normal Kullanıcılardan Sistem Kullanıcılarını Ayıklamak
Linux'un gözünde, bir sistem kullanıcısı ile bir insan arasında hiçbir fark yoktur. İşletim sistemini her kurduğunuzda, bir dizi sistem kullanıcısı oluşturur. Diğer sistem kullanıcıları, web veya posta hizmeti yazılımı gibi çeşitli paketler için oluşturulur.
Peki, Linux sistemindeki normal, insan kullanıcıları nasıl listeleyebilirsiniz? Buradaki anahtar, normal bir kullanıcı oluşturduğunuzda, UID'sinin belirli bir sayı aralığında atandığını anlamaktır. kontrol ederek /etc/login.defs dosyasında, normal kullanıcı hesapları için mevcut olan UID değerlerinin aralığını belirleyebiliriz.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs.
Çıktıya dayanarak, normal kullanıcıların 1000 ile 60000 arasında bir UID'ye sahip olması gerektiğini biliyorum. Bundan, bir inşa edebilirim getent yalnızca normal kullanıcıları görüntüleyecek sorgu.
getent şifresi {1000..60000}
Aklınızda bulunsun getent çıktısını gösterdikten sonra bile askıda kalacak gibi görünecektir. basabilirsin Ctrl-C işlemi sonlandırın veya bitene kadar bekleyin. Aramayı tamamlamak genellikle 15 saniyeden az sürer. şifre veri tabanı.
Bu komutun daha genel bir versiyonu, farklı UID_MIN ve UID_MAX çeşitli sunucuların kullanabileceği değerler.
eval getent passwd {$(awk '/^UID_MIN/ {print 2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print 2}' /etc/login.defs)}
Bu komutta, Linux'un aynı anda birden çok şey yapabilme yeteneğinden yararlanıyoruz. bu awk komutlar almak UID_MIN ve UID_MAX değerler, ardından bunları getent emretmek.
Şimdi, tek istediğimiz kullanıcı adları diyelim. Bir kez daha, çıktımızı kesmek komut, şöyle:
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | kesme -d: -f1.
Bu komutun tamamlanması 10 ila 15 saniye sürebilir, bu yüzden sabırlı olun.
Linux Kullanıcılarınızı Etkili Bir Şekilde Yönetme
Linux sisteminizde hangi kullanıcı hesaplarının bulunduğunu takip etmek önemlidir. Bir çalışanın ayrıldığını bildiğinizde, kullanıcı hesabını silme konusunda hızlı olun. Linux kullanıcılarınızı periyodik olarak listelemek, takılı kalmış olabilecek hesapları yakalamanıza yardımcı olacaktır.
Aynı zamanda, üzerinde durduğunuzdan emin olun. şifre güvenlik politikaları ve kullanıcılarınızı şifrelerini değiştir düzenli olarak.