Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » Настройка файлового сервера на базе FreeBSD в домене Windows.

Ответить
Настройки темы
Настройка файлового сервера на базе FreeBSD в домене Windows.

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465


Конфигурация

Профиль | Отправить 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
Появилось окошко, что ставить. Я выбрал LDAP (как по инструкциям), и на всякий случай, x11 utilies - подумал, что будет GUI какой-нибудь.
Heimdal скомпилировался и установился. А krb5.conf как не было, так и нет! Поискал - нашлись файлы krb5.conf.5 (справка какая-то), и два одинаковых файла krb5.conf.5.gz в разных местах. Вот тут я и застрял.

Подскажите, как выйти из этого тупика, а я потом наверняка задам ещё вопросы. Если всё получится, напишу инструкцию, но постараюсь сделать её наиболее универсальной и простой.

Спасибо.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 14:10, 10-07-2008

 

Аватара для Аlchemist

Старожил


Сообщения: 437
Благодарности: 46

Профиль | Отправить PM | Цитировать


1) Да
2) ADS, Winbind
3) нужна ли лопата, если копать не будем?

-------
IT house


Отправлено: 16:48, 16-07-2008 | #51



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для dmitryst

Ветеран


Сообщения: 7116
Благодарности: 886

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Самба собралась, когда я выкинул CUPS из конфигуратора сборки. »
у меня из портов собралась нормально
Цитата DJ Mogarych:
Я подумал - да бог с ними, с галками этими под Windows. »
нууу..... Лишать себя такого удовольствия? Я против

Цитата DJ Mogarych:
Ещё несколько вопросов: »
1) да, иначе оно работать не будет
2) ADS (чтоб в домен войти), winbind (получить список пользователей и групп) точно нужны, можно до кучи выключить поддержку syslog
3) нет, в них не будет тогда смысла

ЗЫ. В соавторы статейки возьмёте?

-------
Осваиваю FreeBSD


Отправлено: 18:13, 16-07-2008 | #52


Аватара для Dimon

Ветеран


Сообщения: 551
Благодарности: 13

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
1) Обязательно ли править nsswitch.conf?
2) Какие минимально возможные настройки сборки Самбы из портов, чтобы получить функциональность файлового сервера-члена AD?
3) Нужны ли всякие там ACL, если галки из-под Windows отпадают, и достаточно обычного разграничения доступа по доменным пользователям? »
1. Без правки nsswitch система не будет знать в каких локальных базах искать юзеров/группы/хосты и прочее относящееся к домену. Если не добавлять строку "winbind" то не будет происходить "отображение" (map) юзеров домена на локальную машину. Иначе говоря, если есть строка winbind в nsswitch то фря будет обрабатывать доменных юзеров точно так же (точно такими же системными вызовами, например gethostbyname() ), как и своих локальных из /etc/passwd, /etc/group например. man nsswitch.conf более подробно расскажет зачем это нужно.
2. Членом домена можно быть в режиме совместимости - NT-style и в "родном" режиме. В первом случае нужна аутентификация NTLM(2), winbind и все. Во втором случае - kerberos, winbind, ads.
3. Параметры к acl нужны если нужна функциональная вкладка "Безопасность" в свойствах папки с вин-машины.

-------
Патроны кончаются... Санитары близко... Всем пока


Отправлено: 19:28, 16-07-2008 | #53


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Цитата Аlchemist:
нужна ли лопата, если копать не будем? »
Копать будем, только хочется копать там, где помягче, а ещё лучше - воспользоваться экскаватором.

А почему я махнул рукой на галки - потому что для того, чтобы поменять разрешения в Windows-среде, надо всё равно лезть на сервер.

Так, ADS, winbind и ACL. LDAP не нужен?

Вычитал в журнале "Системный администратор" за февраль 2007-го, что из файла nsswitch.conf надо удалить всё, и оставить такие строчки:
Код: Выделить весь код
passwd: files winbind
group: files winbind
hosts: files dns
Достаточно компактно, во всех остальных инструкциях nsswitch.conf более многословен. Достаточно ли этих трёх параметров?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 20:17, 16-07-2008 | #54


Аватара для Dimon

Ветеран


Сообщения: 551
Благодарности: 13

Профиль | Отправить PM | Цитировать


Достаточно. Строка "files winbind" говорит о том, что вначале будет произведен поиск юзеров, паролей, групп и хостов в локальных базах типа /etc/group, при ненахождении будет запрос к winbindd, который произведет поиск всего этого через самбу в домене.
При сборке самбы с поддержкой ADS необходимо также включать и поддержку LDAP (хотя, возможно при включении ADS оно автоматом само подхватывает и ЛДАП - уж не помню щас - если же нет - должна быть ошибка сборки).

