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.
| Parola | Nerede | Neyi korur |
|---|---|---|
nardb-root-user | İşletim sisteminin anahtar deposu | NarDB 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:
>> create_user -n admin -p gizli-parola
>> create_user -n editor # parola dialogu açılır
>> show_usersFile → New ▸ User... aynı dialogu açar. Go API'sinde:
err := db.CreateUser("admin", "gizli-parola")
ok, err := db.VerifyUser("admin", girilenParola)Kurallar:
- Ad küçük harf
snake_caseolmalı 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.
# 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:
>> grant -u admin -s uyeler -p write
>> revoke -u admin -s uyelerYetkiler 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:
security delete-generic-password -s nardb-shell -a nardb-root-userBir sonraki açılışta kurulum ekranı yeniden gelir. Bu işlem .ndbc dosyalarına dokunmaz.