← man/network
htdbm — man htdbm — 80×24
ugur@toprak:~/man/network$man htdbm
Bölüm 1

htdbm

DBM parola veritabanlarını yönetir

Kullanım

       htdbm [ -TDB_TÜRÜ ] [ -i ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C maliyet ] [ -t ] [ -v ]
       dosyaadı kullanıcıadı

       htdbm -b [ -TDB_TÜRÜ ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C maliyet ] [ -t ] [ -v ] dosyaadı
       kullanıcıadı parola

       htdbm -n [ -i ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C maliyet ] [ -t ] [ -v ] kullanıcıadı

       htdbm -nb [ -c ] [ -m | -B | -d | -s | -p ] [ -C maliyet ] [ -t ] [ -v ] kullanıcıadı parola

       htdbm -v [ -TDB_TÜRÜ ] [ -i ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C maliyet ] [ -t ] [ -v ]
       dosyaadı kullanıcıadı

       htdbm -vb [ -TDB_TÜRÜ ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C maliyet ] [ -t ] [ -v ] dosyaadı
       kullanıcıadı parola

       htdbm -x [ -TDB_TÜRÜ ] dosyaadı kullanıcıadı

       htdbm -l [ -TDB_TÜRÜ ]

Özet

htdbm, mod_authn_dbm aracılığıyla HTTP kullanıcılarının temel kimlik doğrulaması (basic authentication) için kullanıcı adlarını ve parolalarını depolamakta kullanılan DBM biçimindeki dosyaları yönetmek için kullanılır. Bu DBM dosyaları hakkında daha fazla bilgi için dbmmanage belgelerine bakın.

Seçenekler

  • -b: Toplu iş (batch) modunu kullanır; yani parolayı sormak yerine komut satırından alır. Parola komut satırında açıkça görülebildiğinden, bu seçenek son derece dikkatli kullanılmalıdır. Betik kullanımı için -i seçeneğine bakın.

  • -i: Doğrulama yapmadan parolayı standart girdiden (stdin) okur (betik kullanımı için).

  • -c: passwdfile dosyasını oluşturur. passwdfile zaten mevcutsa, üzerine yazılır ve içeriği sıfırlanır (truncated). Bu seçenek -n seçeneği ile birleştirilemez.

  • -n: Sonuçları bir veritabanını güncellemek yerine standart çıktıda görüntüler. passwdfile argümanı (genellikle ilk argüman) atlandığından, bu seçenek komut satırının sözdizimini değiştirir. -c seçeneği ile birleştirilemez.

  • -m: Parolalar için MD5 karma (hashing) algoritmasını kullanır. Windows ve Netware sistemlerinde varsayılan budur.

  • -B: Parolalar için bcrypt karma algoritmasını kullanır. Bu yöntem şu anda oldukça güvenli kabul edilmektedir.

  • -C: Bu bayrağa yalnızca -B (bcrypt karması) ile birlikte izin verilir. bcrypt algoritması için kullanılan hesaplama süresini (cost) ayarlar (daha yüksek değer daha güvenlidir ancak daha yavaştır, varsayılan: 5, geçerli değerler: 4 ile 31 arası).

  • -d: Parolalar için crypt() karma algoritmasını kullanır. Windows ve Netware dışındaki tüm platformlarda varsayılan budur. Tüm platformlarda htdbm tarafından desteklenmesi mümkün olsa da, Windows ve Netware üzerindeki httpd sunucusu tarafından desteklenmez. Bu algoritma bugünün standartlarına göre güvensizdir.

  • -s: Parolalar için SHA karma algoritmasını kullanır. LDAP Dizin Değişim Biçimi (ldif) kullanan Netscape sunucularından veya bu sunuculara geçişi kolaylaştırır. Bu algoritma bugünün standartlarına göre güvensizdir.

  • -p: Düz metin (plaintext) parolalar kullanır. htdbm tüm platformlarda oluşturulmasını desteklese de, httpd arka plan süreci düz metin parolaları yalnızca Windows ve Netware sistemlerinde kabul edecektir.

  • -l: Veritabanındaki kullanıcı adlarının ve yorumların her birini standart çıktıya yazdırır.

  • -v: Kullanıcı adını ve parolayı doğrular. Program, sağlanan parolanın geçerli olup olmadığını belirten bir mesaj yazdırır. Parola geçersizse, program 3 hata koduyla çıkar.

  • -x: Kullanıcıyı siler. Belirtilen DBM dosyasında kullanıcı adı mevcutsa silinecektir.

  • -t: Son parametreyi bir yorum (comment) olarak yorumlar. Bu seçenek belirtildiğinde, komut satırının sonuna ek bir dize eklenebilir; bu dize, veritabanının "Comment" (Yorum) alanında belirtilen kullanıcı adıyla ilişkilendirilerek depolanır.

dosyaadı DBM biçimindeki dosyanın adı. Genellikle .db, .pag veya .dir uzantısı olmadan belirtilir. -c seçeneği verilirse, DBM dosyası zaten mevcut değilse oluşturulur, mevcutsa güncellenir.

