Начал собирать связку samba + squid чтобы по группам ограничивало доступ в инет. Столкнулся со след проблемой:center# wbinfo -n test1
S-1-5-21-3413916231-3172691657-3225474087-1151 User (1)center# wbinfo -Y S-1-5-21-3413916231-3172691657-3225474087-1151
Could not convert sid S-1-5-21-3413916231-3172691657-3225474087-1151 to gidПричем wbinfo с ключами -u, -g, -t ,-p нормально отрабатывает.
Прошу подсказать куда копать...Система:
Squid Cache: Version 2.6.STABLE16wbinfo -V
Version 3.0.26aFreeBSD 6.2-RELEASE
забыл:./wbinfo_group.pl
test1 test1pass
Could not lookup name test1pass
Could not convert sid to gid
У меня та же фигня, на SQUID 2.6.16 + SAMBA-3.0.26a + HEIMDAL 1.0.1
sparc# uname -a
FreeBSD sparc 6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #0: Sat Oct 6 12:27:21 MSD 2007 root@sparc:/var/SYS/src/sys/sparc64/compile/BarinovSV sparc64
НО!!!:
sparc# perl wbinfo_group.pl
user1
Use of uninitialized value in concatenation (.) or string at wbinfo_group.pl line 96, <STDIN> line 1.
Use of uninitialized value in concatenation (.) or string at wbinfo_group.pl line 97, <STDIN> line 1.user1 11111111
Could not lookup name 11111111
Could not convert sid to gid
Could not get groups for user user1
OK
user1
OK
user2
OK
>[оверквотинг удален]
>user1 11111111
>Could not lookup name 11111111
>Could not convert sid to gid
>Could not get groups for user user1
>OK
>user1
>OK
>user2
>OK
>
Вводить надо имя пользовтеля и его группу а не пароль как написано в некоторых статьях. Т.е. создаешь в домене пользователя например test и группу testusers. Затем wbinfo_group.pl и вводишь test testusers, если все настроено путем то должно сказать ОК. Кстати у меня авторизация работает только из оперы почемуто, 7-ой ишак ни в какую не хочет проходить авторизацию.
>[оверквотинг удален]
>>user2
>>OK
>>
>
>Вводить надо имя пользовтеля и его группу а не пароль как написано
>в некоторых статьях. Т.е. создаешь в домене пользователя например test и
>группу testusers. Затем wbinfo_group.pl и вводишь test testusers, если все настроено
>путем то должно сказать ОК. Кстати у меня авторизация работает только
>из оперы почемуто, 7-ой ишак ни в какую не хочет проходить
>авторизацию.В логах:
Character in 'c' format wrapped in pack at /usr/local/etc/squid/libexec/wbinfo_group.pl line 93, <STDIN> line 1.
Could not convert sid S-1-5-21-3442742693-3889509963-672684460-500 to gid
Could not get groups for user 0
2007/10/23 21:46:48| helperHandleRead: unexpected reply on channel -1 from cowwwusers #1 'OK'
Конфиг:
external_acl_type cowwwusers ttl=10 cache=8196 children=9 concurrency=18 protocol=2.5 %LOGIN /usr/local/etc/squid/libexec/wbinfo_group.pl
acl UWWW external cowwwusers
http_access allow UWWW
Не ффтыкаю, в чём дело, похоже руки не из того места, или пива мало.
>[оверквотинг удален]
>
>
>Конфиг:
>
>external_acl_type cowwwusers ttl=10 cache=8196 children=9 concurrency=18 protocol=2.5 %LOGIN /usr/local/etc/squid/libexec/wbinfo_group.pl
>acl UWWW external cowwwusers
>http_access allow UWWW
>
>Не ффтыкаю, в чём дело, похоже руки не из того места, или
>пива мало.После второй пива дело пошло (надо было неделю назад пива попить):
Итого конфиг squid.conf:
#В Винде SBS 2003 группа зовётся coWWWUsers
external_acl_type WWWUsers cache=8196 children=5 ttl=0 protocol=2.5 %LOGIN /usr/local/etc/squid/libexec/wbinfo_group.pl
acl UWWW external WWWUsers coWWWUsers
http_access allow UWWW
wbinfo_group.pl:
sub check {
local($user, $group) = @_;
$groupSID = `wbinfo -n "$group" | cut -d" " -f1`;
chop $groupSID;
$groupGID = `wbinfo -Y "$groupSID"`;
chop $groupGID;
&debug( "User: -$user-\nGroup: -$group-\nSID: -$groupSID-\nGID: -$groupGID-");
#Т.к. разделитель у меня '+':
$user=~ tr/\\/+/s;
return 'OK' if(`wbinfo -r \Q$user\E` =~ /^$groupGID$/m);
return 'ERR';
}
В логах всё ок.
Спасибо большое.