::Журнал СА 1.2002
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9930
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8139
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8245
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5221
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5905
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Миграция с Windows на Linux

Архив номеров / 2002 / Выпуск №1 (1) / Миграция с Windows на Linux

Рубрика: Администрирование /  Миграция

ДМИТРИЙ ГАЛЫШЕВ 

Миграция с Windows на Linux

Сначала давайте выясним для себя, зачем нам это нужно? Если ваш сервер работает под управлением Windows и никаких нареканий к стабильностии скорости его работы нет, не стоит ничего менять. Как известно лучшее – враг хорошего. К сожалению, везет далеко не всем.

Данная статья предназначена в первую очередь для тех, кто, считая, что «качественный продукт не может быть бесплатным», доверил управление своими серверами дорогой операционной системе и вынужден периодически смотреть на «синий экран смерти», терять время на перезагрузки и иногда на восстановление самой ОС.

Приведем сравнение операционных систем Microsoft Windows NT и Linux по нескольким критериям, не претендуя на детальное сравнение, которому посвящено уже много статей.

Windows NT:

  • Является коммерческим ПО, за использование каждой его копии необходимо платить.
  • Производитель обещает бесплатную техническую поддержку зарегистрированных пользователей, но не несет ответственности за потери данных, произошедшие из-за ошибок в коде ОС, и полученный ущерб в случае чего придется доказывать в суде.
  • В комплект поставки входит операционная система, утилиты администрирования, набор простых игр, www- и ftp-сервер IIS.
  • Нужные вам утилиты, не входящие в состав OС, приобретаются отдельно.
  • Документация к системе приобретается отдельно.
  • Выполнение отдельных задач клиентом на сервере невозможно.

Linux:

  • Является свободно распространяемым ПО, и, имея одну копию, вы можете использовать ее на любом количестве компьютеров и тиражировать без ограничений.
  • Ядро ОС и поставляемые с ним программы вы используете на свой страх и риск без каких-либо гарантий. Это не значит, что техническая поддержка отсутствует – вы можете обратиться за ней к автору программы.
  • В дистрибутив входит комплект интернет-утилит как серверной, так и клиентской направленности, инструменты для разработки сетевого взаимодействия с другими ОС, игры и многое другое.
  • Если какого-то нужного вам пакета нет в дистрибутиве, вы можете бесплатно получить его с сайта разработчика.
  • В состав каждого дистрибутива входит комплект документации по ОС и всем установленным программам.
  • Пользователи могут не только выполнять задачи на сервере, но и планировать их выполнение в свое отсутствие.

Если вы хотите узнать больше, обратитесь к статье «Microsoft Windows NT Server 4.0 против UNIX» Джона Кирха, сетевого консультанта и сертифицированного специалиста Microsoft (Windows NT) на http://www.linux.org.ru/books/unix-nt.html. Статья датирована 1998 годом, и с тех пор многое изменилось, но расстановка сил осталась прежней.

Управление Linux основано не на «интуитивно понятном интерфейсе», а на правке различных конфигурационных файлов после чтения документации, которая написана в основном на английском языке, хотя переводов с каждым годом становится больше и больше. Если вы нелюбознательны или нетерпеливы, эта ОС не для вас. Не испугались? По прежнему полны решимости? Ну что же, начнем осваивать новую ось. В любом случае договоримся, что все работающие сервера остаются работать до тех пор, пока к ним обращается хотя бы один пользователь.

Для начала рассмотрим задачу освобождения сервера под управлением Windows NT от обязанностей основного контроллера домена (PDC). Основное преимущество доменной структуры – выполнение скриптов, определенных администратором для выполнения при входе и выходе пользователя домена. Также, с помощью Samba, мы возьмем на себя задачи файл-сервера – предоставление коллективного доступа к своим файлам и папкам.

Применить здесь понятие «к ресурсам» было бы не совсем корректно, так как к ресурсам относятся время процессора, память и так далее. Удаленные пользователи могут использовать и их, но Windows NT такой возможности не предусматривает.