kullanıcıadı passwdfile dosyasında oluşturulacak veya güncellenecek kullanıcı adı. Eğer kullanıcı adı bu dosyada mevcut değilse bir girdi eklenir. Mevcutsa, parolası değiştirilir.

parola Karşılaştırılıp DBM dosyasında depolanacak düz metin parola. Yalnızca -b bayrağı ile kullanılır.

-TDB_TÜRÜ DBM dosyası türü (SDBM, GDBM, DB veya "default").

Hatalar

Mevcut olan bir dizi farklı DBM dosya biçimi olduğu ve büyük olasılıkla sisteminizde birden fazla biçim için kütüphanelerin bulunabileceği unutulmamalıdır. Üç ana örnek SDBM, NDBM, GNU GDBM ve Berkeley/Sleepycat DB 2/3/4'tür. Ne yazık ki, tüm bu kütüphaneler farklı dosya biçimleri kullanır ve dosyaadı tarafından kullanılan dosya biçiminin htdbm'in görmeyi beklediği biçimle aynı olduğundan emin olmalısınız. htdbm'in şu anda baktığı DBM dosyasının türünü belirleme yeteneği yoktur. Yanlış biçime karşı kullanılırsa, hiçbir şey döndürmez veya farklı bir adla başka bir DBM dosyası oluşturabilir veya en kötüsü, yazmaya çalışıyorsanız DBM dosyasını bozabilir.

Bir DBM dosyasının hangi biçimde olduğunu görmek için genellikle çoğu Unix sisteminde sunulan file programı kullanılabilir.

Çıkış Durumu

htdbm, kullanıcı adı ve parola DBM dosyasına başarıyla eklendiyse veya güncellendiyse sıfır durumunu ("true") döndürür. htdbm; dosyalara erişimde bir sorunla karşılaşırsa 1, komut satırında sözdizimi sorunu varsa 2, parola etkileşimli olarak girildiyse ve doğrulama girdisi eşleşmediyse 3, işlemi kesintiye uğradıysa 4, bir değer çok uzunsa (kullanıcı adı, dosya adı, parola veya nihai hesaplanan kayıt) 5, kullanıcı adı geçersiz karakterler içeriyorsa (bkz. Kısıtlamalar bölümü) 6 ve dosya geçerli bir DBM parola dosyası değilse 7 döndürür.

Örnekler


	     htdbm /usr/local/etc/apache/.htdbm-users jsmith

       jsmith kullanıcısının parolasını ekler veya değiştirir. Kullanıcıdan parola istenir. Bir Windows sisteminde yürütülürse, parola değiştirilmiş Apache MD5 algoritması kullanılarak karma hale getirilecektir; aksi takdirde sistemin crypt() rutini kullanılacaktır. Dosya mevcut değilse, htdbm bir hata döndürmek dışında hiçbir şey yapmayacaktır.

	     htdbm -c /home/doe/public_html/.htdbm jane

       Yeni bir dosya oluşturur ve içinde jane kullanıcısı için bir kayıt depolar. Kullanıcıdan parola istenir. Dosya mevcutsa ve okunamıyorsa ya da yazılamıyorsa, değiştirilmez ve htdbm bir mesaj görüntüleyerek bir hata durumu döndürür.

	     htdbm -mb /usr/web/.htdbm-all jones Pwd4Steve

       Komut satırındaki parolayı (Pwd4Steve) MD5 algoritmasını kullanarak şifreler ve belirtilen dosyada depolar.

Güvenlik Hususları

htdbm tarafından yönetilenler gibi web parola dosyaları, Web sunucusunun URI alanı içinde olmamalıdır; yani bir tarayıcı ile getirilememelidir.

-b seçeneğinin kullanılması önerilmez, çünkü kullanıldığında düz metin parola komut satırında görünür.

crypt() algoritmasını kullanırken, parolanın oluşturulmasında yalnızca parolanın ilk 8 karakterinin kullanıldığını unutmayın. Sağlanan parola daha uzunsa, fazladan karakterler sessizce atılacaktır.

SHA karma seçeneği tuzlama (salting) kullanmaz: belirli bir parola için yalnızca tek bir karma temsil vardır. crypt() ve MD5 biçimleri, parolalara yönelik sözlük saldırılarını zorlaştırmak için temsilin önüne rastgele bir tuz dizesi ekleyerek temsili değiştirir.

SHA ve crypt() biçimleri bugünün standartlarına göre güvensizdir.

Kısıtlamalar

Windows platformunda, htdbm ile karma hale getirilen parolaların uzunluğu en fazla 255 karakterle sınırlıdır. Daha uzun parolalar 255 karaktere kırpılacaktır.

htdbm tarafından kullanılan MD5 algoritması Apache yazılımına özgüdür; bu algoritma kullanılarak karma hale getirilen parolalar diğer Web sunucularıyla kullanılamayacaktır.

Kullanıcı adları 255 bayt ile sınırlıdır ve : karakterini içeremez.

Apache HTTP Server 2024-04-02 HTDBM(1)