Yeni bir kurulumdan sonra postgres için varsayılan kullanıcı kullanıcı adı / şifre nedir?


Yanıtlar:


534

DİKKAT "postgres" için UNIX şifresini "$ sudo passwd postgres" ile değiştirmedeki cevap tercih edilmez ve hatta TEHLİKELİ olabilir !

Bu nedenle: Varsayılan olarak, UNIX "postgres" hesabı kilitlidir, yani şifre ile giriş yapamazsınız. "Sudo passwd postgres" kullanıyorsanız, hesabın kilidi hemen açılır. Daha kötüsü, şifreyi "postgres" gibi zayıf bir şeye ayarlarsanız, o zaman büyük bir güvenlik tehlikesine maruz kalırsınız. Örneğin, UNIX sisteminize giriş yapmak için kullanıcı adı / şifre combo "postgres / postgres" denen bir sürü robot var.

Yapmanız gereken şey Chris James'in cevabını takip etmek.

sudo -u postgres psql postgres

# \password postgres

Enter new password: 

Bunu biraz açıklamak için. PostgreSQL sunucusuna giriş yapmanın genellikle iki varsayılan yolu vardır:

  1. UNIX kullanıcı olarak "psql'in" komutunu çalıştırarak, mesela (IDENT / EŞ kimlik sözde): sudo -u postgres psql. sudo -uUnix kullanıcı kilidini DEĞİLDİR unutmayın .

  2. PostgreSQL'in kendi yönetilen kullanıcı adı / şifresini (TCP kimlik doğrulaması denir) kullanarak TCP / IP bağlantısı ile (yani, UNIX şifresi DEĞİL ).

Bu yüzden UNIX hesabı "postgres" için şifreyi asla ayarlamak istemezsiniz. Varsayılan olarak olduğu gibi kilitli bırakın.

Tabii ki varsayılan ayardan farklı bir şekilde yapılandırırsanız işler değişebilir. Örneğin, bir PostgreSQL şifresini UNIX şifresiyle senkronize edebilir ve sadece yerel girişlere izin verebilir. Bu, bu sorunun kapsamı dışında olacaktır.


11
Peki, kullanıcı posta kayıtlarını nasıl geri kilitlersiniz?
ultrajohn

3
@ultrajohn - kullandığınız dağılıma bağlıdır, ancak parola yerine / etc / passwd dosyasını düzenleyebilir ve * koyabilirsiniz
lzap 12:12

3
/etc/shadowşifrenin lzap tutulduğu yer.
Gringo Suave

2
Doğru, / sbin / nologin komutunu / etc / passwd dizininde ayarlayabilir veya / etc / shadow içindeki parola yerine * komutunu kullanabilirsiniz.
12'de

34
passwd --lock postgres
Stéphane

166

Komut satırına girin:

$ sudo -u postgres psql postgres
postgres=# \password postgres

Göreceksin:

Enter new password: 
Enter it again:

7
Postgres kurulduktan hemen sonra pgadminIII (bir sunucu profili ayarlarken) gibi bir araç kullanmak için gereken şey budur. Teşekkürler!
Limist

64

Kullanıcılardan posta kayıtlarını değiştirirsiniz postgres:

# su - postgres
$ createdb mydb
$ psql -s mydb
# create user someuser password 'somepassword';
# GRANT ALL PRIVILEGES ON DATABASE mydb TO someuser;

5
@ThierryLam suBir şifre girmeden postgres kullanıcısına root olmalısınız . Çoğu sistemde Postgres Unix hesabı kilitlidir (şifre çalışmaz), yani bu hesaba sadece root gelebilir su.
voretaq7

2
Yerine sudokullanın su.
reinierpost 08

8
Ben çalıştırmak zorunda sudo su - postgres: \
Jim Schubert

3
@Jim Schubert: Ayrıca koşabilirsiniz sudo -u postgres.
reinierpost

1
sudo -u postgres psql - aynı zamanda çalışır, böylece bir adımda yapabilirsiniz.
Ominus

21

Windows'ta aşağıdakileri yapın (ÖNEMLİ: Bir Windows yönetici hesabı kullanın ):

  1. Kurulumdan sonra açın <PostgreSQL PATH>\data\pg_hba.conf.

  2. Bu iki satırı değiştirin ve "md5" i "trust" olarak değiştirin:

    host all all 127.0.0.1/32 md5

    host all all ::1/128 md5

  3. PostgreSQL hizmetini yeniden başlatın (gerekli olmayabilir).

  4. (İsteğe bağlı) Bir komut istemi açın ve kod sayfasını 1252 olarak değiştirin:

    cmd.exe /c chcp 1252

  5. PostgreSQL'e giriş yapın. Şifreniz gerekmeyecek (büyük -U parametresini not edin):

    psql -U postgres

  6. (İsteğe bağlı, güvenlik nedeniyle önerilir) postgresKullanıcı şifresini değiştirin :

    \password postgres

    ve "trust" u tekrar "md5" olarak değiştirin pg_hba.conf.


5

PostgreSQL kabuğuna erişmeye çalışıyorsanız, şunu yazabilirsiniz:

psql -U postgres my_database

my_databaseVeritabanının adı nerede ?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.