Страница 1 из 1

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

Добавлено: 27 авг 2015 10:38
alex25region
Спасибо за подробный мануал по настройке 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 мы не знаем((

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

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

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

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

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

Добавлено: 27 авг 2015 22:34
alex25region
Алексей Максимов писал(а):Можете вообще отключить переменную $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" в "Иванов И И"
и разбивает на
Иванов
И
И
делает статистику по последней букве И...

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

Добавлено: 28 авг 2015 05:22
Алексей Максимов
Понятно. Попробуйте вариант описанный в заметке squid: авторизация в ActiveDirectory и статистика посещений сайтов

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

Добавлено: 28 авг 2015 05:57
alex25region
Алексей Максимов писал(а):Понятно. Попробуйте вариант описанный в заметке 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;

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

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

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

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