Pull to refresh

Comments 21

Я бы Вас попросил написать еще к этому и авторизацию в squid через AD.
UFO landed and left these words here
Сквид уже научился понимать киррилические имена пользователей?
А то я специально для этого скрипт писал на Perl
wbinfo_group обязывает устанавливать и использовать samba, проще и надёжнее использовать ldap_group
Примерно так:

# LDAP authentication
auth_param basic program /usr/lib/squid3/squid_ldap_auth \
        -R \
        -b "DC=company,DC=lan" \
        -f "(sAMAccountName=%s)" \
        -h dc1.company.lan \
        -D "CN=squid,OU=Users_Special,DC=company,DC=lan" \
        -W /etc/squid3/LDAP.pass
auth_param basic children 5
auth_param basic realm Company Proxy Authentication
auth_param basic credentialsttl 2 hours

# Define ACL type for groups (using AD)
external_acl_type group_dn %LOGIN /usr/lib/squid3/squid_ldap_group \
        -R \
        -b "DC=company,DC=lan" \
        -f "(&(sAMAccountname=%u)(memberOf=%g))" \
        -h dc1.company.lan \
        -D "CN=squid,OU=Users_Special,DC=company,DC=lan" \
        -W /etc/squid3/LDAP.pass -K

# Define AD groups
acl group-proxy-users external group_dn cn=proxy-users,ou=groups,dc=company,dc=lan

# Allow all for group-proxy-users
http_access allow group-proxy-users
При такой настройке basic у меня происходит странное: Basic авторизация проходит, но буквально на пол минуты серфинга. Потом спрашивается снова. При этом в консоль squid падают постоянно сообщения типа:
2012/06/29 05:11:46.631| ZPH: Preserving TOS on miss, TOS=0
2012/06/29 05:11:46.669| ConnStateData::swanSong: FD 8

У Вас случаем нет идей по этому поводу?
Информации по этой теме в интернете море, но вторая статья такая же объемная, как и первая и по идее должна претендовать на какой-то бест-практик что ли. На деле же этот материал нельзя использовать даже как how-to. Во-первых, не разъяснены очень многие параметры, во-вторых, совершенно непонятны некоторые тактические ходы, которые если и заложены для будущих статей, то об этом нужно упоминать в тексте. Лично у меня сложилось впечатление, что настройка выполнялась по нескольким хауту с бездумным засовыванием тех или иных параметров, а потом оно взлетело.
Поддерживаю. Совершенно непонятно зачем всё это. Samba самодостаточна и для её работы в домене не нужен ни Kerberos (по умолчанию используется NTLM), ни LDAP. Для включения в домен достаточно установить samba и поправить всего два конфига: smb.conf и nsswitch.conf.
Значит nsswitch.conf был изменён автоматически, проверьте. По умолчанию в нём:
passwd: compat
group: compat
shadow: compat

После установки samba в первых двух полях, скорее всего, добавится winbind.
Специально проверил еще раз. Все остается по умолчанию, winbind не добавляется. Мало того, даже специально выставили в nsswitch.conf строку passwd: files. Samba продолжает работать совершенно нормально.
Вот такого конфига достаточно для включение samba в AD домен.

[global]
        # Domain auth configuration
        workgroup = COMPANY
        realm = COMPANY.LAN
        security = ADS
        restrict anonymous = 2
        idmap uid = 10000-100000
        idmap gid = 10000-100000
        winbind enum users = Yes
        winbind enum groups = Yes
        wins server = 172.20.1.101

        # Logs
        syslog = 0
        log file = /var/log/samba/log.%m
        log level = 3

        # Disable print server
        disable spoolss = Yes
        
        # Allow to delete readonly files
        delete readonly = yes

# Shared folders
[DEPTS]
        path = /mnt/data/depts
        admin users = "@COMPANY\localadmin zel"
        read only = No
        hide unreadable = Yes
        # Full support MS ACL
        vfs objects = acl_tdb

[SHARE1]
...
Собственно Ваш пример мало чем отличается от приведенного. У нас нет idmap uid и idmap gid, которые в последних версиях Samba уже особо и не нужны. testparm сообщает, что опции idmap uid и idmap gid нежелательны (deprecated). Мы только конкретизировали некоторые параметры, которые и так должны устанавливаться по умолчанию. Ну и wins не включали, поскольку есть DNS.
> testparm сообщает, что опции idmap uid и idmap gid нежелательны (deprecated)
Они по прежнему нужны, но теперь указываются через новый параметр idmap config вместо idmap uid/gid.
> Собственно Ваш пример мало чем отличается от приведенного.
Но у вас ещё Keberos и LDAP. Keberos и LDAP имеют смысл, но только в том случае, когда есть понимание «зачем».
Так ведь и kerberos и ldap используются при аутентификации. Мы только уточнили их значения и упомянули. Поскольку протокол (и kerberos и ldap) присутствуют в схеме авторизации, то весьма желательно упомянуть их и в конфиге. Согласен, что можно и не упоминать, но тогда может сложится ситуация, когда про них забудут. А это может привести к трате лишнего времени при поиске неисправности и восстановлении.
В простейшей конфигурации не используется ни kerberos, ни ldap. В вашей используется, но зачем — непонятно.
Only those users with full accounts are able to leave comments. Log in, please.