Squid и русские буквы+пробелы в аккаунтах AD

Ответить
alex25region
Новичок
Сообщения: 5
Зарегистрирован: 26 авг 2015 02:56

Squid и русские буквы+пробелы в аккаунтах AD

Сообщение alex25region » 27 авг 2015 10:38

Спасибо за подробный мануал по настройке SQUID. Наверное лучший мануал на русско-язычном просторе интернета!!!

1. Русские имена в отчетах lightSquid отображаются в следующем формате: "%d0%98%d0%b2%d0%b0%d0%bd%d0%be%d0%b2"
я решил это следующим образом - в файле
/usr/share/lightsquid/ip2name/ip2name.UsersAndHostnames
добавил строчку "$user=URLDecode($user); #decode user name"
Теперь в отчетах отображается как надо: Иванов
Может есть другое решение?
2. Малого того, что в АД аккаунты на русском языке, так они еще имеют пробелы - Иванов И И.
В логах /var/log/squid3/access.log - "%d0%98%d0%b2%d0%b0%d0%bd%d0%be%d0%b2+%d0%98+%d0%98"
В отчетах Lightsquid последняя буква И.
Также при выполнении скрипта realname-generate.sh в файле realname.cfg следующее:
Иванов
И
И
Сидоров
C
C
Как сделать полное имя "Сидоров И И" в отчетах lightsquid???
Я понимаю, что задачка не очень сложная, но bash мы не знаем((

Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 413
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: Squid и русские буквы+пробелы в аккаунтах AD

Сообщение Алексей Максимов » 27 авг 2015 11:21

Если у Вас русские логины, то непонятно зачем Вам вообще нужна функция формирования файла realname.cfg. Можете вообще отключить переменную $userealname в конфиге lightsquid.cfg. И вообще использование русскоязычных логинов не очень хорошая практика на мой взгляд, так как рано или поздно доставляет определённые сложности, особенно в гетерогенных средах.

alex25region
Новичок
Сообщения: 5
Зарегистрирован: 26 авг 2015 02:56

Re: Squid и русские буквы+пробелы в аккаунтах AD

Сообщение alex25region » 27 авг 2015 12:10

Алексей Максимов писал(а):Если у Вас русские логины, то непонятно зачем Вам вообще нужна функция формирования файла realname.cfg. Можете вообще отключить переменную $userealname в конфиге lightsquid.cfg.
хорошо попробую, о результатах отпишусь, но все равно думаю тут трабла с пробелами!
Алексей Максимов писал(а): И вообще использование русскоязычных логинов не очень хорошая практика на мой взгляд, так как рано или поздно доставляет определённые сложности, особенно в гетерогенных средах.
Совершенно согласен, но увы
1. Так досталось это добро, переводить нереально > 200 юзеров;
2. "Ленивые" пользователи хотят на русском - в том числе и пароли))), а для идентификации пользователей необходимо еще и инициалы.

alex25region
Новичок
Сообщения: 5
Зарегистрирован: 26 авг 2015 02:56

Re: Squid и русские буквы+пробелы в аккаунтах AD

Сообщение alex25region » 27 авг 2015 22:34

Алексей Максимов писал(а):Можете вообще отключить переменную $userealname в конфиге lightsquid.cfg.
Данный параметр по сути отключает поле ФИО, которое ни на что не влияет и может быть пустым.
Проблема в ПРОБЕЛАХ в аккаунтах, т.е. LightSquid анализируя лог Squid видит:
1440714679.210 420 10.25.118.17 TCP_MISS/200 993 GET http://yandex.ru/opensearch.xml %d0%98%d0%b2%d0%b0%d0%bd%d0%be%d0%b2 %d0%98 %d0%98 HIER_DIRECT/77.88.55.55 text/xml
декодирует "%d0%98%d0%b2%d0%b0%d0%bd%d0%be%d0%b2 %d0%98 %d0%9" в "Иванов И И"
и разбивает на
Иванов
И
И
делает статистику по последней букве И...


alex25region
Новичок
Сообщения: 5
Зарегистрирован: 26 авг 2015 02:56

Re: Squid и русские буквы+пробелы в аккаунтах AD

Сообщение alex25region » 28 авг 2015 05:57

Алексей Максимов писал(а):Понятно. Попробуйте вариант описанный в заметке squid: авторизация в ActiveDirectory и статистика посещений сайтов
Спасибо эту статью в части $user=URLDecode($user); #decode user name и $user =~ s/\s/_/g; - я уже пробовал.

Подскажите куда запихать $user =~ s/\s/_/g - т.е. замену пробелов на "_"
в этом файле: ip2name.UsersAndHostnames
#contributor: crux
#do nothing
#simple version
use Socket;
sub StartIp2Name() {
}
sub Ip2Name($$$) {
# $Lhost,$user,$Ltimestamp
$user =URLDecode($user); #decode user name
my ($ip, $user) = @_;
return $user if $user ne "-";
if (!defined $hIP{$ip}) {
my $iaddr = inet_aton($ip);
my $user = scalar gethostbyaddr($iaddr, AF_INET);
$user =~ s/\..+$// if defined $user;
$user = uc($user) if defined $user;
# if gethostbyaddr failed to get host, use ip
$user = $ip unless defined $user;
$hIP{$ip}=$user;
}
return $hIP{$ip};
}
sub StopIp2Name() {
}
#warning !!!
1;

Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 413
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: Squid и русские буквы+пробелы в аккаунтах AD

Сообщение Алексей Максимов » 31 авг 2015 05:29

А так пробовали? :
Открываем файл и после строки
$user =URLDecode($user); #decode user name
добавляем такую
$user =~ s/\s/_/g;

alex25region
Новичок
Сообщения: 5
Зарегистрирован: 26 авг 2015 02:56

Re: Squid и русские буквы+пробелы в аккаунтах AD

Сообщение alex25region » 15 окт 2015 07:06

Алексей Максимов писал(а):А так пробовали? :
Открываем файл и после строки
$user =URLDecode($user); #decode user name
добавляем такую
$user =~ s/\s/_/g;
да пробовал не помогает.

Ответить

Вернуться в «Прокси-сервер Squid»