Linux’ta şifreler nerede ve nasıl saklanır?

0
Share

Belirli bir hesap için karşılık gelen parolaya sahip kullanıcı adı, bir kullanıcının bir Linux sistemine erişebilmesi için birincil gereksinimdir. Tüm kullanıcı hesaplarının şifresi bir dosyaya veya veri tabanına kaydedilir, böylece sisteme giriş denemesi sırasında bir kullanıcı doğrulanabilir. Her kullanıcı bu dosyayı sistemlerinde bulmak için yeterli beceriye ve uzmanlığa sahip değildir. Ancak, veritabanına veya tüm oturum açan kullanıcının şifrelerini tutan bir dosyaya erişim elde ederseniz, Linux sistemine kolayca erişebilirsiniz. Bir kullanıcı Linux’ta oturum açmak için bir kullanıcı adı ve parola girdiğinde, girilen parolayı ‘/ etc’ dizininin çeşitli dosyalarındaki bir girişe karşı kontrol eder.

/ Etc / passwd dosyaları, kullanıcı girişi için gerekli olan tüm önemli bilgileri saklar. Daha basit kelimelerle açıklamak için, / etc / passwd dosyası kullanıcının hesap ayrıntılarını saklar. Bu dosya, Linux sisteminizdeki tüm kullanıcıların tam listesini içeren düz bir metin dosyasıdır. Kullanıcı adı, şifre, UID (kullanıcı kimliği), GID (grup kimliği), kabuk ve ev dizini hakkında bilgilere sahiptir. Kullanıcı kimliklerini kullanıcı adıyla eşlemek için birçok komut satırı yardımcı programı kullanıldığı için bu dosya okuma izinlerine sahip olmalıdır. Ancak, yalnızca süper kullanıcı veya kök kullanıcı hesapları için sınırlı yazma erişim izinlerine sahip olmalıdır.

Bu makale, sistem kullanıcısının hesap parolalarını Linux dağıtımında nasıl ve nerede saklayabileceğinizi gösterecektir. Tüm gösterileri Ubuntu 20.04 sistemi üzerinde gerçekleştirdik. Bununla birlikte, / etc / passwd dosyasını herhangi bir Linux dağıtımında bulabilirsiniz.

Ön koşullar

Yönetici komutlarını çalıştırmak için kök ayrıcalıklarına sahip olmanız gerekir.

/ Etc / passwd Dosyası Hakkında Temel Anlayış

/ Etc / passwd dosyası, sisteminizin kullanıcı hesabı hakkındaki bilgileri içerir. Depolanan tüm alanlar, iki nokta üst üste “:” işaretinden ayrılır.
Aşağıdaki komutu çalıştırdığınızda, / etc / passwd dosyasının her bir dosya girişini göreceksiniz:cat / etc / passwd

Yukarıdaki komut, Linux sisteminizin tüm kullanıcılarını listeleyecektir.
Aşağıdaki format türü terminal ekranınızda görüntülenecektir:


/ Etc / passwd alanlarıyla ilgili ayrıntılar Biçim
Yukarıdaki görüntüden:

Kullanıcı adı: Birinci alan, kullanıcının adını temsil eder. Kullanıcı adı alanının uzunluğu 1-32 karakter arasında tanımlanmıştır. Bu, bir kullanıcı sisteme giriş yaptığında kullanılır. Yukarıdaki örnekte, ‘khuzdar’ kullanıcı adıdır.
Parola: Yukarıdaki örnekte, “x” karakteri parolanın / etc / shadow dosyasında şifrelenmiş biçimde saklandığını gösterir.
Kullanıcı Kimliği (UID): Kullanıcı Kimliği her kullanıcıya ayrı ayrı atanmalıdır. UID sıfır, kök kullanıcıya atanır ve 1-99 arası Kullanıcı Kimlikleri önceden tanımlanmış veya standart hesaplara atanır. 100-999 arasındaki diğer UID’ler, sistem yönetici hesaplarına veya gruplarına atanır. Yukarıdaki ekran görüntüsünde kullanıcı kimliği 1001’dir.
Grup Kimliği (GID):Sonraki alan, grup kimliğini temsil eder. GID, / etc / group dosyasında saklanır. Yukarıdaki örneğe göre, kullanıcı grup kimliği 1001’e aittir.
Kullanıcı Kimliği hakkında bilgiler: Aşağıdaki alan yorumlar içindir. Bu alana, belirtilen kullanıcı hakkında kullanıcının tam adı, telefon numarası vb. Gibi bazı ek bilgiler ekleyebilirsiniz. Ancak yukarıdaki örnekte kullanıcı tarafından hiçbir telefon numarası verilmez.
Giriş dizini: Bu alan, geçerli kullanıcıya atanan ana dizinin konumunu gösterir. Belirtilen dizin yoksa, “/” gösterecektir. Yukarıdaki görüntü, vurgulanan kullanıcının home / kbuzdar olan ana dizindeki konumunu gösterir.
Komut // kabuk:Bir kabuğun veya komutun varsayılan mutlak yolu / bin / bash şeklindedir. Bu kabuk olarak bilinir. Örneğin, nologin kabuğunu kullanan sysadmin. Sistem kullanıcı hesapları için yedek kabuk görevi görür. Kabuk / sbin / nologin yolunda bulunuyorsa ve kullanıcı doğrudan Linux sisteminde oturum açmak istiyorsa, / sbin / nologin kabuğu bağlantıyı kapatacak veya devre dışı bırakacaktır.

