İçeriğe geç
NarDBv0.2.0-dev

Kullanıcılar

privileges sistem şeması, Argon2id parola özetleri ve shell'e giriş parolası.

NarDB'de iki ayrı parola vardır ve ikisi farklı şeyleri korur.

ParolaNeredeNeyi korur
nardb-root-userİşletim sisteminin anahtar deposuNarDB Shell'e girişi
Veritabanı kullanıcıları.ndbc içindeki privileges şemasıSunucu ve connector üzerinden erişimi (gelecek)

İkisi de Argon2id ile özetlenir (RFC 9106: 64 MiB, 3 tur, 4 iş parçacığı) ve ham parola hiçbir yere yazılmaz.

Kullanıcı oluşturmak#

Shell'de:

Terminal
>> create_user -n admin -p gizli-parola
>> create_user -n editor              # parola dialogu açılır
>> show_users

File → New ▸ User... aynı dialogu açar. Go API'sinde:

Go
err := db.CreateUser("admin", "gizli-parola")
ok, err := db.VerifyUser("admin", girilenParola)

Kurallar:

  • Ad küçük harf snake_case olmalı ve en fazla 63 karakter olabilir.
  • Parola en az 8 karakter olmalı. Karakter sayılır, bayt değil; ğğğğğğğğ geçerlidir.
  • Aynı ad ikinci kez kullanılamaz.

-p ile verilen parola shell'in komut geçmişine •••••• olarak yazılır.

Kullanıcı sorgu dosyasıyla oluşturulmaz. create_user(...) bir NarQL ifadesi değildir. Böylece parolalar .nqf dosyalarına ve sürüm kontrolüne girmez.

NarQL
# hata: create users from the shell (create_user -n name) or the Go API
create_user('admin');

Yetkiler#

Sunucuya (nardbd) bağlanan bir kullanıcı yalnızca kendisine verilen yetkilerle çalışır; yetkisi olmayan kullanıcı hiçbir şey yapamaz:

Terminal
>> grant -u admin -s uyeler -p write
>> revoke -u admin -s uyeler

Yetkiler read, write ve admin'dir; -s '*' bütün şemaları kapsar. Ayrıntılar: Sunucu. Gömülü kullanımda (shell ya da Go API) veritabanını açan süreç her şeye erişir; yetkiler uzak bağlantılar içindir.

Shell parolasını sıfırlamak#

macOS'ta:

Terminal
security delete-generic-password -s nardb-shell -a nardb-root-user

Bir sonraki açılışta kurulum ekranı yeniden gelir. Bu işlem .ndbc dosyalarına dokunmaz.