-------
Патроны кончаются... Санитары близко... Всем пока


Отправлено: 14:03, 18-07-2008 | #55


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить 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. В дереве портов она находится по адресу
Код: Выделить весь код
/usr/ports/net/samba3
Забавно, но поиск нужного порта по команде
Код: Выделить весь код
# whereis samba3
выдаёт ссылку на японский порт:
Код: Выделить весь код
/usr/ports/japanese/samba3
Его-то я и ставил. :-) Но японский ставить или нет, совершенно неважно.

Для установки пишем:
Код: Выделить весь код
# cd /usr/ports/net/samba3 && make install clean
Всплывает окно конфигурации. Я убрал CUPS (сервер печати), поставил крестик на ADS (поддержке Active directory) и, на всякий случай, на ACL_SUPPORT. Больше ничего не менял. Нажимаем OK и не спеша идём пить чай - скачиваться и устанавливаться будет небыстро.

Во многих подобных инструкциях дальше указывается ставить и настраивать kerberos5. Так вот - не надо ничего ни ставить, ни настраивать. Kerberos5 входит в состав FreeBSD начиная ещё с версии 5.1, и дополнительной настройки требует в случаях сложной организации сети. Пропускаем этот пункт.

Дальше нужно отредактировать файл nsswitch.conf. Это конфигурационный файл диспетчера службы имён, и в нём задаётся порядок просмотра тех или иных источников информации по спискам пользователей, паролям, сетевым протоколам и другим вещам.
Во FreeBSD есть простенький консольный текстовый редактор, он называется "ee".
Итак, редактируем:
Код: Выделить весь код
# ee /etc/nsswitch.conf
Перечисленные ниже параметры надо привести к такому виду:

Код: Выделить весь код
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
Чтобы выйти из редактора, нажмите кнопку Esc и выберите пункт "leave editor". Далее выберите "save changes", чтобы сохранить изменения.


Теперь надо заняться конфигурированием непосредственно файл-сервера. Сначала создадим саму папку, которая будет общей. В данном случае папка называется share, и находится она в корне файловой системы.
Код: Выделить весь код
# mkdir /share
Настраиваем Самбу. Её конфигурационным файлом является smb.conf.
Набираем:
Код: Выделить весь код
# ee /usr/local/etc/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"
Можно и исходный файл отредактировать, но лучше написать только то, что нужно, убрав весь мусор (и комментарии тоже). Так как файл smb.conf часто перечитывается, лучше, чтобы он был наименьшего размера. Выходим из "ee", сохранив результат.

Дальше получаем билетик 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'
Отлично. Теперь редактируем файл rc.conf. Это конфигурационный файл с некоторыми системными параметрами и список служб, загружаемых вместе со стартом системы.
Код: Выделить весь код
# ee /etc/rc.conf
Ничего не трогаем, только в конец файла записываем:
Код: Выделить весь код
samba_enable="YES"
Выходим из "ee", сохранив результат.

Перезагружаем наш сервер командой reboot.

Всё!

P. S. Я не знаю, достаточно ли обычного указания кодировок в Самбе для нормального отображения русских названий файлов в консоли. Я думал, что дело в кодировке консоли, и переделал её сначала под cp1251. Но это не помогло (только Midnight commander стал русским - приятный сюрприз). Только после этого я добавил строки с указанием кодировок в smb.conf. После этого всё стало на свои места. И я не знаю, надо переделывать консоль в cp1251, или нет. Может быть, можно обойтись и без этого.
А может быть, не трогать консоль, а установить Midnight commander, и выставить кодировку там. В Коммандэре всё ж удобнее файлы-то просматривать.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 30-07-2008 в 11:28.


Отправлено: 11:10, 30-07-2008 | #56


Аватара для dmitryst

Ветеран


Сообщения: 7116
Благодарности: 886

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
И я не знаю, надо переделывать консоль в cp1251, или нет. Может быть, можно обойтись и без этого. »
Я переделал, доволен
Кстати, удалось ли решить проблему с наследованием свойств, как на обычной ntfs системе?

-------
Осваиваю FreeBSD


Отправлено: 12:44, 30-07-2008 | #57


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


А в чём эта проблема заключается?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 14:15, 30-07-2008 | #58


Аватара для ufunf

Новый участник


Сообщения: 19
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо всем! Из всего что читал, это оказалось самым конкретным!

Отправлено: 16:43, 22-08-2009 | #59



Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » Настройка файлового сервера на базе FreeBSD в домене Windows.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Зависание файлового сервера... 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




 
Переход