в сырца сквида
cd auth_modules/NCSA
make
make install
добавляешь в squid.conf
authenticate_program /usr/local/squid/bin/ncsa_auth /etc/proxy_pwd
acl делаешь примерно так:
acl mrdrlnd4 src 10.30.20.0/24
acl passwd proxy_auth REQUIRED
http_access allow mrdrlnd4 passwd
для генерации паролей можешь програмку заюзать
#include <stdio.h>
#include <unistd.h>
void main(int argc, char *argv[]) {
FILE *handle;
char login[30]={0};
char pass[100]={0};
if (argc!=2) { fprintf(stderr,"usage: addpass filename\n"); exit(1); }
handle=fopen(argv[1],"a");
if(!handle) { fprintf(stderr,"Can't open %s, aborting\n",argv[1]); }
while (1) {
gets(login);
if(login[0]==0) break;
strcpy(pass,getpass("") );
if(feof(stdin)) break;
fprintf(handle,"%s:",login);
fprintf(handle,"%s\n",crypt(pass,"aa"));
}
fclose(handle);
}
потом програмке в ком строке передаешь имя файла
с паролями, enter, user, enter, password, enter, enter