15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
24.01.2025

Linux’ta Tüm Mevcut Kullanıcıları Görüntüleme: VPS Yöneticileri için Tam Rehber

Kullanıcı hesaplarını yönetmek, herhangi bir Linux sistem yöneticisinin en temel sorumluluklarından biridir. İster erişim izinlerini denetliyor, ister giriş sorunlarını gideriliyor, ister sunucunuzun güvenlik duruşunu sertleştiriyor olun, sisteminizde tam olarak hangi kullanıcıların bulunduğunu bilmek önemli bir beceridir. Bu kılavuz, ham sistem dosyalarını okumaktan güçlü komut satırı yardımcı programlarından yararlanmaya kadar Linux kullanıcılarını listelemek ve incelemek için her pratik yöntemi size gösterir.

AlexHost ile bir VPS Hosting ortamı çalıştırıyorsanız, bu teknikler doğrudan Ubuntu, Debian veya CentOS sunucunuza uygulanır ve altyapınıza kimlerin erişebileceği konusunda tam kontrol sağlamanıza yardımcı olur.

Sunucu Güvenliği için Linux Kullanıcılarını Görüntülemenin Neden Önemli Olduğu

Komutlara dalmadan önce, bu görevin neden bu kadar önemli olduğunu anlamaya değer. Herhangi bir Linux sunucusunda — özellikle WordPress, Laravel veya özel API’ler gibi web uygulamaları barındırıyorsanız — zaman içinde birden fazla kullanıcı hesabı birikir:

  • Sistem kullanıcıları yüklü hizmetler tarafından otomatik olarak oluşturulan (örneğin, www-data, mysql, nginx)
  • İdari kullanıcılar sudo veya root düzeyinde ayrıcalıklara sahip
  • Uygulama kullanıcıları belirli yazılım yığınlarına bağlı
  • Unutulan veya yetim hesaplar yazılım kaldırılması veya personel değişiklikleri sonrasında geride bırakılan

Bu hesapları düzenli olarak denetlemek şunları yapmanıza yardımcı olur:

  • Yetkisiz veya şüpheli hesapları algılama
  • En az ayrıcalık ilkesini uygulama
  • Güvenlik politikaları ve denetim gereksinimlerine uyum sağlama
  • Yanlış yapılandırılmış kabukları veya ana dizinleri tanımlama

AlexHost’un root erişimi, NVMe destekli depolama ve yerleşik DDoS koruması ile bu komutları çalıştırmak hızlı, güvenilir ve güvenlidir — yük altında üretim sistemlerinde bile.

/etc/passwd Dosyasını Anlama

Linux’taki tüm kullanıcı hesabı bilgileri /etc/passwd dosyasında depolanır. Bu, işletim sisteminin kimlik doğrulama ve kullanıcı yönetimi işlemleri sırasında okuduğu düz metin bir veritabanıdır. Dosyadaki her satır tek bir kullanıcı hesabını temsil eder ve bu yapılandırılmış biçimi izler:

username:password:UID:GID:comment:home_directory:shell

Her alan ne anlama geldiği aşağıda açıklanmıştır:

AlanAçıklama
usernameKullanıcının giriş adı
passwordTarihsel olarak burada depolanmıştır; şimdi x ile değiştirilmiştir (gerçek hash /etc/shadow içindedir)
UIDKullanıcı ID numarası (0 = root, 1–999 = sistem kullanıcıları, 1000+ = normal kullanıcılar)
GIDBirincil grup ID
commentİsteğe bağlı açıklama veya tam ad (GECOS alanı)
home_directoryKullanıcının ana klasörüne giden yol
shellKullanıcıya atanan varsayılan kabuk

Tipik bir giriş şöyle görünür:

alexadmin:x:1001:1001:Alex Admin,,,:/home/alexadmin:/bin/bash

Bu yapıyı anlamak aşağıdaki her yöntemi yorumlamayı çok daha kolay hale getirir.

Yöntem 1: /etc/passwd Dosyasını Doğrudan Okuyarak Tüm Kullanıcıları Görüntüleyin

En basit yaklaşım, /etc/passwd dosyasının tüm içeriğini terminalinize yazdırmaktır. Çıktıyı nasıl gezinmek istediğinize bağlı olarak iki ana seçeneğiniz vardır.

cat Kullanma (kısa çıktı veya boru için en iyisi)

cat /etc/passwd

Bu, tüm dosyayı standart çıktıya boşaltır. Tipik bir sunucuda, çoğu sistem hesabı olmak üzere düzinelerce giriş göreceksiniz.

less Kullanma (etkileşimli tarama için en iyisi)

less /etc/passwd

less çağrıştırıcısı dosyayı etkileşimli olarak kaydırmanıza izin verir. Çıkmak için q tuşuna, arama yapmak için / tuşuna ve gezinmek için ok tuşlarına basın.

Örnek Çıktı

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
alexadmin:x:1001:1001::/home/alexadmin:/bin/bash
deploy:x:1002:1002::/home/deploy:/bin/bash

Pro ipucu: Kabuğu olarak /usr/sbin/nologin veya /bin/false olan hesaplar etkileşimli olarak oturum açamazlar — bunlar sistem daemon’ları tarafından kullanılan hizmet hesaplarıdır.

Yöntem 2: Kullanıcı Veritabanını Sorgulamak için getent Kullanın