Kullanıcıyı / etc / passwd dosyasında ara

Grep komutunu kullanarak / etc / passwd dosyasıyla belirli bir kullanıcıyı arayabilirsiniz. Örneğin, / etc / passwd dosyasından ‘kbuzdar’ kullanıcı adını aşağıdaki sözdizimini kullanarak aramak istiyoruz, sonra belirli bir kullanıcıyı kolayca arayarak zamandan tasarruf edebiliriz:grep kullanıcı-adı / etc / passwd

Yukarıdaki sözdizimi aşağıdaki şekle dönüşecektir:grep kbuzdar / etc / passwd


Veyagrep -w ‘^ kbuzdar’ / etc / passwd

İzinleri / etc / passwd dosyasında görüntüle

Yukarıda bahsettiğimiz gibi, root dışında diğer tüm kullanıcılar / etc / passwd dosyası üzerindeki izni okuyabilmelidir ve sahibinin süper kullanıcı veya kök olması gerekir.
Dosyadaki okuma izinlerini kontrol etmek için aşağıdakileri yazın:ls -l / etc / passwd

Aşağıdaki çıktı örneği terminalde görüntülenecektir:

/ Etc / passwd dosyası okunuyor

Aşağıdaki bash betiğini kullanarak Linux sisteminizdeki / etc / passwd dosyasını okuyabilir veya terminalde döngü komutları varken aşağıda yazılanları doğrudan çalıştırabilirsiniz.
Bir metin dosyası oluşturun ve aşağıdaki kodu içine yapıştırın:

#! / bin / bash
vb den toplam # yedi alanlar / / $ f1, f2 …, $ f7 olarak depolanır passwd

ise IFS =: okumak -r f1 f2 f3 f4 f5 f6 f7
yapmak
 yankı “Kullanıcı $ f1 kullanım $ f7 kabuk ve dosyaları $ f6 dizininde saklar . “
yapıldı < / etc / passwd

While döngüsünü kullanarak, yedi alanın tümünü okuyacak ve ardından terminaldeki dosya içeriğini yinelemeli olarak görüntüleyecektir.
Yukarıdaki dosyayı ‘readfile.sh’ adıyla kaydedin.

Şimdi, aşağıdaki komutu kullanarak yukarıdaki dosyayı çalıştırın:bash readfile.sh

/ Etc / shadow dosyasını keşfedin

/ Etc / shadow dosyası, bu dosyada saklanan ve yalnızca kök kullanıcılar tarafından okunabilen tüm şifreli parolalarınızı içerir.
İçeriği görüntülemek için aşağıdaki komutu çalıştıralım:sudo kedi / etc / gölge

Tüm parolaları şifrelenmiş biçimde görebilirsiniz:

Sonuç

Yukarıdaki makaleden, Linux sisteminde / etc / passwd dosyasında saklanan tüm kullanıcı hesap detaylarını ve şifrelerini gördük. Bu dosyayı okuyabilirsiniz, ancak yalnızca kök kullanıcılar “yazma izinlerine” sahiptir. Ayrıca / etc / shadow dosyasında saklanan tüm şifreli parolaları da gördük. Ayrıca, kullanıcının grubu hakkında ayrıntılı bilgi almak için / etc / group dosyasını da inceleyebilirsiniz.

(Visited 2.137 times, 1 visits today)