Системы Microsoft Windows 3.11, 9х и NT используют для предоставления совместного доступа к файлам, папкам и принтерам протокол Server Message Block (SMB). В Linux за работу с SMB отвечает пакет Samba. О нем его создатели пишут следующее: «Вот короткий список того, что делает Samba. Для многих сетей можно сказать коротко: «Samba предоставляет полноценную замену серверам Windows NT, Warp, NFS или Netware».

  • SMB сервер для предоставления доступа к файлам и принтерам, клиентам с рабочих станций Windows 95, Warp Server и подобным.
  • Сервер имен NetBIOS, который ко всему прочему поддерживает список доступных компьютеров в сети. Samba может выступать в роли главного обозревателя вашей сети.
  • SMB клиент позволяет пользоваться ресурсами других компьютеров сети (как файлами, так и принтерами) из UNIX, Netware и других ОС.
  • Расширение клиента «tar» позволяет делать резервные копии удаленных ресурсов.
  • Утилиты командной строки, поддерживающие некоторые возможности администрирования NT, которые могут быть использованы в Samba, NT workstation и NT server.

Вы можете получить больше информации на нашем сайте: http://samba.org/samba.

Если Samba еще не установлена, обращаемся к компакт-диску с дистрибутивом и устанавливаем все пакеты, содержащие в имени слово «samba». Типичные настройки обычно описаны в файле /etc/samba/smb.conf-sample и подходят большинству пользователей.

Рассмотрим его поподробнее. Файл состоит из секций, которые определяются именем в квадратных скобках.

В секции [global] объявляются общие переменные, влияющие на работу демонов.

В секции [homes] предоставляется возможность монтирования удаленными пользователями своих личных папок, находящихся на сервере.

Секция [printers] открывает доступ ко всем установленным в системе принтерам.

Переименуем файл /etc/samba/smb.conf-sample в smb.conf и начнем его править под себя.

Полезными могут оказаться «подстановочные переменные», которые при чтении заменяются актуальными для сеанса значениями. Например, «%u» будет заменено именем подключающегося пользователя, а «%L» – NetBIOS-именем сервера. Полный список этих переменных Вы найдете в man-руководстве к smb.conf.

Вот некоторые глобальные параметры, на которые стоит обратить внимание:

  • workgroup – задает имя рабочей групппы или домена, в который входит компьютер.
  • hosts allow – список компьютеров и сетей, которым разрешен доступ, разделенный пробелами.
  • guest account – имя пользователя с правами гостя. По умолчанию – это nobody. Пользователь должен быть зарегистрирован в системе. Можно указать с помощью параметра username map файл, содержащий толкование передаваемых клиентом имен для сервера. Файл будет читаться построчно; в строке слева от знака «=» должно стоять имя, воспринимаемое сервером, справа – соответствующее ему имя, которое может передавать клиент. Например, если в файле содержится строка nobody = guest pcguest пользователям guest и pcguest будет предоставлен доступ как пользователю nobody.
  • security – один из важных параметров конфигурации – модель аутентификации.
    • security = user – для получения списка ресурсов пользователь должен быть опознан сервером. Будьте внимательны: по умолчанию ресурсы, открытые гостям, не будут доступны тем, кого сервер «не знает».
    • security = share – получение списка ресурсов не требует аутентификации. Клиент посылает запрос при подключении к конкретному ресурсу.
    • security = server – с точки зрения клиента, эта модель ничем не отличается от первой. Разница в том, что полученные имя/пароль Samba попытается проверить на доверенном сервере (например, НТ). Если попытка провалится, для этого соединения модель сменится на «user».
  • security = domain – отличается от предыдущей тем, что аутентификация происходит на PDC или BDC. Пароли должны передаваться в зашифрованном виде.
  • encrypt passwords – шифрование паролей. По умолчанию этот параметр выставлен в «no» и пароли передаются по сети открытым текстом.
  • interfaces – привязка к конкретным интерфейсам. Можно указать имя интерфейса со звездочкой вместо номера, тогда привязка будет ко всем найденным интерфейсам этого типа. Также можно указать просто IP-адрес или пару IP/маска сети.
  • local master – определяет, претендовать ли на роль локального обозревателя сети.
  • os level – так называемый «уровень» ОС. Для справки: у НТ-сервера этот параметр равен 32, у PDC – 64. Максимальное значение – 255.
  • domain master – определяет, претендовать ли на роль основного обозревателя домена. Если сеть состоит из нескольких сегментов, то локальные обозреватели каждого сегмента будут синхронизировать свои списки с ним.
  • preferred master – сообщает демону nmbd, что он является приоритетным обозревателем рабочей группы или домена, и это вынуждает его устраивать выборы при запуске, а в случае проигрыша – каждые 6 минут.
  • wins support – включает поддержку Samba-сервером WINS – Windows Internet Naming Service, службы определения адресов, сопоставляющей имена компьютеров в сети Microsoft с адресами IP.
  • wins server – указывает IP-адрес WINS-сервера сети. Этот параметр не может указывать на свой IP, т.е. используется только в случае, когда wins support = no.
  • domain logons – позволяет Samba выступать в роли контроллера домена.
  • logon path – указывает на каталог, где будут храниться профили пользователей.

