Bu eğitimde, PostgreSQL sunucusuna sahip kullanıcılar için şifrelerin nasıl sıfırlanacağını keşfedeceğiz. Bu durumda veritabanı kullanıcılarının, veritabanı motoruna erişimi olan kullanıcıları ifade ettiğini hatırlamakta fayda var. Bu nedenle, herhangi bir uygulama için kullanıcı verilerini içermez.
Yöntem 1: PSQL Yardımcı Programını Kullanma
PostgreSQL'de bir kullanıcı parolasını sıfırlamanın en yaygın yolu, PSQL yardımcı programını kullanarak süper kullanıcı (Postgres) olarak oturum açmaktır.
Yeni bir terminal oturumu başlatın ve süper kullanıcı olarak PostgreSQL veritabanına erişmek için aşağıdaki komutu çalıştırın:
$ psql -İÇİNDE postgres
Verilen komut, sunucu kurulumu sırasında tanımlanan süper kullanıcı parolasını ister.
PostgreSQL komut satırı arabiriminde oturum açtıktan sonra, belirli bir kullanıcı adının parolasını sıfırlamak için ALTER USER komutunu kullanabilirsiniz.
Komut sözdizimi aşağıdaki gibidir:
KULLANICI KULLANICI ADINI ŞİFRE İLE DEĞİŞTİRİN 'Yeni Şifre' ;Örneğin, 'linuxhint' adlı kullanıcı adının parolasını sıfırlamak istediğimizi varsayalım. Sorguyu şu şekilde çalıştırabiliriz:
ŞİFRE İLE ALTER KULLANICI linuxhint 'şifre' ;
Özellikle parola özel karakterler içeriyorsa, parolayı tek tırnak içine almalısınız.
Komut başarıyla yürütüldüğünde, aşağıdaki komutu kullanarak PSQL arayüzünden çıkış yapabilirsiniz:
\QYöntem 2: PgAdmin Grafik Arayüzünü Kullanma
Belirli bir veritabanı kullanıcısının parolasını pgAdmin grafik arabirimini kullanarak da sıfırlayabilirsiniz.
pgAdmin'i kullanarak bir kullanıcı parolasının nasıl sıfırlanacağını öğrenmek için burada özetlenen adımları takip edebilirsiniz:
A. pgAdmin yardımcı programını başlatın ve doğru kimlik bilgileriyle oturum açın.
B. Süper kullanıcı kimlik bilgilerini kullanarak hedef PostgreSQL sunucusuna bağlanın.
C. Sol taraftaki Nesne Gezgini bölmesinde, 'Sunucular' grubunu genişletin ve hedef veritabanına gidin.
D. Parolasını sıfırlamak istediğiniz kullanıcıyı bulmak için 'Oturum Açma/Grup Rolleri' düğümünü genişletin. Bu durumda “linuxhint” kullanıcısının şifresini sıfırlamak istiyoruz.
e. Seçilen kullanıcıya sağ tıklayın ve içerik menüsünden 'Özellikler' i seçin.
F. 'Özellikler' penceresinde, 'Tanım' sekmesine gidin.
G. Tanımlanan kullanıcı için “Şifre” alanına yeni şifreyi girin.
H. Son olarak, değişiklikleri kaydetmek için 'Kaydet'e tıklayın.
Bu, hedef kullanıcı için yeni sağlanan parolayı ayarlamalıdır.
Yöntem 3: PostgreSQL Parola Yapılandırma Dosyasını Düzenleme
Süper kullanıcı hesabının parolasını unuttuysanız, PostgreSQL parola yapılandırma dosyasını düzenleyerek parolayı sıfırlayabilirsiniz.
PostgreSQL kurulumunuz için veri dizinini bularak başlayın. Bu dizinin yolu, işletim sisteminize ve kurulu PostgreSQL sürümünüze bağlı olarak değişir.
Veri dizininde, pg_hba.conf dosyasını bulun ve onu tercih ettiğiniz metin düzenleyicinizle düzenleyin.
Tüm yerel bağlantıları md5'ten güvene değiştirin. Bu, PostgreSQL'e yerel makineden gelen tüm bağlantılara parola olmadan güvenmesini söyler.
# TÜR VERİTABANI KULLANICI ADRES YÖNTEM# 'yerel' yalnızca Unix etki alanı soket bağlantıları içindir
yerel tümü tümü güven
# IPv4 yerel bağlantıları:
barındır tümü hepsi 127.0.0.1/32 güven
# IPv6 yerel bağlantıları:
ana bilgisayar tümü hepsi ::1/128 güven
# Bir kullanıcı tarafından localhost'tan çoğaltma bağlantılarına izin ver
# çoğaltma ayrıcalığı.
yerel çoğaltma tümü güven
barındırıcı çoğaltma tümü 127.0.0.1/32 güven
host replication tümü ::1/128 güven
Tamamlandıktan sonra, değişikliklerin etkili olması için PostgreSQL sunucusunu yeniden başlatmanız gerekir. Ardından, Postgres kullanıcısını kullanarak parola olmadan PostgreSQL sunucusunda oturum açabilirsiniz.
Çözüm
PostgreSQL'de bir kullanıcı parolasını sıfırlamak için kullanabileceğimiz çeşitli yöntem ve teknikleri inceledik.