|
Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » Настройка файлового сервера на базе FreeBSD в домене Windows. |
|
Настройка файлового сервера на базе FreeBSD в домене Windows.
|
fascinating rhythm Сообщения: 6495 |
Профиль | Отправить PM | Цитировать Знаю, тема избитая-переизбитая - связать BSD-Linux систему с доменной Windows-сетью. Но во всех инструкциях, по которым я действовал (в частности, вот этой и вот этой), не получается не только настроить так, как нужно мне, но даже и дойти вообще до каких-то осмысленных настроек. Просто расшарить папку у меня получалось, без аутентификации доменных пользователей. Но это не нужно.
А нужно вот что: есть доменная сеть, где всё на Windows. Подсеть одна - 192.168.0.*. PDC работает на Windows 2000 server, установлена AD. Для файлового сервера, члена домена, нужно только предоставление сетевых папок доменным пользователям, сидящим под Windows, и разграничение доступа (чаще всего по группам в AD, но и по отдельным пользователям тоже). Квоты тоже не нужны. Единственное, чего бы хотелось, это более простое управление разрешениями на доступ из-под какой-нибудь оболочки, неважно, где это будет находиться - на сервере Windows, локально на файловом сервере из-под иксов, или с Windows-машины администратора. Почему выбор пал на FreeBSD? Да потому что ни один Линукс не смог распознать рэйд-массив (зеркало) на сервере. Убунту видит два диска отдельно, и из них можно легко построить программный рэйд, но зачем мне программный, если уже построен аппаратный? FreeBSD сразу предложила установку на ar0. Пользуясь хэнд-буком, установил FreeBSD 7.0, Gnome и Samba3 (достаточно свежую, которая идёт в комплекте дисков FreeBSD 7.0), пользуясь sysinstall-ом. Настроил автозапуск Гнома, перезагрузился, зашёл под root-ом. Дерево пакетов и систему не обновлял, не вижу смысла в этом. Всё, что есть на дисках, и так достаточно свежее, а если заработает, как мне надо, так вообще подходить к серверу не буду. Пользователей не заводил - удалённый доступ по SSH не включал на этапе установки, он тоже не нужен пока. Будет нужен - так включу. И локальных пользователей на сервере тоже не будет, сервер будет работать с доменными, и брать всё из AD. Так что из пользователей будет один root для "зашёл-настроил-вышел". После установки, в вышеприведённых инструкциях написано, что надо установить heimdal для работы с kerberos5. Это меня удивило. А зачем? Поддержка пятого кербероса, согласно хэнд-буку, встроена в дистрибутив ещё со времён FreeBSD-5.1. Читаю хэнд-бук дальше - "Heimdal Kerberos доступен в виде порта (security/heimdal), его минимальный комплект включен в базовую установку FreeBSD." Понятно, возвращаюсь к инструкции. Чтобы настроить heimdal, надо отредактировать файл /etc/krb5.conf. Нету этого файла нигде! Ладно, установлю heimdal сам. # whereis heimdal heimdal: /usr/ports/security/heimdal # cd /usr/ports/security/heimdal # make install clean Heimdal скомпилировался и установился. А krb5.conf как не было, так и нет! Поискал - нашлись файлы krb5.conf.5 (справка какая-то), и два одинаковых файла krb5.conf.5.gz в разных местах. Вот тут я и застрял. Подскажите, как выйти из этого тупика, а я потом наверняка задам ещё вопросы. Если всё получится, напишу инструкцию, но постараюсь сделать её наиболее универсальной и простой. Спасибо. |
|
------- Отправлено: 14:10, 10-07-2008 |
Старожил Сообщения: 437
|
Профиль | Отправить PM | Цитировать 1) Да
2) ADS, Winbind 3) нужна ли лопата, если копать не будем? |
------- Отправлено: 16:48, 16-07-2008 | #51 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 7117
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
Цитата DJ Mogarych:
Цитата DJ Mogarych:
2) ADS (чтоб в домен войти), winbind (получить список пользователей и групп) точно нужны, можно до кучи выключить поддержку syslog 3) нет, в них не будет тогда смысла ЗЫ. В соавторы статейки возьмёте? |
|||
------- Отправлено: 18:13, 16-07-2008 | #52 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
2. Членом домена можно быть в режиме совместимости - NT-style и в "родном" режиме. В первом случае нужна аутентификация NTLM(2), winbind и все. Во втором случае - kerberos, winbind, ads. 3. Параметры к acl нужны если нужна функциональная вкладка "Безопасность" в свойствах папки с вин-машины. |
|
------- Отправлено: 19:28, 16-07-2008 | #53 |
fascinating rhythm Сообщения: 6495
|
Профиль | Отправить PM | Цитировать Цитата Аlchemist:
А почему я махнул рукой на галки - потому что для того, чтобы поменять разрешения в Windows-среде, надо всё равно лезть на сервер. Так, ADS, winbind и ACL. LDAP не нужен? Вычитал в журнале "Системный администратор" за февраль 2007-го, что из файла nsswitch.conf надо удалить всё, и оставить такие строчки: Достаточно компактно, во всех остальных инструкциях nsswitch.conf более многословен. Достаточно ли этих трёх параметров? |
|
------- Отправлено: 20:17, 16-07-2008 | #54 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать Достаточно. Строка "files winbind" говорит о том, что вначале будет произведен поиск юзеров, паролей, групп и хостов в локальных базах типа /etc/group, при ненахождении будет запрос к winbindd, который произведет поиск всего этого через самбу в домене.
При сборке самбы с поддержкой ADS необходимо также включать и поддержку LDAP (хотя, возможно при включении ADS оно автоматом само подхватывает и ЛДАП - уж не помню щас - если же нет - должна быть ошибка сборки). |
------- Отправлено: 14:03, 18-07-2008 | #55 |
fascinating rhythm Сообщения: 6495
|
Профиль | Отправить PM | Цитировать Так, друзья, наконец-то я смог настроить сие.
Вот предварительный вариант статьи, уточнения и дополнения с удовольствием приму. Простейшая настройка файлового сервера на FreeBSD 7.0 с интеграцией в Active Directory на контроллере домена Windows. Дано: Небольшая Windows-сеть с контроллером домена Windows 2000 server. На контроллере домена, естественно, стоит Active Directory. Домен, для простоты, назовём DOMAIN, а администратора домена - Administrator. Задача: сделать файловый сервер под управлением бесплатной операционной системы, с контролем доступа пользователей, записанных в Active Directory на контроллере домена Windows 2000-2003. Сервера печати, квот и прочих чудес не будет. Просто папочки с доступом определённых пользователей или групп. Почему FreeBSD? Потому что эта система воспринимает большее число серверных устройств, к примеру, RAID-контроллеров, без установки дополнительных драйверов (которые просто так зачастую не устанавливаются, или их просто не существует под UNIX-системы), и потому что нет такой путаницы с дистрибутивами, как у Linux. Описывать установку FreeBSD не буду, скажу лишь, что желательно при установке включить доступ по SSH. Данная настройка файлового сервера не подразумевает управление разрешениями с клиентских машин с Windows, и для удалённого доступа к файловому серверу можно использовать программу Putty. А можно и вообще удалённого доступа не делать, это уже хозяин-барин. Почему не сделать управление доступом к разрешениям на папки галочками из Windows? Да потому что полезность этого стремится к нулю - разрешения на папки меняются не каждый день; чаще всего создаётся папка, даются права какому-то пользователю или группе, а потом всё это не меняется годами. В конце концов, можно дать пользователю или группе полные права в этой папке - пусть делает там что ему заблагорассудится. И с настройкой есть проблемы: у меня, например, никак не хотели изменяться права на файловую систему; не хотела она отмонтироваться, чтобы поменять права, и всё тут! Ни в монопольном режиме, никак. В общем, лишняя головная боль. Оставим эту возможность. Графических оболочек для создания файлового сервера не нужно: всё ограничится несколькими командами в консоли, да небольшими правками конфигурационных файлов. Можно установить Midnight Commander, по вкусу. Также при установке FreeBSD не нужно создавать пользователей. Они тоже ни к чему. Настроив сервер, выйдем из сеанса суперпользователя, и сервер будет работать себе дальше. Надо что-то поправить - опять зайдём под суперпользователем, и настроим что нужно. В конце концов, пользователя можно элементарно завести из консоли когда угодно. Обновлять порты и пересобирать ядро не будем. И так сойдёт. И, наконец, пакет, необходимый для взаимодействия с Windows-окружением - Samba3 - ставить из пакетов, идущих в дистрибутиве FreeBSD 7.0, не будем, потому что в этом пакете нет поддержки Active directory, которая нам как раз и нужна. Итак, FreeBSD 7.0 установлена, сетевая карта настроена, сервер имеет доступ в интернет, и в систему зашли под root-ом. Теперь надо ставить Samba3. В дереве портов она находится по адресу Забавно, но поиск нужного порта по команде выдаёт ссылку на японский порт: Его-то я и ставил. :-) Но японский ставить или нет, совершенно неважно. Для установки пишем: Всплывает окно конфигурации. Я убрал CUPS (сервер печати), поставил крестик на ADS (поддержке Active directory) и, на всякий случай, на ACL_SUPPORT. Больше ничего не менял. Нажимаем OK и не спеша идём пить чай - скачиваться и устанавливаться будет небыстро. Во многих подобных инструкциях дальше указывается ставить и настраивать kerberos5. Так вот - не надо ничего ни ставить, ни настраивать. Kerberos5 входит в состав FreeBSD начиная ещё с версии 5.1, и дополнительной настройки требует в случаях сложной организации сети. Пропускаем этот пункт. Дальше нужно отредактировать файл nsswitch.conf. Это конфигурационный файл диспетчера службы имён, и в нём задаётся порядок просмотра тех или иных источников информации по спискам пользователей, паролям, сетевым протоколам и другим вещам. Во FreeBSD есть простенький консольный текстовый редактор, он называется "ee". Итак, редактируем: Перечисленные ниже параметры надо привести к такому виду: group: files winbind group_compat: nis hosts: files dns networks: files dns passwd: files winbind passwd_compat: nis shells: files services: compat services_compat: nis protocols: files rpc: files Теперь надо заняться конфигурированием непосредственно файл-сервера. Сначала создадим саму папку, которая будет общей. В данном случае папка называется share, и находится она в корне файловой системы. Настраиваем Самбу. Её конфигурационным файлом является smb.conf. Набираем: Потом стираем всё, что есть в конфигурации (нажимаем и держим Ctrl+k), и пишем следующее: [global] # В какую группу компьютеров входит наш сервер workgroup = domain # Имя домена realm = domain # Режим работы сервера (безопасность) - Active Directory security = ADS # Имя нашего сервера в "Сетевом окружении" netbios name = FreeBSD # Диапазон раздаваемых идентификаторов групп внешних пользователей (чтобы не пересекались с локальными) idmap gid = 10000-20000 # Диапазон раздаваемых идентификаторов внешних пользователей (чтобы не пересекались с локальными) idmap uid = 10000-20000 # Кодировки отображения имён файлов (надо, чтобы имена нормально показывались в консоли) display charset = cp1251 unix charset = cp1251 dos charset = 866 # Название предоставляемого ресурса [share] # Путь к папке path = /share # Режим "только для чтения" отключен read only = no # У кого права на чтение (@ означает группу; если надо написать пользователя, то пишите без @) # Разделитель - запятая с пробелом read list = @"DOMAIN\Domain users" # У кого права на запись write list = @"DOMAIN\Domain admins" # У кого права администратора (привилегии суперпользователя) admin users = @"DOMAIN\Domain admins" Дальше получаем билетик kerberos от имени администратора домена: # kinit Administrator Administrator@DOMAIN's Password: [набираем пароль] kinit: NOTICE: ticket renewable lifetime is 1 week # net ads join -U Administrator Administrator's password: [набираем пароль] Using short domain name -- DOMAIN Joined 'FreeBSD' to realm 'DOMAIN' Ничего не трогаем, только в конец файла записываем: Выходим из "ee", сохранив результат. Перезагружаем наш сервер командой reboot. Всё! P. S. Я не знаю, достаточно ли обычного указания кодировок в Самбе для нормального отображения русских названий файлов в консоли. Я думал, что дело в кодировке консоли, и переделал её сначала под cp1251. Но это не помогло (только Midnight commander стал русским - приятный сюрприз). Только после этого я добавил строки с указанием кодировок в smb.conf. После этого всё стало на свои места. И я не знаю, надо переделывать консоль в cp1251, или нет. Может быть, можно обойтись и без этого. А может быть, не трогать консоль, а установить Midnight commander, и выставить кодировку там. В Коммандэре всё ж удобнее файлы-то просматривать. |
------- Последний раз редактировалось DJ Mogarych, 30-07-2008 в 11:28. Отправлено: 11:10, 30-07-2008 | #56 |
Ветеран Сообщения: 7117
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
Кстати, удалось ли решить проблему с наследованием свойств, как на обычной ntfs системе? |
|
------- Отправлено: 12:44, 30-07-2008 | #57 |
fascinating rhythm Сообщения: 6495
|
Профиль | Отправить PM | Цитировать А в чём эта проблема заключается?
|
------- Отправлено: 14:15, 30-07-2008 | #58 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Спасибо всем! Из всего что читал, это оказалось самым конкретным!
|
Отправлено: 16:43, 22-08-2009 | #59 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Зависание файлового сервера... | exo | Microsoft Windows NT/2000/2003 | 5 | 25-09-2009 20:57 | |
Падение файлового сервера, DNS-сервера раз в 24 часа. | Yazago | Microsoft Windows NT/2000/2003 | 42 | 01-09-2009 11:52 | |
FreeBSD - Создание сервера на базе FreeBSD | DRag0nFly | Общий по FreeBSD | 5 | 17-12-2008 11:39 | |
Организация файлового сервера | max_k | Microsoft Windows NT/2000/2003 | 4 | 22-02-2007 11:49 | |
Настройка домашнего сервера под FreeBSD | Fokrem | Общий по FreeBSD | 2 | 22-01-2007 09:15 |
|