Из параметров, применимых к конкретным разделяемым ресурсам, следует отметить:

  • comment – краткое описание ресурса, выводимое большинством клиентов рядом с его именем.
  • path – реальное расположение разделяемого ресурса в файловой системе сервера.
  • browseable – определяет, будет ли выдаваться имя ресурса на запрос о доступных ресурсах сервера.
  • writeable – определяет, возможна ли запись или модификация файлов ресурса пользователем.
  • guest ok – разрешает доступ к ресурсу всем пользователям сервера. (См. глобальный параметр security).
  • valid users – список пользователей, которым разрешен доступ к ресурсу. Как и в любой список пользователей в файле smb.conf можно добавлять и группы, предварив имя группы символом «@».
  • write list – список пользователей, которым разрешена запись и модификация файлов ресурса. Значение параметра writeable для этих пользователей не учитывается.
  • create mask – стандартная UNIX-маска, определяющая права доступа к вновь создаваемому файлу. Directory mask определяет права доступа к вновь создаваемому каталогу.

Полный список опций, употребляемых в файле, находится в man-руководстве к smb.conf. После редактирования рекомендуется проверить его на предмет ошибок и противоречий с помощью программы testparm. Если ошибки есть, она сообщит о них и, скорее всего, подскажет причину их возникновения.

Сначала настраиваем Samba как обычного сетевого клиента – она не должна претендовать ни на роль локального обозревателя, ни тем более – контроллера домена. Если таковые уже есть, то присваиваем значение «no» параметрам local master, domain master и preferred master.

Если разграничения доступа еще нет, самое время подумать о нем. В большинстве случаев несложно определить группы пользователей, работающие с определенными группами файлов. Например, бухгалтерия работает с базами бухгалтерской программы и не интересуется проектами программистов.

Мне не известен сколько-нибудь реальный способ переноса базы пользователей из Windows NT в Linux, поэтому придется делать это вручную. Неудобно, но в этом есть свои положительные стороны – найдется несколько неиспользуемых учетных записей, а также можно будет перераспределить пользователей по группам.

На момент написания статьи Samba (версии 2.2.5) имеет собственную базу пользователей, но не поддерживает пользователей, не имеющих учетной записи в системе. Разработчики обещают со временем перейти на независимую базу пользователей, но пока придется пользователей заводить сначала в системе. Пользователям, у которых не будет доступа к терминалу сервера (в идеале всем, кроме администратора) назначаем /bin/false в качестве командного интерпретатора и блокируем учетную запись, после чего прописываем их в базе Samba командой smbpasswd дважды: с ключом «-a» – для занесения в базу, с ключом «-e» – для снятия блокировки с записи.

Хорошо, если новая операционная система ставится на специально купленный сервер, еще лучше, если сервер куплен с предустановленной нужной нам ОС. Но как быть, если сервер один и нельзя его трогать до тех пор, пока все пользователи не смогут получить гарантированный доступ к своим файлам? Придется использовать любой доступный компьютер как «временный сервер». На него ставим тот же дистрибутив, что предполагаем ставить на основной сервер, и постепенно перенесем все ресурсы, предоставляемые старым сервером.

