Apache HTTP Sunucusu Sürüm 2.4
htdbm - DBM parola veritabanlarını yönetir
htdbm
,
mod_authn_dbm
üzerinden HTTP kullanıcılarının temel
kimlik doğrulaması için kullanıcı isimlerinin ve parolalarının
saklanmasında kullanılacak DBM dosyalarını yönetmek için kullanılır. DBM
dosyaları hakkında daha ayrıntılı bilgi edinmek için
dbmmanage
sayfasına bakınız.
Kullanım
htdbm
[ -TVTtürü ]
[ -i ]
[ -c ]
[ -m |
-B |
-d |
-s |
-p ]
[ -C bedel ]
[ -t ]
[ -v ]
parola-dosyası kullanıcı
htdbm -b
[ -TVTtürü ]
[ -c ]
[ -m |
-B |
-d |
-s |
-p ]
[ -C bedel ]
[ -t ]
[ -v ]
parola-dosyası kullanıcı parola
htdbm -n
[ -i ]
[ -c ]
[ -m |
-B |
-d |
-s |
-p ]
[ -C bedel ]
[ -t ]
[ -v ]
kullanıcı
htdbm -nb
[ -c ]
[ -m |
-B |
-d |
-s |
-p ]
[ -C bedel ]
[ -t ]
[ -v ]
kullanıcı parola
htdbm -v
[ -TVTtürü ]
[ -i ]
[ -c ]
[ -m |
-B |
-d |
-s |
-p ]
[ -C bedel ]
[ -t ]
[ -v ]
parola-dosyası kullanıcı
htdbm -vb
[ -TVTtürü ]
[ -c ]
[ -m |
-B
-d |
-s |
-p ]
[ -C bedel ]
[ -t ]
[ -v ]
parola-dosyası kullanıcı parola
htdbm -x
[ -TVTtürü ]
parola-dosyası kullanıcı
htdbm -l
[ -TVTtürü ]
Seçenekler
-b
- Betik kipi; parola için istek yapmak yerine parola komut satırından
verilir. Parola komut satırında görünür olacağından çok
dikkatli kullanmak gerekir. Betik kullanımı için
-i
seçeneğine bakınız. -i
- Parolayı doğrulamaksızın standart girdiden okur (betik kullanımı için).
-c
parola-dosyası
oluşturur. Dosya mevcutsa, dosya silinip yeniden yazılır. Bu seçenek-n
seçeneği ile birlikte kullanılamaz.-n
- Sonuçları veritabanında güncellemek yerine standart çıktıya gönderir.
parola-dosyası
belirtilmediğinden, bu seçenek komut satırı sözdizimini değiştirir. Bu seçenek-c
seçeneği ile birlikte kullanılamaz. -m
- Parolalar için MD5 şifrelemesi kullanılır. Windows ve Netware için bu öntanımlıdır.
-B
- Parolalar için bcrypt şifrelemesi kullanılır. Şu an için çok güvenli kabul edilmektedir.
-C bedel
- Bu seçenek sadece
-B
(bcrypt şifrelemesi) seçeneği ile birlikte kullanılabilir. Bcrypt algoritmasına hesaplama süresini belirtir (daha yüksek değerler daha güvenlidir, öntanımlı 5, geçerli değerler: 4 - 31). -d
- Parolaları şifrelemek için
crypt()
kullanılır. Windows, ve Netware dışında öntanımlıdır.htdbm
tarafından tüm platformlarda destekleniyor olsa da Windows ve Netware üzerindehttpd
sunucusu tarafından desteklenmez. Bu algoritma günümüz standartlarında güvenilmez kabul edilmektedir. -s
- Parolalar için SHA şifrelemesi kullanılır. LDAP Dizin değişim biçemini (ldif) kullanarak Netscape sunucularına/sunucularından göçü kolaylaştırır. Bu algoritma günümüz standartlarında güvenilmez kabul edilmektedir.
-p
- Düz metin parolalar kullanılır.
htdbm
tarafından tüm platformlarda destekleniyor olsa da Windows, Netware ve TPF üzerindehttpd
sunucusu tarafından sadece düz metin parolalar kabul edilir. -l
- Veritabanındaki kullanıcıları açıklamalarıyla birlikte standart çıktıya gönderir.
-v
- Kullanıcı adını ve parolasını doğrular. Program belirtilen parolanın geçerli olup olmadığını belirten bir ileti basar. Eğer parola geçersizse program hata kodu 3 ile çıkar.
-x
- Kullanıcıyı siler. Kullanıcı belirtilen DBM dosyasında mevcutsa silinir.
-t
- Son değiştirgenin bir açıklama olarak yorumlanmasını sağlar. Bu seçenek kullanıldığında komut satırının sonuna fazladan bir dizge eklenebilir. Bu dizge, veritabanında belirtilen kullanıcının "Comment" alanında saklanır.
parola-dosyası
- DBM dosyasının ismi. Genellikle,
.db
,.pag
veya.dir
eklentisi olmaksızın belirtilir.-c
seçeneği ile birlikte verilmişse ve DBM dosyası mevcut değilse dosya oluşturulur, mevcutsa dosya güncellenir. kullanıcı
parola-dosyası
'nda oluşturulacak veya güncellenecek kullanıcı ismi.kullanıcı
bu dosyada mevcut değilse yeni bir girdi eklenir. Girdi mevcutsa parolası değiştirilir.parola
- Şifrelenip DBM dosyasında saklanacak düz metin parola. Sadece
-b
seçeneği ile kullanılır. -T VTtürü
- DBM dosyasının türü; SDBM, GDBM, DB, veya "default" olabilir.
Hatalar
Birden fazla DBM dosya biçemi vardır ve büyük bir olasılıkla da
sisteminizde bu birden fazla biçemle ilgili kütüphaneler vardır. SDBM,
NDBM, GNU'nun GDBM projesi ve Berkeley/Sleepycat DB 2/3/4 bunların
başlıcalarıdır. Ne yazık ki, bu kütüphanelerin her birinin dosya
biçimleri farklıdır. Bu bakımdan, dosyaismi
dosyasında kullanılan dosya biçeminin htdbm
tarafından kullanılanla aynı biçemde olduğundan emin olmalısınız.
htdbm
hangi tür DBM dosyasına baktığını
saptayacak yeterliliğe sahip değildir. Yanlış biçemli bir dosya
belirtirseniz hiçbir şey dönmeyebileceği gibi, başka isimde bir DBM
dosyasının oluşturulması veya daha da kötüsü üzerine yazmaya
çalışıyorsanız DBM dosyasının bozulması bile olasıdır.
Unix sistemlerinde, kullanılan DBM dosyasının biçemini öğrenmek için
file
programı kullanılabilir.
Çıkış Durumu
htdbm
, kullanıcı ismi ve parolasını DBM
dosyasına başarıyla eklemiş veya güncellemişse 0
, dosyalara
erişirken bir sorun çıkmışsa 1
, komut satırında bir
sözdizimi hatası varsa 2
, parola etkileşimli alınmış fakat
girdi ile eşleşme sağlanamamışsa 3
, işlem kesintiye
uğramışsa 4
, bir değer çok uzunsa 5
(kullanıcı,
parola, dosya ismi veya açıklama), kullanıcı ismi kuraldışı karakter
içeriyorsa (Kısıtlamalar bölümüne bakınız)
6
ve dosya geçerli bir DBM parola dosyası değilse
7
değeriyle döner.
Örnekler
htdbm /usr/local/etc/apache/.htdbm-users jsmith
jsmith
kullanıcısı için parolayı ekler veya değiştirir.
Parolayı vermesi için kullanıcıya parola isteği yapılır. Windows üzerinde
çalıştırılırsa parola Apache MD5 algoritması ile şifrelenir, aksi
takdirde sistemin crypt()
yordamı kullanılır. Dosya mevcut
değilse htdbm
beklenen hiçbir işlemi
yapmadan bir hata vererek çıkar.
htdbm -c /home/doe/public_html/.htdbm jane
Yeni bir dosya oluşturur ve kullanıcı jane
için kaydı bir
girdi olarak bu dosyaya yazar. Dosya mevcutsa fakat okunamıyor veya
yazılamıyorsa dosyada bir değişiklik yapılmaz ve
htdbm
bir ileti gösterip bir hata durumu
ile çıkar.
htdbm -mb /usr/web/.htdbm-all jones Pwd4Steve
Komut satırından verilen parolayı (Pwd4Steve
) MD5
algoritmasıyla şifreler ve bunu belirtilen dosyada saklar.
Güvenlik Değerlendirmeleri
htdbm
tarafından yönetilen parola
dosyalarına sunucunun URI uzayından erişilememelidir; yani dosya bir
tarayıcı ile okunabilecek bir yerde bulunmamalıdır.
Komut satırında parolanın şifrelenmemiş olarak görünmesi sebebiyle
-b
seçeneğinin kullanımından kaçınılmasını
öneriyoruz.
crypt()
algoritması kullanılırken, parolayı
şekillendirmek için parolanın ilk 8 baytının kullanılacağına dikkat
ediniz. Eğer parola 8 bayttan uzunsa kalanlar bir uyarı verilmeksizin
iptal edilir.
SHA şifreleme biçeminde tuz kullanılmaz; yani, bir parolanın
sadece bir şifreli gösterimi olabilir. crypt()
ve
MD5 biçemleri parolanın önüne rasgele üretilmiş bir tuz dizgesi
eklediklerinden sözlük saldırılarına karşı daha dayanıklıdır.
SHA ve crypt()
biçimleri günümüz standartlarında
güvenilmez kabul edilmektedir.
Kısıtlamalar
Windows platformunda, htdbm
ile şifrelenen parolalar 255
karakterden daha uzun olamaz.
255 karakterden sonrası kırpılır.
htdbm
tarafından kullanılan MD5
algoritması Apache yazılımına özeldir; bu algoritma ile şifrelenen
parolalar başka HTTP sunucularında kullanılamayabilir.
Kullanıcı isimleri 255
bayttan uzun olamaz ve iki nokta
imi (:
) içeremez.