Доступ к почтовым ящикам
Электронная почта нужна далеко не только тем, кто имеет терминальный доступ к Linux-машине. Доступ к почтовому ящику на сервере не должен зависеть от того, есть ли у данного пользователя право запускать на этом сервере какие-то программы. Для этого необходимо организовать специальную службу, предоставляющую пользователю только возможность манипулировать сообщениями в своем ящике с помощью программы-клиента. Самые популярные протоколы доступа к ящикам – POP3 (Post Office Protocol версии 3) и IMAP4 (Internet Message Access Protocol версии 4).
POP3 – довольно простой протокол, в нем определен единственный почтовый ящик пользователя, где тот может посмотреть список заголовков сообщений, прочитать (скачать) и удалить некоторые из них. Такой протокол удобен, когда пользователь хранит всю переписку на своем компьютере, а удаленный почтовый ящик служит исключительно для приема входящей почты.
Протокол IMAP4 гораздо сложнее: в нем разрешено заводить несколько ящиков на сервере, в том числе и вложенных подобно каталогам. Каждый из этих ящиков может обладать особыми свойствами: может быть входящим (тогда пользователь уведомляется о новых поступлениях в этот ящик), мусорной корзиной (сообщения из которой удаляются после того, как устареют), и даже быть исходящим (в такой ящик пользователь складывает новые письма, а сервер их через некоторое время отсылает, удаляя оттуда). IMAP4 подходит для ситуации, когда пользователь не имеет возможности хранить свою переписку и/или обрабатывать ее с одного и того же компьютера, поэтому хранит ее в ящиках на сервере. IMAP4 используют и в качестве "движка" WEB-почты, этого заменителя почтовых клиентов.
В большинстве случаев с помощью одного и того же почтового клиента можно и просматривать электронные письма в ящиках, и создавать новые письма, и отсылать их. Это сделано для удобства пользователя, однако стоит понимать, что общее у этих трех действий – только формат сообщения. Строго говоря, при доступе к почтовому ящику совершенно неважно, каким путем там оказалось письмо, а при пересылке почты никак не определяется, каким способом пользователь будет ее читать. Что касается написания письма – чье же это дело, как не текстового редактора?
В UNIX есть несколько IMAP/POP-серверов. Наиболее мощный из них – Cyrus (его авторы участвовали в разработке протокола IMAP4). Наиболее простой – UWIMAP, который вообще не имеет конфигурационного файла: пользователи, пароли, входящие почтовые ящики и домашние каталоги для личных почтовых ящиков берутся системные (при этом вместо командного интерпретатора почтовому пользователю можно выдать /sbin/nologin или /usr/bin/passwd).
Сервер Binc можно рекомендовать для применения на системах, использующих QMail, интеграция с которым других IMAP-серверов имеет некоторые шероховатости, а сервер Dovecot – тем, кто, как и его авторы, в первую очередь озабочен надежностью работы сервиса.
Протоколы POP3 и IMAP4, как и многие другие, являются текстовыми. Как и в большинстве других протоколов, это порождает проблему передачи пароля в открытом виде. Решается она так же, как и для других протоколов – "заворачиванием" всего сеанса в SSL (порту 110–POP3 соответствует порт 995–POP3S, а порту 143–IMAP4 – 993–IMAPS), либо использованием внутрисеансового шифрования с помощью TLS. Кроме того, в протоколе POP3 есть и собственное расширение, APOP, решающее ту же задачу.
4.5.6. Взаимодействие с сетью Windows – пакет Samba
Пакет Samba создан для поддержки сети Microsoft и эмулирует работу файлового сервера Windows. Минимально пакет составляют две службы: служба smb (Sever Message Block – блок серверных сообщений), и служба winbind, которая позволяет пользоваться учетными записями домена Windows.
Ниже приведен образец изменений в основном конфигурационном файле etc/samba/smb.conf для использования Linux в качестве файлового сервера в домене Windows ivanov. ibi:
workgroup = Ivanov
|
– имя рабочей группы (как в сетевом окружении Windows)
|
hosts allow = 10.10.0. 127.
|
– список сетей (через пробел), из которых разрешен доступ к машине Linux
|
security = ADS
|
– идентификация пользователей выполняется службой Active Directory
|
password server = 10.10.0.1
|
– адрес сервера, где хранятся учетные записи
|
encrypt passwords = yes
|
– использовать шифрование для передачи пароля
|
domain master = no
preferred master = no
name resolve order = wins lmhosts bcast
|
|
wins server = 10.10.0.1
|
– адрес сервера wins
|
Следует также дописать следующие данные:
realm = IVANOV.IBI
|
– имя домена (ПРОПИСНЫМИ БУКВАМИ)
|
unix charset = CP 1251
|
– кодировки кириллицы в именах файлов
|
dos charset = CP866
display charset = CP1251
|
|
winbind uid = 10000-20000
|
– параметры для службы winbind
|
winbind gid = 10000-20000
winbind separator = +
winbind cache time = 10
template homedir = /home/%U
template shell = /bin/bash
|
|
#=============== Share Definitions ====================
|
[public]
|
– сетевое имя каталога, доступного из сети Windows
|
path =/tmp/samba
|
– полное локальное имя каталога, который должен быть создан и иметь права 777
|
public = yes
|
– разрешение на доступ из сети
|
writable = yes
|
– разрешение на запись
|
В конфигурационном файле etc/nsswicth. conf следует дописать в двух строчках параметр winbind, указывающий, что данные учетных записей следует брать у службы winbind, которая получает их от контроллера домена:
passwd:
|
files winbind
|
shadow:
|
files
|
group:
|
files winbind
|
В современных доменах аутентификация пользователей осуществляется при помощи протокола Kerberos версии 5. Для использования при входе в сеть (с машины под управлением Linux) учетных записей, хранящихся на контроллере домена (под управлением, например, Windows 2000 Server) тоже должен использоваться протокол Kerberos 5. Для Linux разработаны два пакета, поддерживающих работу этого протокола: krb-5 workstation – для клиентской машины Linux, krb-5 server – для сервера Linux, являющегося контроллером домена. Для выполнения функций файлового сервера в сети Windows достаточно первого пакета.
Если при инсталляции системы эти пакеты не были установлены, то их требуется установить. Инсталляция дополнительных пакетов выполняется командой rpm – ivh имя_пакета, где ключ – i означает режим инсталляции, а – vh позволяют отражать на экране вспомогательную информацию.
Команда rpm – e имя_пакета позволяет удалить пакет из системы, rpm – q – a позволяет получить список всех инсталлированных пакетов. Подробная справка: man rpm.
После установки пакета krb-5 workstation необходимо в конфигурационном файле /etc/krb5.conf указать имя домена и имя контроллера домена (остальные данные из этого файла можно удалить или закомментировать), например:
[ realms ]
IVANOV.IBI = {
kdc = server.ivanov.ibi
}
Затем на контроллере домена в Active Directory создать учетную запись пользователя с латинским именем, например admin, и включить его в группу администраторов домена.
Зарегистрировать машину Linux в домене можно командой:
net ads join – U admin
Проверить регистрацию ее в домене можно в соответствующей оснастке контроллера домена (Пуск – Программы – Администрирование – Active Directory – пользователи и компьютеры – Computers).
После перезагрузки системы можно проверить в сети Windows наличие нового узла с именем, заданным серверу Linux, и доступность его общих ресурсов пользователям домена.
При необходимости можно монтировать сетевые ресурсы на машине под управлением Linux следующей командой:
mount – t smbfs – o username =имя_пользователя, password =пароль, iocharset = cp 1251, codepage = cp 866, rw //сетевой_ресурс/mnt/точка_монтирования
Выводы
Сетевые операционные системы делятся на две большие группы – клиентские ОС и серверные ОС. Несмотря на многообразие сетевых операционных систем, реальными конкурентами на российском рынке серверных решений для локальных сетей в настоящее время являются операционные системы семейства Windows и различные представители семейства UNIX-систем.
На принципах UNIX построены как коммерческие операционные системы, так и большое число открытых систем, которые не только бесплатно распространяются, но и имеют открытые исходные коды всех программных модулей.
Архитектура всех операционных систем UNIX – многоуровневая. На нижнем уровне работает ядро операционной системы. Функции ядра доступны через интерфейс системных вызовов, образующих второй уровень. На следующем уровне работает системное программное обеспечение: командные интерпретаторы, команды и утилиты системного администрирования, коммуникационные драйверы и протоколы. Наконец, внешний уровень образуют прикладные программы пользователя, сетевые и другие коммуникационные службы, СУБД и утилиты.
Linux – это UNIX операционная система, которая была создана Линусом Торвальдсом (Linus Torvalds) в 1991 г. Версии ОС Linux считаются по версии ядра. Комплекты, объединяющие в себе ядро, набор программ и утилит, а также программу-инсталлятор, называются дистрибутивами.
UNIX – многопользовательская система. Процедура регистрации в системе обязательна: работать в системе, не зарегистрировавшись под тем или иным именем пользователя, просто невозможно. Характерный для UNIX способ организации параллельной работы пользователей – виртуальные консоли (или терминалы).
Для формирования пользователям графической среды предназначена система XWindow, в составе которой программа, отвечающая за работу с устройствами графического ввода и вывода и обеспечивающая при этом логику оконной системы, называется X-сервером. Взаимодействие X-клиентов с X-серверов осуществляется на основе протокола X 11.
Конфигурирование UNIX-системы может выполнять только суперпользователь с именем root путем определения набора служб, инициализируемых при старте системы. Все запускаемые службы параметры своей настройки берут из соответствующих конфигурационных файлов. Конфигурационные файлы – текстовые.
В ОС UNIX основным средством организации и единицей многозадачности является процесс. Выделяются три типа процессов: системные, процессы-демоны и прикладные процессы. Базовые средства защиты процессов основаны на отслеживании принадлежности процессов пользователям.
Новый процесс создается в UNIX только путем системного вызова fork. Процесс, сделавший вызов fork, называется родительским, а вновь созданный процесс – порожденным. Планирование процессов в UNIX основано на приоритете процесса. Планировщик всегда выбирает процесс с наивысшим приоритетом.
Логическая файловая система в ОС UNIX (или просто файловая система) – это иерархически организованная структура всех каталогов и файлов в системе, начинающаяся с корневого каталога.
Логическая файловая система может состоять из одной или нескольких физических файловых (под)систем, являющихся разделами физических носителей (дисков, CD-ROM или дискет). Процедура объединения физических файловых систем называется монтированием.
В UNIX существует несколько типов файлов, различающихся по функциональному назначению и действиям операционной системы при выполнении тех или иных операций над ними: обычный файл, каталог, специальный файл устройства, именованный канал, символическая связь, сокет.
Важной отличительной особенностью построения файловых систем UNIX является то, что каждый файл (в том числе каталог и устройство ввода-вывода) имеет персональный индексный дескриптор и может иметь несколько имен – ссылок на этот индексный дескриптор.
В ОС UNIX используются средства защиты файлов на основе отслеживания трех уровней доступа (для пользователя-владельца, для пользователей группы-владельца, и для всех остальных пользователей) и трех базовых прав доступа к файлам (на чтение, на запись и на выполнение).
На компьютере под управлением UNIX-системы могут устанавливаться как клиентские, так и серверные части всех известных сетевых служб.
Вопросы для самопроверки
Какие типы современных сетевых операционных систем семейства Windows существуют? Каковы их особенности?
Какие направления разработки современных сетевых операционных систем семейства UNIX существуют? Каковы их особенности?
Когда, где и кем были разработаны первые версии операционной системы UNIX?
Когда и кто разработал операционную систему Linux?
Как нумеруются версии ОС Linux?
Какие дистрибутивы Linux наиболее популярны в мире и в России?
Как в UNIX-системах обеспечивается многопользовательский режим работы?
Как в UNIX-системах реализуется графический режим работы?
В чем различие понятий: XWindow, X-сервер, X-клиент, X 11?
Как в UNIX-системе создается новый пользователь?
В каких файлах содержатся сведения об учетных записях пользователей UNIX-системы?
Каково назначение конфигурационных файлов в UNIX-системах?
Как можно отобразить список активных пользователей UNIX-системы?
Какие типы процессов имеются в UNIX-системах?
Как создаются процессы в UNIX-системах?
Какие основные этапы жизненного цикла процесса в UNIX-системах?
Какие атрибуты присущи процессу в UNIX-системах? Каково их назначение?
Как осуществляется планирование процессов в UNIX-системах?
Как можно отобразить список процессов, запущенных в UNIX-системе?
Каково назначение и особенности формирования сигналов в UNIX-системах?
В чем отличие логической и физической файловой системы в UNIX?
Каково назначение основных каталогов логической файловой системы UNIX?
Что означает процедура монтирования файловой системы в UNIX?
Какие имена файлов-устройств соответствуют логическим дискам винчестера в UNIX-системах?
Какие типы файлов и особенности их использования существуют в UNIX-системах?
Что такое длинный листинг каталога в UNIX?
В чем разница между реальным и эффективным идентификаторами пользователя и группы в UNIX-системе?
Кто и как в UNIX-системе может изменять права доступа к файлам?
Каково назначение и состав индексного дескриптора файла в UNIX-системе?
Какие части имеются в структуре файловой системы ufs?
Каково назначение и принцип работы журнализируемых файловых систем?
Где размещается и для чего предназначена таблица стандартных файловых систем в UNIX?
Какие сетевые службы наиболее часто разворачиваются на базе UNIX-системы?
Как может быть сконфигурирован сетевой интерфейс UNIX-системы?
Какие протоколы применяются для реализации почтовой службы?
Каково назначение и порядок использования пакета Samba?
|