Vou explicar aqui como você disponibilizar o acesso a uma pasta do Apache(www) exigindo usuario e senha.

mkdir /var/www/teste 
echo "Testando autenticação no Apache" > /var/www/teste/index.html 
touch passwd .htaccess
AuthName "Nome que aparecerá no título da janela"
AuthType Basic
AuthUserFile /var/www/teste/passwd
require valid-user 
htpasswd -c passwd usuário

Será pedida a senha do novo usuário e em seguida sua confirmação.

New password:
Re-type new password:
Adding password for user

Ao abrir o arquivo de senhas (passwd), serão vistos os nomes de usuário e senhas criptografadas.

more passwd
"/etc/apache2/sites-available/default"

Colocando as seguintes linhas no final do arquivo antes da tag substituindo todas as diretivas conforme suas necessidades, uma observação importante é para a tag AllowOverride a mesma deve conter “AuthConfig” para que a autenticação seja bem sucedida.

Alias /teste/ "/var/www/teste/"
Options Indexes MultiViews FollowSymLinks
AllowOverride AuthConfig
Order deny,allow
Deny from all
Allow from 172.16.0.0/255.0.0.0 ::1/128
/etc/init.d/apache2 restart

Observações: as linhas abaixo se referem à restrição por IP, não são necessárias à autenticação.

Deny from all

Allow from 172.16.0.0/255.0.0.0 ::1/128

E todo esse tramite desse ser feito pelo usuário root para funcionar.

Eu uso aqui e você, vai deixar de se proteger!

Fonte:Viva o Linux