getent komutu (*get entries* anlamına gelir) /etc/nsswitch.conf içinde tanımlanan sistem veritabanlarından kayıtları alır. Bu, yalnızca yerel /etc/passwd dosyasından değil, LDAP veya NIS gibi harici dizinlerden de kullanıcı hesapları kaynaklandığında doğru şekilde çalıştığı için modern Linux ortamlarında tercih edilen yöntemdir.

getent passwd

Çıktı biçimi /etc/passwd ile aynıdır, ancak getent nerede depolandıklarından bağımsız olarak *tüm* kullanıcıları görmenizi sağlar. Standart bir AlexHost VPS’de, çıktı /etc/passwd ile eşleşecektir, ancak getent kullanmak taşınabilirlik ve bütünlük için en iyi uygulamadır.

Belirli Bir Kullanıcı İçin Filtre Uygulayın

getent passwd alexadmin

Bu, yalnızca alexadmin kullanıcısının kaydını döndürür — bir hesabın var olduğunu hızlı bir şekilde doğrulamak ve yapılandırmasını kontrol etmek için kullanışlıdır.

Yöntem 3: cut ile Yalnızca Kullanıcı Adlarını Çıkarın

Yalnızca bir temiz kullanıcı adları listesine ihtiyacınız olduğunda — UID’ler, ana dizinler veya kabuk bilgileri olmadan — getent ile cut komutunu birleştirerek ilk alanı izole edin.

getent passwd | cut -d: -f1

Nasıl çalışır:

  • getent passwd tam kullanıcı veritabanını çıktı verir
  • | cut -d: -f1 bu çıktıyı cut öğesine aktarır; bu, : (-d:) sınırlayıcısını kullanır ve yalnızca ilk alanı (-f1) — kullanıcı adını çıkarır

Örnek Çıktı

root
daemon
bin
sys
www-data
alexadmin
deploy
backup

Bu temiz liste, komut dosyası oluşturma, günlüğe kaydetme veya beklenmedik hesapları hızlı bir şekilde tarama için idealdir.

Yalnızca İnsan (Giriş) Kullanıcılarını Göster

Sistem hesaplarının genellikle UID’leri 1000’in altındadır. Yalnızca normal insan kullanıcılarını filtrelemek için awk ile bir UID kontrolü birleştirin:

awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd

Bu, özellikle paylaşılan barındırma ortamlarında veya birçok hizmet hesabına sahip sunucularda kullanışlıdır.

Yöntem 4: Özel, Seçmeli Çıktı İçin awk Kullanın

awk komutu, hangi alanları görüntüleyeceğiniz ve bunları nasıl biçimlendireceğiniz konusunda tam kontrol sağlayan güçlü bir metin işleme aracıdır. Bu, idari veya güvenlik incelemesi amaçları için kullanıcı hesaplarının hızlı bir genel görünümüne ihtiyacınız olduğunda paha biçilmezdir.

Kullanıcı Adlarını ve Ana Dizinleri Görüntüleyin

getent passwd | awk -F: '{print "Username: " $1 "t Home Directory: " $6}'

Örnek Çıktı

Username: root           Home Directory: /root
Username: www-data       Home Directory: /var/www
Username: alexadmin      Home Directory: /home/alexadmin
Username: deploy         Home Directory: /home/deploy

Kullanıcı Adlarını, UID’leri ve Kabukları Görüntüleyin

getent passwd | awk -F: '{print "User: " $1 "t UID: " $3 "t Shell: " $7}'

Yalnızca Geçerli Giriş Kabuğuna Sahip Kullanıcıları Göster

getent passwd | awk -F: '$7 == "/bin/bash" || $7 == "/bin/sh" {print $1, $6, $7}'

Bu komut, güvenlik denetimleri için özellikle kullanışlıdır — sunucunuzda etkileşimli bir kabuk oturumu açabilen her hesabı ortaya çıkarır.

Yöntem 5: Toplam Kullanıcı Sayısını Sayın

Sistemdeki tüm kullanıcı hesaplarının hızlı bir sayısına mı ihtiyacınız var?

getent passwd | wc -l

Yalnızca insan kullanıcılarını (UID ≥ 1000) saymak için:

awk -F: '$3 >= 1000' /etc/passwd | wc -l

Yöntem 6: Hangi Kullanıcıların Sudo Ayrıcalıklarına Sahip Olduğunu Kontrol Edin

Ayrıcalıkları kimin yükseltebileceğini bilmek güvenlik açısından kritiktir. Ayrıcalıklı hesapları tanımlamak için bu komutları kullanın:

sudo grup üyelerini kontrol edin

getent group sudo

wheel grubunu kontrol edin (CentOS/RHEL’de yaygın)

getent group wheel

Tüm sudoers’ı listeleyin (root gerektirir)

sudo cat /etc/sudoers

cPanel veya başka herhangi bir yönetilen kontrol paneli ortamı olan VPS’nizde, bazı kullanıcılar /etc/sudoers.d/ içindeki panel’e özgü yapılandırma dosyaları aracılığıyla sudo hakları verilmiş olabilir.

Yöntem 7: Şu Anda Oturum Açmış Kullanıcıları Görüntüleyin

Sunucunuza *şu anda* kim aktif olarak oturum açmış olduğunu görmek için who veya w komutunu kullanın:

who
w

w komutu, her kullanıcının şu anda ne çalıştırdığı, giriş saati ve

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın