Тут просили опытом поделиться, как я создал файловый сервер Samba с авторизацией в домене Windows NT 4.0 и раздаю права на папки на уровне домена. Что ж. Тогда сразу оговорюсь на чем делал я: 1. Домен Windows NT 4.0 2. FreeBSD 5.2.1 3. Samba (исходники, в пекеджах не годятся) 2.2.8a (пробовал на ветке 3.х, работало, но были проблемы с выводом списка доменных пользователей и груп).
И так приступим.
1. Установка
Распаковываем исходники Samba: tar -zxvf samba-2.2.8a.tar.gz
Конфигурим (параметры для дальнейшей работы критичны!): cd \samba-2.2.8a\source configure --with-winbind --with-winbind-auth-challenge --with-acl-support --with-syslog Если хотите создавать дисковые квоты, то можно добавить --with-quotas, но они не будут работать пока вы не перекомпилируете ядро с поддержкой дисковых квот.
Ждем завершения. Компилируем. make make modules
и инсталлируем make install
2. Конфигурирование.
Для простоты привожу свой файл smb.conf: #======================= [global] workgroup = FC netbios name = SVALKA server string = Garbage hosts allow = 192.168.14. 192.168.3. 192.168.17. 192.168.18. 127. log file = /var/log/log.%m max log size = 500 security = domain password server = * encrypt passwords = yes socket options = TCP_NODELAY local master = no dns proxy = no dos charset = CP866 display charset = CP866 delete readonly = yes
После изменения smb.conf можно попробовать зарегистрироваться в домене Windows NT. net join -U имя_администратора_домена команда запросит у Вас пароль админа и должна ответить положительно. Joined domain FC. (тут должен стоять Ваш домен)
Запускаем winbind -d9
и контролируем его работу:
команда wbinfo -p должна вернуть: 'ping' to winbindd succeeded
команда wbinfo -t должна вернуть: checking the trust secret via RPC calls succeeded
Если это не так, заглядываем в логи winbind и разбираемся в чем дело.
Копируем библиотеку libnss_winbind.so в каталог /lib: cp nsswitch/libnss_winbind.so /lib
Проверяем видимость доменных пользователей и груп: winbind -u winbind -g Вы должны увидеть записи типа: ..... FC\Username1 FC\User2 FC\Name3 .... Приставка домена с "\" обязательна - иначе нормальная раздача прав Вам не светит!
3. Автозапуск файлового сервера
Теперь осталось настроить все для автоматического запуска сервера. Можно запускать демонов самбы при запуске, но разумней (а возможно и правильней) будет запускать сервисы по мере обращения к ним. Соответственно мы получим запуск сервисов под учетными записями пользователей в домене НТ. Для это в /etc/inetd.conf добавляем (или исправляем): netbios-ssn stream tcp nowait root /usr/local/samba/sbin/smbd netbios-ns dgram udp wait root /usr/local/samba/sbin/nmb А в /etc/rc.local: /usr/local/samba/sbin/winbindd -B
Кстати если запускать не от рута, то ничего не работает. Почему?
После чего соединяемся с ресурсом со станции Windows уже зашедшего пользователя домена НТ и делаем на Юниксе команду top
Если есть такая картина и юзер зашел! Идем пить пиво!
4. Раздача прав на папки.
Тут все просто. Раздавайте себе права на уровне Юникса, но прописывайте сразу доменных юзеров и группы. Например, chown FC\JackSoft DiskK chown :FC\Domain Admins ForAdmins и т.д.
, а уже потом создаются/меняются для группы и ли пользователя:
edquota FC\JackSoft man edquota
редактируем тектстовый файл и записываем его. Все квота изменена.
P.S. Установленная система так работает уже пол-года. Скорость файлового сервера на Юниксе на порядок выше чем тот же сервак на Винде. Дело стоит заморочек с переносом.