Ubuntu’da Apache htpasswd Kimlik Doğrulaması Nasıl Kurulur
Apache’nin `htpasswd` kimlik doğrulaması, HTTP Temel Kimlik Doğrulaması sağlar — içerik sunmadan önce herhangi bir tarayıcı isteğini kullanıcı adı/parola istemiyle sorgulayan sunucu taraflı bir erişim denetim mekanizması. Hiçbir uygulama katmanı kodu gerektirmez, tamamen Apache’nin modül sistemi içinde çalışır ve herhangi bir PHP, Python veya Node.js arka uç mantığı çalışmadan önce web sunucusu düzeyinde uygulanır.
Bu, onu hazırlık ortamlarını, dahili yönetici panellerini, geliştirme derlemelerini ve tam bir kimlik sağlayıcı dağıtmadan genel internetten gizlenmesi gereken herhangi bir dizini korumak için en hızlı ve en güvenilir yöntem haline getirir.
htpasswd Ne Zaman Doğru Araçtır — Ne Zaman Değildir
Tek bir komuta dokunmadan önce tehdit modelini anlayın. HTTP Temel Kimlik Doğrulaması, kimlik bilgilerini `Authorization` başlığında Base64 ile kodlanmış bir dize olarak iletir. Base64 şifreleme değildir — önemsiz biçimde tersine çevrilebilir. Bu, htpasswd kimlik doğrulamasının yalnızca HTTPS üzerinden dağıtıldığında güvenli olduğu anlamına gelir. TLS olmadan, kimlik bilgileri herhangi bir ağ gözlemcisine düz metin olarak açık hale gelir.
Uygun kullanım durumları:
- Hazırlık ve ön üretim ortamları
- Dahili geliştirici araçları ve kontrol panelleri
- Bakım sırasında bir siteye geçici erişim kısıtlaması
- Kendi girişi olan bir uygulamanın önüne ikincil bir kimlik doğrulama katmanı ekleme
- WordPress `wp-admin` veya `xmlrpc.php` öğelerini sunucu düzeyinde koruma
Uygunsuz kullanım durumları:
- Hassas kullanıcı verilerini işleyen kamuya açık uygulamalar için birincil kimlik doğrulama
- Kimlik bilgisi rotasyonunun denetlenmesi ve günlüğe kaydedilmesi gereken ortamlar
- Rol tabanlı erişim denetimi gerektiren çok kiracılı sistemler
Kullanım durumunuz üretim kullanıcı hesaplarını içeriyorsa, bunun yerine OAuth2, LDAP veya uygulama düzeyinde oturum yönetimini değerlendirin.
Ön Koşullar
- Root veya `sudo` erişimine sahip Ubuntu 20.04, 22.04 veya 24.04 sunucusu
- `apt` aracılığıyla kurulu veya kurulabilir Apache 2.4
- DNS’i sunucunuza yönlendiren kayıtlı bir alan adı (SSL için kesinlikle önerilir)
- Linux komut satırı ve metin editörleri hakkında temel bilgi
Sıfırdan başlıyorsanız, bir VPS Hosting ortamı size tam root erişimi ve temiz bir Ubuntu imajı sağlar — bu yapılandırma için ideal başlangıç noktası.
Adım 1: Apache2’yi Kurun
Apache henüz kurulu değilse, paket dizinini güncelleyin ve kurun:
“`bash
sudo apt update && sudo apt install apache2 -y
“`
Kurulumu doğrulayın ve servisin çalıştığını onaylayın:
“`bash
sudo systemctl status apache2
apache2 -v
“`
Apache’nin yeniden başlatmada otomatik olarak başlamasını etkinleştirin:
“`bash
sudo systemctl enable apache2
“`
Apache’nin varsayılan belge kökü `/var/www/html`’dur. Birincil site yapılandırması `/etc/apache2/sites-available/000-default.conf` konumunda bulunur.
Adım 2: apache2-utils Paketini Kurun
`htpasswd` ikili dosyası, `apache2-utils` paketinin bir parçasıdır. Çoğu Ubuntu kurulumunda bu paket Apache ile birlikte kurulur, ancak varlığını açıkça doğrulayın:
“`bash
which htpasswd
“`
Komut hiçbir şey döndürmezse, paketi kurun:
“`bash
sudo apt install apache2-utils -y
“`
`apache2-utils` paketi ayrıca `htdigest` (Özet Kimlik Doğrulama için), `ab` (yük testi için Apache Bench) ve `htdbm` (DBM biçimli parola dosyaları için) sağlar. Çoğu senaryo için varsayılan bcrypt veya MD5 karma ile `htpasswd` yeterlidir.
Adım 3: .htpasswd Dosyası Oluşturun ve Kullanıcı Ekleyin
Parola Karma Algoritması Seçimi
Bu, orijinal belgelerin neredeyse evrensel olarak atladığı bir ayrıntıdır. `htpasswd` yardımcı programı birden fazla karma şemasını destekler ve seçim gerçek güvenlik sonuçları doğurur:
| Algoritma | Bayrak | Güvenlik Düzeyi | Notlar |
|---|
| ———– | —— | ————— | ——- |
|---|
| bcrypt | `-B` | Güçlü | Önerilir; tasarım gereği hesaplama açısından pahalı |
|---|
| SHA-256/512 (apr1-md5) | `-m` | Orta | Çoğu Linux sisteminde varsayılan; kabul edilebilir |
|---|
| MD5 (eski) | Bazı derlemelerde `-m` | Zayıf | Yeni dağıtımlar için kullanmayın |
|---|
| Düz metin | `-p` | Yok | Üretimde asla kullanmayın |
|---|
| SHA-1 | `-s` | Zayıf | Kullanımdan kaldırıldı; kaba kuvvete karşı savunmasız |
|---|
Yeni `.htpasswd` dosyaları için her zaman bcrypt kullanın:
“`bash
sudo htpasswd -cB /etc/apache2/.htpasswd your_username
“`
Bayrakların açıklaması:
- `-c` — Yeni bir dosya oluşturur. Kritik uyarı: Dosya zaten mevcutsa, `-c` sessizce üzerine yazar ve tüm mevcut kullanıcıları siler. `-c` yalnızca dosyayı ilk oluştururken bir kez kullanın.
- `-B` — bcrypt karma işlemini zorlar
- `/etc/apache2/.htpasswd` — Web kökünün kasıtlı olarak dışında olan hedef dosya yolu
- `your_username` — Gerçek kullanıcı adıyla değiştirin
Parolayı girmeniz ve onaylamanız istenecektir. Oluşturulan dosya girişi şöyle görünür:
“`
your_username:$2y$05$randomsaltandhashedpasswordstring
“`
Ek Kullanıcı Ekleme
Mevcut bir dosyaya daha fazla kullanıcı eklemek için `-c` bayrağını atlayın:
“`bash
sudo htpasswd -B /etc/apache2/.htpasswd second_user
sudo htpasswd -B /etc/apache2/.htpasswd third_user
“`
Kullanıcı Kaldırma
“`bash
sudo htpasswd -D /etc/apache2/.htpasswd username_to_remove
“`
Dosya İçeriğini Doğrulama
“`bash
sudo cat /etc/apache2/.htpasswd
“`
Her satır, `username:hashed_password` biçiminde bir kullanıcıyı temsil eder.
Adım 4: Parola Koruması için Apache’yi Yapılandırın
htpasswd kimlik doğrulaması uygulamak için iki yöntem vardır: `.htaccess` dosyaları aracılığıyla veya doğrudan sanal ana bilgisayar yapılandırmasında. Her birinin farklı performans ve bakım sonuçları vardır.
Yöntem Karşılaştırması
| Faktör | .htaccess Yöntemi | Sanal Ana Bilgisayar Yapılandırma Yöntemi |
|---|
| ——– | —————– | ————————— |
|---|
| Apache yeniden başlatması gerektirir | Hayır | Evet |
|---|
| Performans etkisi | Daha yüksek (Apache her istekte okur) | Daha düşük (başlangıçta bir kez yüklenir) |
|---|
| Ayrıntı düzeyi | Dizin başına, devredilmiş | Yapılandırma dosyasında merkezi |
|---|
| Önerilen kullanım | Paylaşımlı hosting, dinamik dizin başına yapılandırma | Root erişimine sahip özel/VPS sunucular |
|---|
| Güvenlik duruşu | Biraz daha zayıf (dosya web işlemi tarafından okunabilir olmalı) | Daha güçlü (yapılandırma web’den erişilemez) |
|---|
Tam root erişimine sahip olduğunuz bir Dedicated Server veya VPS’de, performans ve sürdürülebilirlik açısından sanal ana bilgisayar yapılandırma yöntemi her zaman tercih edilir.
Seçenek 1: .htaccess Dosyalarını Kullanma
Bu yöntem, hedef dizin için `AllowOverride`’nin etkinleştirilmesini gerektirir. Önce site yapılandırmasını düzenleyin:
“`bash
sudo nano /etc/apache2/sites-available/000-default.conf
“`
Web kökünüz için `<Directory>` bloğunu bulun veya ekleyin ve `AllowOverride All` ayarlayın:
“`apache
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride All
Options -Indexes +FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
“`
Yapılandırma değişikliğini uygulamak için Apache’yi yeniden başlatın:
“`bash
sudo systemctl restart apache2
“`
Şimdi korumak istediğiniz dizinin içinde `.htaccess` dosyasını oluşturun:
“`bash
sudo nano /var/www/html/.htaccess
“`
Aşağıdaki kimlik doğrulama yönergelerini ekleyin:
“`apache
AuthType Basic
AuthName "Restricted Access — Authorized Personnel Only"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
“`
Yönerge açıklaması:
- `AuthType Basic` — HTTP Temel Kimlik Doğrulamasını etkinleştirir. Alternatif `Digest`’dır; kimlik bilgilerini Base64 ile göndermekten kaçınır ancak daha geniş uyumluluk sorunları vardır.
- `AuthName` — Tarayıcının giriş iletişim kutusunda görüntülenen alan dizesi. Meşru kullanıcıların neye eriştiklerini anlayacak kadar açıklayıcı yapın.
- `AuthUserFile` — `.htpasswd` dosyasının mutlak yolu. Apache işlem kullanıcısı (`www-data`) tarafından okunabilir olmalıdır.
- `Require valid-user` — `.htpasswd` dosyasında bulunan herhangi bir kullanıcıya erişim verir. Yalnızca belirli hesaplara izin vermek için `Require user alice bob` ile daha fazla kısıtlayabilirsiniz.
Dosyayı kaydedin ve kapatın. Apache yeniden başlatması gerekmez — `.htaccess` değişiklikleri hemen geçerli olur.
Seçenek 2: Doğrudan Sanal Ana Bilgisayar Yapılandırması (Önerilir)
Bu, üretim düzeyinde yaklaşımdır. Sanal ana bilgisayar yapılandırma dosyasını doğrudan düzenleyin:
“`bash
sudo nano /etc/apache2/sites-available/000-default.conf
“`
`<VirtualHost>` bloğunun içine kimlik doğrulama yönergeleriyle bir `<Directory>` bloğu ekleyin:
“`apache
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName yourdomain.com
<Directory "/var/www/html/protected">
AuthType Basic
AuthName "Internal Tools"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Options -Indexes
</Directory>
</VirtualHost>
“`
Tüm web kökü yerine `/var/www/html/protected` kullanımına dikkat edin. Kimlik doğrulamayı bir alt dizine kapsamlandırmak pratikte çok daha yaygındır — genel siteyi erişilebilir bırakırken `/admin`, `/staging` veya `/api-docs`’yi korursunuz.
Yeniden başlatmadan önce yapılandırma sözdizimini doğrulayın:
“`bash
sudo apachectl configtest
“`
`Syntax OK` görmelisiniz. Hatalar varsa, Apache bunları tam olarak açıklayacaktır. Üretimde bu kontrolü geçmeden Apache’yi asla yeniden başlatmayın.
Apache’yi yeniden başlatın:
“`bash
sudo systemctl restart apache2
“`
Dizinler Yerine Belirli Dosya Türlerini Koruma
Daha az bilinen ancak son derece pratik bir model, tüm dizinler yerine belirli dosya uzantılarına erişimi kısıtlamak için `<FilesMatch>` kullanmaktır:
“`apache
<FilesMatch ".(env|log|sql|bak)$">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</FilesMatch>
“`
Bu, eski nedenlerle web kökünde bulunabilecek `.env` dosyalarına, veritabanı dökümlerine veya günlük dosyalarına doğrudan erişimi engellemek için özellikle kullanışlıdır.
Adım 5: Yayına Geçmeden Önce SSL’yi Etkinleştirin
Daha önce belirtildiği gibi, düz HTTP üzerinden HTTP Temel Kimlik Doğrulaması güvensizdir. htpasswd ile korunan herhangi bir kaynağı internete açmadan önce HTTPS’yi zorunlu kılın.
Let’s Encrypt sertifikaları için Certbot’u kurun:
“`bash
sudo apt install certbot python3-certbot-apache -y
sudo certbot –apache -d yourdomain.com
“`
Certbot, Apache yapılandırmanızı otomatik olarak HTTP’yi HTTPS’ye yönlendirecek şekilde değiştirecek ve sertifikayı kuracaktır. Alternatif olarak, genişletilmiş doğrulama veya joker karakter kapsamı gerektiren alan adları için SSL Certificates aracılığıyla ticari bir sertifika temin edebilirsiniz.
SSL’yi etkinleştirdikten sonra, HTTP sanal ana bilgisayarınıza bir HTTPS yönlendirmesi ekleyin:
“`apache
<VirtualHost *:80>
ServerName yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
“`
Adım 6: .htpasswd Dosya İzinlerini Güçlendirin
`.htpasswd` dosyası karma kimlik bilgileri içerir. bcrypt karmaları kırmak için hesaplama açısından pahalı olsa da, dosya dosya sistemi düzeyinde korunmalıdır.
Sahipliği Apache işlem kullanıcısına ayarlayın ve okuma izinlerini kısıtlayın:
“`bash
sudo chown root:www-data /etc/apache2/.htpasswd
sudo chmod 640 /etc/apache2/.htpasswd
“`
Bu yapılandırma şu anlama gelir:
- `root` dosyaya sahiptir ve okuyabilir/yazabilir
- `www-data` (Apache işlemi) okuyabilir
- Diğer tüm kullanıcıların erişimi yoktur
İzinleri doğrulayın:
“`bash
ls -la /etc/apache2/.htpasswd
“`
Beklenen çıktı:
“`
-rw-r—– 1 root www-data 89 Jan 15 10:23 /etc/apache2/.htpasswd
“`
.htpasswd’ye Doğrudan Web Erişimini Engelleme
Herhangi bir nedenle `.htpasswd` dosyası web kökünün içindeyse, Apache yapılandırmanıza veya `.htaccess`’e açık bir reddetme kuralı ekleyin:
“`apache
<Files ".htpasswd">
Require all denied
</Files>
“`
Bu, derinlemesine savunma önlemidir. Dosya hiçbir zaman web kökünün içinde olmamalıdır, ancak bu kural olsa bile Apache’nin dosyayı sunmak yerine 403 Yasak yanıtı döndürmesini sağlar.
Adım 7: Kimlik Doğrulamayı Test Edin
Bir tarayıcı açın ve korunan URL’ye gidin:
“`
http://your_server_ip_or_domain/protected/
“`
Yerel bir tarayıcı kimlik doğrulama iletişim kutusu görmelisiniz. `htpasswd` ile oluşturduğunuz kimlik bilgilerini girin. Başarılı kimlik doğrulama erişim sağlar; yanlış kimlik bilgileri HTTP 401 Yetkisiz yanıtı döndürür.
Komut Satırından Test Etme
Tarayıcı olmadan kimlik doğrulama davranışını doğrulamak için `curl` kullanın:
“`bash
Test with correct credentials — should return 200 OK
curl -u your_username:your_password -I http://yourdomain.com/protected/
Test without credentials — should return 401 Unauthorized
curl -I http://yourdomain.com/protected/
Test with wrong credentials — should return 401 Unauthorized
curl -u your_username:wrongpassword -I http://yourdomain.com/protected/
“`
Bu, dağıtımlardan sonra kimlik doğrulamanın doğru şekilde uygulandığını doğrulamanız gereken CI/CD ardışık düzenlerinde veya otomatik izleme komut dosyalarında özellikle kullanışlıdır.
Gelişmiş Yapılandırma Kalıpları
htpasswd’yi IP Tabanlı Erişim Denetimiyle Birleştirme
Parola kimlik doğrulamasını `RequireAll` veya `RequireAny` bloklarını kullanarak IP beyaz listelemeyle birleştirebilirsiniz:
“`apache
<Directory "/var/www/html/admin">
AuthType Basic
AuthName "Admin Panel"
AuthUserFile /etc/apache2/.htpasswd
Allow access if EITHER condition is met
<RequireAny>
Require ip 192.168.1.0/24
Require valid-user
</RequireAny>
</Directory>
“`
Veya her iki koşulu aynı anda gerektirin (IP eşleşmeli VE kimlik bilgileri geçerli olmalı):
“`apache
<RequireAll>
Require ip 203.0.113.0/24
Require valid-user
</RequireAll>
“`
Bu kalıp, yönetici panelleri için son derece etkilidir: dahili ağ kullanıcıları parola istemiyle erişim alırken, harici IP’ler kimlik bilgilerinden bağımsız olarak tamamen engellenir.
Kimlik Doğrulama Girişimlerini Hız Sınırlama
HTTP Temel Kimlik Doğrulamasının yerleşik kaba kuvvet koruması yoktur. Bunu `mod_evasive` veya `fail2ban` ile azaltın:
“`bash
sudo apt install fail2ban -y
“`
`/etc/fail2ban/filter.d/apache-auth.conf` konumunda Apache kimlik doğrulama hataları için özel bir Fail2ban filtresi oluşturun:
“`ini
[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD).*" 401
ignoreregex =
“`
`/etc/fail2ban/jail.local` konumuna bir hapis yapılandırması ekleyin:
“`ini
[apache-auth]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache2/access.log
maxretry = 5
bantime = 3600
findtime = 600
“`
Fail2ban’ı yeniden başlatın:
“`bash
sudo systemctl restart fail2ban
“`
Bu, on dakika içinde beş 401 yanıtı üreten herhangi bir IP’yi bir saat boyunca yasaklar — otomatik kimlik bilgisi doldurma saldırılarına karşı önemli bir caydırıcı.
URL Tabanlı Koruma için Location Bloklarını Kullanma
Korunan içeriğin bir dosya sistemi dizini yerine belirli bir URL yolundan sunulduğu uygulamalar için `<Directory>` yerine `<Location>` kullanın:
“`apache
<Location "/api/internal">
AuthType Basic
AuthName "Internal API"
AuthUserFile /etc/apache2/.htpasswd
Require user api_user service_account
</Location>
“`
`Require valid-user` yerine belirli kullanıcı adlarıyla `Require user` kullanımına dikkat edin — bu, `.htpasswd` dosyası ek kullanıcılar içerse bile uç noktayı yalnızca bu iki hesapla kısıtlar.
Pratik Karar Matrisi
Senaryonuz için doğru yapılandırma yaklaşımını belirlemek için bu matrisi kullanın:
| Senaryo | Önerilen Yaklaşım |
|---|
| ———- | ——————— |
|---|
| VPS’de bir hazırlık alt dizinini koruma | bcrypt ile sanal ana bilgisayar `<Directory>` bloğu |
|---|
| Apache yapılandırma erişimi olmayan paylaşımlı hosting | `.htaccess` yöntemi |
|---|
| Yalnızca ofis IP’sinden erişilebilen yönetici paneli | IP + valid-user birleştiren `RequireAll` |
|---|
| Web kökündeki `.env` ve `.sql` dosyalarını engelleme | `Require all denied` ile `<FilesMatch>` |
|---|
| Bir yolda kimlik doğrulama gerektiren yüksek trafikli site | Sanal ana bilgisayar yapılandırmasında `<Location>` bloğu |
|---|
| Kamuya açık herhangi bir korumalı kaynak | Zorunlu SSL + htpasswd + Fail2ban |
|---|
Temel Teknik Çıkarımlar
- `.htpasswd` dosyaları oluştururken her zaman bcrypt kullanın (`-B` bayrağı). Eski MD5 ve SHA-1 karmaları, modern GPU donanımıyla saniyeler içinde kırılabilir.
- İnternetten erişilebilen herhangi bir ortamda htpasswd’yi HTTP üzerinden asla dağıtmayın. Temel Kimlik Doğrulama kimlik bilgilerinin Base64 kodlaması sıfır gizlilik sağlar.
- Root erişimine sahip olduğunuz herhangi bir sunucuda `.htaccess` yerine sanal ana bilgisayar yapılandırmasını tercih edin. Apache `.htaccess` dosyalarını her tek istekte yeniden okuduğundan, performans farkı yük altında ölçülebilir.
- Korumayı gereken minimum dizin veya URL yoluyla sınırlayın. Yalnızca `/var/www/html/admin` korunması gerektiğinde `/var/www/html`’nin tamamını korumak gereksiz sürtünme ekler.
- `.htpasswd` izinlerini `root:www-data` sahipliğiyle `640` olarak ayarlayın. Dosya hiçbir zaman herkese açık okunabilir olmamalıdır.
- Kaba kuvvet saldırılarını önlemek için Fail2ban uygulayın. HTTP Temel Kimlik Doğrulamasının yerel hız sınırlama veya hesap kilitleme mekanizması yoktur.
- Üretim ortamlarında her yeniden başlatmadan önce Apache yapılandırmasını `apachectl configtest` ile doğrulayın.
- htpasswd’yi alan adı altyapınızla eşleştirin. DNS ve SSL ile düzgün yapılandırılmış bir alan adı temeldir — tüm altyapı bileşenlerini tek bir sağlayıcı altında tutmak için alan adlarınızı Domain Registration aracılığıyla yönetin.
Birden fazla korumalı ortamı yöneten ekipler için, VPS with cPanel, doğrudan komut satırı erişimi olmadan parola korumalı dizinleri yönetmek için grafiksel bir arayüz sağlar; bu da daha az teknik ekiplerde yapılandırma hatalarını azaltabilir.
SSS
htpasswd kimlik doğrulaması tüm tarayıcılarla çalışır mı?
Evet. HTTP Temel Kimlik Doğrulaması RFC 7617’de tanımlanmıştır ve Chrome, Firefox, Safari ve Edge dahil her modern tarayıcı tarafından desteklenmektedir. Mobil tarayıcılar da destekler. Yerel tarayıcı iletişim kutusu görünümü tarayıcıya ve işletim sistemine göre değişir, ancak temel protokol davranışı aynıdır.
Apache yapılandırmasında .htpasswd dosya yolu yanlışsa ne olur?
Apache, korunan kaynağa yapılan herhangi bir istek için 500 Dahili Sunucu Hatası döndürür ve `/var/log/apache2/error.log` içinde `Could not open password file: /path/to/.htpasswd`’e benzer bir hata kaydeder. Mutlak yolun doğru olduğunu ve `www-data` kullanıcısının dosya üzerinde okuma iznine sahip olduğunu her zaman doğrulayın.
Bir WordPress sitesinin yönetici alanını korumak için htpasswd kullanabilir miyim?
Evet ve bu önerilen bir güçlendirme uygulamasıdır. `/wp-admin/`’e htpasswd koruması eklemek ve `xmlrpc.php`’e erişimi kısıtlamak, WordPress’in kendi giriş mantığı çalışmadan önce sunucu düzeyinde bir kimlik doğrulama katmanı ekler; bu da PHP’ye hiç ulaşmayan otomatik botları ve kaba kuvvet komut dosyalarını engeller. Daha iyi performans için `.htaccess` yerine sanal ana bilgisayarınızda `<Directory>` bloğu olarak yapılandırın.
Mevcut bir .htpasswd dosyasındaki kullanıcının parolasını nasıl güncellerim?
`htpasswd`’ü `-c` bayrağı olmadan çalıştırın ve mevcut kullanıcı adını belirtin: `sudo htpasswd -B /etc/apache2/.htpasswd existing_user`. Yeni parola istenecektir. Komut yalnızca o kullanıcının girişinin üzerine yazar, diğer tüm kullanıcıları olduğu gibi bırakır.
Bir .htpasswd dosyasında saklanabilecek kullanıcı sayısında bir sınır var mı?
Apache tarafından uygulanan kesin bir sınır yoktur. Ancak Apache her kimlik doğrulama isteği için dosyayı doğrusal olarak taradığından, çok büyük dosyalarda — genellikle birkaç yüz kullanıcının üzerinde — performans belirgin şekilde düşer. Düzinelerce veya yüzlerce kullanıcı için kimlik doğrulama gerektiren ortamlar için, ölçek için tasarlanmış olan veritabanı arka uçlu `mod_authn_dbd` veya `mod_authnz_ldap` aracılığıyla LDAP kimlik doğrulamasını değerlendirin.