Какая машина справится с этой работой зависит от предполагаемой нагрузки. Достоверно известно, что Celeron 700/196 Мб RAM/30 Гб HDD в состоянии обслуживать 15 клиентов, интенсивно работающих с большим количеством файлов при средней нагрузке ~10%.

Разделяемые SMB ресурсы делим на:

  • Общедоступные (папка с драйверами и дистрибутивами программ, «помойка»).
  • Доступные группе (папки с данными, с которыми работает ограниченное количество лиц, например папка с базами бухгалтерской программы).
  • Домашние (папки привилегированных пользователей, доступные только им).

Наиболее часто допускаемая ошибка на этапе переноса данных – невнимательность к атрибутам вновь перенесенных файлов. Владельцем для них лучше всего назначить пользователя root, а группу-владельца – ту, что будет с этими файлами работать. Ну и не забыть позволить перезаписывать файлы членам группы-владельца.

Необходимо пройтись по пользователям и проверить доступ с их рабочих станций к новому серверу: чтение/запись в папку; чтение/запись в файлы, созданные другими членами группы, а также членами групп, имеющих смежный доступ в папку; отсутствие доступа в неразрешенные папки.

Если в вашей сети используются домены, проверьте smb.conf сервера:

Шифрование паролей должно быть включено.

[global]

...

  encrypt passwords = yes

...

Сервер должен поддерживать вход пользователей в домен и предоставлять разделяемый ресурс NETLOGON.

[global]

...

  domain logons = yes

...

[netlogon]

  path = /usr/local/samba/lib/netlogon

  read only = yes

  write list = ntadmin

Сервер должен быть главным обозревателем домена.

[global]

...

  domain master = yes

...

Если все в порядке, можно добавлять рабочие станции в домен.

Рабочие станции, функционирующие под управлением Windows NT/2000, используют так называемые «машинные» учетные записи – метод проверки подлинности рабочей станции (не пользователя), чтобы избежать входа в домен рабочей станции с таким же именем NetBIOS и получения прав пользователя домена. Рабочие станции, функционирующие под управлением Windows 9x/Me, таких учетных записей не используют, поэтому не могут считаться полноправными членами домена.

Существует два метода создания «машинных» учетных записей – ручной и автоматический.

Первый метод подразумевает выполнение вручную трех команд на сервере для каждой рабочей станции домена:

root# useradd -g 100 -d /dev/null -c <имя_машины> -s /bin/false <имя_машины>$

root# passwd -l <имя_машины>$

root# smbpasswd -a -m <имя_машины>

Вместо <имя_машины> подставляется NetBIOS-имя рабочей станции домена.

Второй метод рекомендован разработчиками Samba как более безопасный и требует лишь добавления в секцию [global] строки:

add user script = /usr/bin/adduserscript %u

Это подразумевает, что в каталоге /usr/bin существует скрипт adduserscript примерно следующего содержания:

#!/bin/sh

/usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -m $1

После этого с добавляемой рабочей станции заходим в домен как привелигированный пользователь (root, если не указан другой параметром admin user), и создаем учетную запись рабочей станции домена. Пока это не сделано, попытки зайти как обычный пользователь провалятся, даже если пользователь существует.

После того, как вся нагрузка будет перенесена на «временный» сервер, а старый сервер – выключен, подождем денёк-другой возникновения проблем и только послеэтого начинаем установку Linux на основной сервер. После установки системы конфигурационные файлы и файлы пользователей просто переносятся с «временного» сервера.

Итак, все готово, начинаем. Прикидываем время на переброску всех необходимых файлов со старого сервера на новый и объявляем профилактику на нужное время плюс 10 минут на неожиданности (если мы не допустили оплошностей при подготовке, работа возобновится как только файлы будут скопированы).

Старому серверу меняем NetBIOS-имя и перезапускаем Samba. Новому присваиваем имя старого. Перезапускаем Samba.

Все. Можем переходить к замене любимого лакомства для Nimda и CodeRed – Microsoft Information Server на самый популярный в Интернете www-сервер Apache, прокси-сервер Squid и ftp-сервер proftpd.

Но это уже немного другая история...


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru