Участник:Alexandr/altinlan
ALT Linux в Домене или Рабочей Группе [ править ]
В этой статье я постараюсь привести примеры оптимальной, для большинства ситуаций, настройки дистрибутива Альт Линукс на работу в составе рабочей группы и в качестве члена домена. Изначально предполагается, что у вас установлена чистая система и есть доступ в Интернет или к другому репозиторию с необходимыми пакетами.
Я приведу полные примеры конфигурационных файлов, использование которых позволяет сразу же добиться результатов. Настоятельно рекомендую! использовать только их и не пытаться на их примере модифицировать свои, иначе вероятность ошибки, может многократно возрасти. Лучше сразу настроить систему на работу, а потом уже «допиливать» до требуемого состояния, чем пытаться разобраться в возникших проблемах. Данное руководство проверено на Alt Linux 4.1.0 Desktop и Lite, но теоретически должно работать на 4.0
Со временем, я буду обновлять и/или обновлять данное руководство, с одной лишь простой целью — создать из операционной системы Alt Linux удобное и адекватное решение для использования этой операционной системы вместе, с операционными системами Windows в одной локальной сети.
1. Работа в составе Рабочей Группы [ править ]
Перво-наперво мы включаем, либо перезагружаем компьютер. Затем нам нужно будет установить или доставить необходимые пакеты, а это — samba-client-3.x, samba-common-3.x, samba-3.x, они обязательны. Так же, если у вас графическая оболочка отличная от KDE, для удобной работы с сетью мы установим пакет fusesmb, хотя, даже если у вас KDE, вам может понравиться этот пакет. Монтировать общие сетевые папки при входе пользователя в систему можно через файл /etc/fstab ну или при помощи пакета pam_mount. Если у вас есть принтер и вы хотите раздать его в сеть, то у вас для этого все уже установлено. Открываем консоль — это можно сделать либо сочетанием клавиш «Alt+Ctrl+F2», либо поискать программы «Консоль» и «Терминал». Затем, нам нужно получить права суперпользователя системы. Если вы открыли консоль вышеприведенным сочетанием клавиш, просто войдите под пользователем root. Иначе, выполните команду:
введите пароль root-а и затем, мы проверим, какие у вас установлены пакеты. Выполним команды:
Обычно не бывает пакета pam_mount и не хватает пакетов fusesmb. Для того чтобы их поставить мы воспользуемся репозиторием. Сейчас мы подключим два репозитория. Если вы умеете подключать репозитории, то две следующие команды можете пропустить:
Теперь мы обновим список пакетов и установим нужные:
Я установил два пакета, которых обычно не хватает. Если у вас не хватает еще каких то пакетов, по просто добавьте их в конец приведено команды. Каждый новый пакет добавляется через пробел.
Теперь у нас есть все необходимое, перейдем непосредственно к настройке. Вот пример файла конфигурации /etc/samba/smb.conf, который мы будем использовать. Перед тем как приступить к правке файла, сделаем его резервную копию:
Теперь можем приступать. Полностью заменяем содержимое файла /etc/samba/smb.conf тем, что я привел ниже:
Если в качестве параметра force user указать имя вашего рабочего пользователя, вы сможете беспрепятственно удалять файлы в свое сетевой папке, обращаясь к ней как к дисковому ресурсу. Иначе, при значении nobody, чтобы удалить файлы из своей сетевой папки, вам придется либо поднимать свои права до root, либо заходить в папку как на сетевой ресурс. Это связанно с тем, что удалять файлы с файловой системы, может либо владелец файла, либо пользователь с правами root. В нашем случае, любой пользователь, обращающийся к сетевой папке, будет идентифицироваться в качестве пользователя nobody, соответственно, владельцем файла будет указываться пользователь nobody. Если мы укажем своего пользователь, тогда владельцем файлов будет наш пользователь.
Затем мы установим правильные права на чтение и запись в нашу папку:
Чтобы вы могли заменить содержимое файла /etc/samba/smb.conf просто методом копирования, сначала выполните команду:
А затем просто откройте этот файл любым текстовым редактором. После внесения изменений, обязательно верните прежние права доступа к файлу:
Осталось только включить сервис SAMBA в автоматическую загрузку при старте системы а так же его запустить:
При каждом изменении файла /etc/samba/smb.conf, для принятия этих изменений, сервис необходимо перезапускать:
Если мы хотим раздавать наши принтеры в сеть, будет не лишним сделать еще несколько вещей. Принтера в локальную сеть можно раздавать еще с помощью протокола IPP, чем мы сейчас и займемся. Я предполагаю, что у вас уже настроены принтера для локальной печати, так как настройка принтеров не входит в тематику данного руководства. Для начала разрешаем всем доступ к нашему серверу печати, приводим файл /etc/cups/cupsd.conf к следующему виду:
А теперь нам нужно разрешить гостевую печать на каждом из наших локальных принтеров. Предположим, что у вас установлен принтер Lexmark E232, которому мы при настройке дали имя LX_E232. Принтер подключен через LPT порт. Настройки принтеров хранятся в файле /etc/cups/printers.conf, который в нашем случае примет вид:
В большинстве случаев в настройках принтера необходимо установить параметру Shared значение Yes.
Чтобы установить наш принтер на ОС Windows, выбираем «Установка Принтера» в «Панель Управления -> Принтеры и Факсы», затем выбираем «Сетевой принтер или принтер, подключенный к другому компьютеру», далее указываем «Подключиться к принтеру в Интернете….», а в качестве URL пишем:
Предположим, что IP адрес нашего компьютера — 192.168.1.11 тогда в нашем случае это будет выглядеть вот так:
Установка нашего принтера в системе Линукс так же проста, разве что слово HTTP придется заменить на IPP
Включим сервис CUPS в автоматическую загрузку при старте системы и запустим:
При каждом изменении файлов/etc/cups/cups.conf и /etc/cups/printers.conf для принятия этих изменений, сервис CUPS так же необходимо перезапускать:
Так же как и в операционной системе Windows, в Linux тоже можно организовать подключение сетевых папок, при входе пользователя в систему. Я знаю как минимум два таких способа. Первый, достаточно простой — это использование файла /etc/fstab совместно со скриптом, который будет непосредственно монтировать сетевую папку, а второй — это использование пакета pam_mount. Второй способ не очень то целесообразно использовать в рабочей группе и поэтому я осветил его ниже, в подстатье «Работа в составе домена». А вот первый я рассмотрю сейчас. Открываем для редактирования файл /etc/fstab (требует права root-а) и дописываем ему в конец вот такую строчку:
Я думаю что ее описание говорить само за себя. Меняем в ней IP_адрес сервера и другие параметры, описанные русским языком, затем переводим курсор в конец строки и нажмите на клавишу «Enter» и сохраните файл. Мы специально нажали «Enter», так как для корректной работы системы в файле всегда должна оставаться последняя — пустая! строчка.
Затем мы напишем скрипт, который будет монтировать требуемый сетевой ресурс — при входе пользователя в систему и обеспечим его автозапуск. Предположим что имя нашего обычного пользователя, под которым мы в основном работает — user. Создадим новый файл под названием /home/user/60-netshares, выставим ему права доступа на чтение, запись и запуск для всех, и создадим не него символическую ссылку в каталог автозапуска пользователя user:
Затем мы приведем содержание файла /home/user/60-netshares вот к такому виду:
Здесь папка /куда_ее/будем_монтировать та же, что мы указали в файле /etc/fstab. В случае ее отсутствия она будет создаваться скриптом, затем на рабочем столе в случае отсутствия будет появляться не нее ярлык, ну и к этой папке будет монтироваться сетевой ресурс, сопоставленный с ней в файле /etc/fstab.
Теперь необходимо только выйти из учетной записи root и войти под своей. Если вы использовали свою обычную учетную запись user (не забудьте изменить на свою), тогда просто выйдете из нее и снова зайдите — либо просто запустите скрипт /home/user/60-netshares, открыв терминал от имени пользователя user просто наберите
и нажмите на клавишу «Enter»
Теперь, когда мы настроили доступ к нашему компьютеру из локальной сети, пришло время позаботиться об инструментах, которые позволят нам самим просматривать и получать доступ к локальной сети. Если вы используете графические оболочку KDE или Gnome, то все необходимое в них уже присутствует. Поэтому я не буду брать их на рассмотрение. А вот если у нас установлено что по проще, например XFCE, то тут стоит подумать. Как вариант можно использовать программу pyNeighborhood, которая идет в комплекте с дистрибутивом Alt Linux Lite, но ее я тоже рассматривать не буду, так как она имеет графический интерфейс и разобраться с ней труда не составит. Я остановлю свой выбор на пакете fuse-smb, который мы установили еще в самом начале. Для начала мы обеспечим запуск необходимого модуля при загрузке системы и собственно загрузим сам модуль, чтобы сразу посмотреть как он работает:
Затем мы обеспечим запуск самой программы во время входа пользователя. Предположим что имя нашего обычного пользователя, под которым мы в основном работает — user. Так-же предположим, что мы будем использовать для нужд сетевого окружения, папку
/network, ярлык на рабочем столе, по которому мы будем переходить в наше сетевое окружение назовем ”Сетевое Окружение”. Создадим новый файл под названием /home/user/50-fuselogin, выставим ему права доступа на чтение, запись и запуск для всех, и создадим не него символическую ссылку в каталог автозапуска пользователя user:
Затем мы приведем содержание файла /home/user/50-fuselogin вот к такому виду:
Теперь создадим каталог .smb в домашней папке пользователя user и в этом каталоге создадим файл fusesmb.conf
Установим разрешения на чтение, запись, исполнение на созданную папку вместе с подпапками и уберем разрешение на исполнение у файла fusesmb.conf:
Теперь приводим файл fusesmb.conf к вот такому содержанию:
Вот и все, осталось только выйти из учетной записи root и войти под своей. Если вы использовали свою обычную учетную запись user (не забудьте изменить на свою), тогда просто выйдете из нее и снова зайдите — либо просто запустите скрипт /home/user/50-fuselogin
2. Работа в составе домена. [ править ]
Для ввода рабочей станции в домен нам необходимо наличие в системе следующих пакетов: — krb5-kinit, libkrb5, samba-client-3.x, samba-common-3.x, samba-3.x, openntpd pam_mount. Если чего-то не хватает, то нам нужно будет их скачать и установить. Ниже я привожу список символических параметров настройки, которые нужно будет изменить на свои, согласно вашей конфигурации сети:
Примечание: Если в примере что-либо написано с большой буквы (или букв), то именно так нужно писать и нам.
Для начала нам нужно доставить необходимые пакеты, часть пакетов в системе уже установлена. Подключаем репозитории и доставляем отсутствующие следующей командой:
После установки необходимых пакетов, нам нужно включить в автозапуск необходимые службы. Выполним следующие команды:
Этим шагом мы проверим, разрешается ли наш контроллер домена через свое доменное имя, а так-же настроим нашу рабочую станцию на разрешение собственного доменного имени. Выполняем команду:
и смотрим на результат. Если приходит эхо ответ, значит все в порядке. Теперь мы настроим нашу рабочую станцию:
и тоже проверим результат наших трудов:
Следующим шагом будет настройка синхронизации времени с нашим контроллером домена. Синхронное время — это очень важный момент для доменной рабочей станции и не стоит им пренебрегать. Сперва мы пропишем в файл конфигурации сервиса синхронизации времени, наш контроллер домена:
Затем мы перезапустим сервис синхронизации времени:
Пришло время настроить получение билетов авторизации по протоколу Kerberos. Все что нам нужно, так это иметь файл /etc/krb5.conf такого вот вида:
Сейчас и впредь, мы будем выставлять необходимые права на те файлы, которые создаем. Из-за неправильно выставленных разрешений будут появляться ошибки, а проверять все созданные файлы мы не будем, так как это отнимает время. Поэтому после создания файла мы будем выполнять всего одну команду, которая установит интересующие нас правила. Быстро и наверняка
Посмотрим, сможем ли мы получить билет авторизации:
На запрос о пароле, вводим пароль_администратора_домена. Если результат будет положительным — мы не получим никаких лишних сообщений на экране. Проверяем наличие билета командой klist. Вывод ее должен быть примерно такой:
а затем удалим билетик командой kdestroy.
Настраиваем сервер SAMBA. Заменяем содержимое /etc/samba/smb.conf приведенным ниже текстом:
Настроить доступ к нашим сетевым папкам и принтерам мы всегда сможем позже, а сейчас главное — это как можно глаже ввести рабочую станцию в домен.
Я представляю себе, образно…, что это за файл, но вот сформулировать это на бумаге не могу. Просто наполняем файл /etc/nsswitch.conf таким вот содержимым:
Если нам необходимо настроить автоматическое монтирование сетевых пользовательских папок при входе доменного пользователя в систему, настроим эту функция с помощью пакета pam_mount. Вот пример необходимого нам файла :
А вот и пример, предположим что у нас на сервере в общей папке есть папки пользователей с их именами, такими как они вводят при входе в систему. Мы хотим, чтобы при входе любого пользователя, монтировалась папка с его именем к папке
А еще мы можем добавлять доменных пользователей, а точнее доменные группы — в локальные. Это достаточно полезно, так как по умолчанию доменный пользователь может только перемещаться в своем каталоге, да читать файлы которые разрешены на чтение для «всех остальных». Делается это с помощью pam_group. Он обычно всегда установлен в системе. Вот пример файла конфигурации /etc/security/group.conf
Тоесть, в примере каждый пользователь с любой консоли и в любое время суток, входит в группы:
Последние штрихи. Нам осталось настроить способ авторизации пользователей на нашей бушующей доменной рабочей станции. Для начала настроим логон менеджер, через который пользователь в систему то и попадает. Если мы используем K Desktop Manager, который обычно стоит вместе с оболочкой KDE, переписываем содержимое его конфига /etc/pam.d/kde вот этим:
Если мы не планируем пользовать функциями pam_group, тогда просто комментируем строчку с его описанием, ну или просто ее удаляем. А если нам не интересен функционал pam_mount, тогда его комментируем тоже, и в первой строчке, в которой встречается параметр use_first_pass, его оттуда убираем.
Если у нас используется логон менеджер Gnome, тогда мы переписываем файл /etc/pam.d/gdm так же, как и файл /etc/pam.d/kde
Мы заменим содержимое файла /etc/pam.d/kscreensaver — для KDE или /etc/pam.d/gnome-screensaver, чтобы пользователь смог, после блокировки сеанса, спокойно авторизоваться своей доменной учетной записью:
Все настройки сделаны, нам осталось лишь ввести компьютер в домен. Выполним команды:
Результатом правильного выполнения команды будет вывод:
Сделаем еще одну проверку, выполним команду:
вывод должен быть примерно такой:
Перезагрузим рабочую станцию и можем пользоваться.
Вот собственно и все, ну или почти все, однако, наша радость была бы не полной, не имей бы мы адекватного и удобного сетевого окружения. В случае с KDE или Gnome, это еще дело поправимое. Однако только ради сетевого окружения, в ущерб ресурсам системы — которых, кстати, на старых офисных машинах и так впритык. Но выход есть и называется он Fuse-SMB. При условии, что репозитории у нас все еще подключены, устанавливаем недостающий пакет:
Затем открываем консоль и вводим команду fusesmb без параметров. После этого мы редактируем файл
/.smb/fusesmb.conf приводя его к вот к такому состоянию:
Теперь мы создадим в своей папке папку
/network, а затем:
И вот, у нас в папке
/network будет жить локальная сеть. Проверим, что она работает и дружно про нее забудем, так как под root-ом она нам не нужна. Чтобы настройки fusesmb были у всех новых пользователей, скопируем папку
/.smb в шаблон профиля для новых пользователей:
Осталось только написать скрипт, который при входе пользователя будет запускать fusesmb и создавать нужные ярлыки. Назовем его 60-login:
Сохраняем скрипт в папке /etc/60-login . Теперь осталось установить на него правильные разрешения и создать ярлык в папку автозапуска.
Как и обещал, выкладываю скрипт, который автоматизирует описанные здесь процессы:
Источник