Snow Leopard Server: файловые сервисы

Mac OS X Server предоставляет несколько сервисов, позволяющих организовать и обслуживать файловый сервер. Правильное понимание протокола и самих сервисов, их выбор, позволяют создавать высоконадежные сетевые ресурсы с оптимальной производительностью и безопасностью.

Snow Leopard Server: файловые серверыВ данной статье будут рассмотрены протоколы передачи данных, права доступа в Mac OS X и приведен вариант создания файлового сервера на примере SMB. Рассмотрен графический интерфейс утилиты Server Admin и список полезных команд терминала.

Протоколы

Файловые сервисы (file services) предоставляют службы, позволяющие многим пользовать получать одновременный доступ к общим файлам, приложениям и службам. Для таких задач можно выбрать один из следующих протоколов:

  • AFP (Apple Filling Protocol) предоставляет сетевые ресурсы для пользователей, работающих на Macintosh;
  • SMB/CIFS (Server Message Block/Common Internet File System) предоставляет сетевые ресурсы для пользователей Windows PC;
  • FTP (File Transfer Protocol) позволяет производить обмен ресусрами с любыми машинами, на которых есть программа для работы с FTP;
  • NFS (Network File System) позволяет пользователям производить обмен файлами/папками. Как правило, это пользователи UNIX или любой другой системы с необходимым программным обеспечением.

После настройки файловых сервисов вы сможете управлять общими сетевыми ресурсами посредством мониторинга сетевой активности и доступа к каждой службе.

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

FTP не использует средств аутентификации и не шифрует данные при передачи. Данный протокол не рекомендуется использовать в «агрессивной среде», либо воспользуйтесь SCP или SFTP. Данные утилиты используют аутентификацию и защищенную передачу файлов.

В следующей таблице приведены сравнительные данные для протоколов по аутентификации и шифрованию данных.

Протокол Аутентификация Kerberos. Шифрование данных
AFP Аутентификация по паролю Не поддерживается. Данные передаются по сети не зашифрованными.
NFS Аутентификация Kerberos или системная аутентификация пользователя. Поддерживается полное шифрование данных при передаче по сети.
SMB Аутентификация Kerberos. Не поддерживается. Данные передаются по сети не зашифрованными.
FTP Все пароли пользователей передаются по сети не зашифрованными. Не поддерживается. Данные передаются по сети не зашифрованными.

При использовании сетевых ресурсов часто бывают ситуации, когда необходимо работать с разными системами и платформами. Таблица ниже позволяет узнать какой протокол какими платформами поддерживается.

Протокол Платформа Стандартные порты
AFP Mac OS X и Mac OS X Server 548
SMB Mac OS X, Mac OS X Server, Windows, UNIX, Linux 137, 138, 139
FTP Mac OS X, Mac OS X Server, Windows, UNIX, Linux 21
NFS Mac OS X, Mac OS X Server, Windows, UNIX, Linux 2049

Права доступа в Mac OS X

В любой системе учитывая безопасность необходимо правильно настроить права доступа и разрешения для пользователей. Права доступа могут даваться на файлы и папки, приложения и службы, выполнение кода. Данная глава познакомит вас с правами доступа и списками контроля доступа (Access Control Lists или ACLs).

Права доступа в Mac OS X

Если вы новичек в Mac OS X и UNIX, то сразу стоит понять, что права доступа здесь работают по другому нежели на системах Windows. Даже будучи суперпользователем (root) вы не сможете удалить ряд папок и файлов, например, папки /Library/ или /System/. Несмотря на это, из-под root можно «убить» систему, поэтому совершайте только обдуманные действия. Можно зайти на сервер не под root, в таком случае для выполнения команд от имени суперпользователя используйте команду sudo.

Mac OS X Server поддерживает два вида прав доступа на файлы и папки: POSIX и список контроля доступа (ACLs). POSIX является общепринятым стандартом и позволяет каждому файлу или папке назначить одну из трех категорий пользователя: владелец (owner), группа (group) или другие (others). POSIX хорош, но в некоторых ситуациях не достаточно гибок, поэтому ознакомьтесь с ACLs. Права доступа по ACL позволяют назначить несколько пользователей или групп в качестве владельца файла/папки. Кроме того ACLs поддерживается Windows Server 2003 и Windows XP.

POSIX и ACL

Немного о группах и пользователях в Mac OS X по POSIX, который оперирует понятиями Owner, Group и Others.

Owner (владелец) — создатель файла или папки. По умолчанию владелец, как и администратор имеет полный доступ к элементу и может менять свои привилегии доступа. Вы можете задать параметры доступа, чтобы в качестве владельца выступали другие пользователи или группы. При копировании файла на сервере права доступа у него не меняются.

Group (группа) — каждому пользователю вы можете назначить свою группу. Это удобно когда необходимо дать нескольким пользователям одинаковые права доступа к сетевым ресурсам. Только одна группа может получить доступ к общедоступному ресурсу.

Others (другие или остальные) — пользователи (могут быть как зарегистрированными, так и гостями), которые имеют доступ к серверу.

ACL расширяет возможности POSIX и снимает многие ограничения. Список контроля доступа или ACL определяет права на запись или чтение для пользователей и групп к различным сетевым ресурсам, включая к иерархиям папок. При этом безопасность системы никак не страдает, зато увеличивается гибкость настройки. Например, ACL позволяет создать задавать несколько разновидностей доступа на запись. Вы можете разрешить определенной группе пользователей создавать папки, но запретить создавать файлы и т.п. Всего модель ACL позволяет назначить до 13 прав доступа, они приведены в таблице ниже.

Права доступа Тип Описание
Изменение прав доступа (Change Permissions) Администрирование Пользователь может изменять стандартные права доступа к ресурсу.
Смена владельца (Take Ownership) Администрирование Пользователь может назначать владельца ресурсу, включая самого себя.
Чтение атрибутов/свойств (Read attributes) Чтение (Read) Пользователь может просматривать атрибуты (свойства) файла, например, дату, имя, размер и т.д.
Чтение дополнительных атрибутов (Read Extended Attributes) Чтение (Read) Пользователь может просматривать дополнительные атрибуты файлов и папок, которые были добавленными третьими лицами (сторонними разработчиками).
Просмотр списка содержимого папки (List Folder Contents) Чтение (Read) Пользователь может просмотреть список содержимого папки и прочитать фалы папки.
Просмотр подпапок или запуск программы (Traverse Folder or Execute File) Чтение (Read) Пользователь может видеть содержимое вложенных папок и запускать программы.
Чтение прав доступа (Read Permissions) Чтение (Read) Пользователь может посмотреть владельца и права доступа к ресурсу других лиц, например, через Терминал.
Изменение атрибутов/свойств (Write Attributes) Запись (Write) Пользователь может менять стандартные атрибуты файлов и папок, например, их название.
Изменение дополнительных атрибутов (Write Extended Attributes) Запись (Write) Пользователь может изменять дополнительные атрибуты файлов и папок.
Создание файлов (Create Files) Запись (Write) Пользователь может создавать и изменять файлы.
Создание папок (Create Folder) Запись (Write) Пользователь может создавать вложенные папки и добавлять файлы.
Удаление (Delete) Запись (Write) Пользователь может удалять файлы и папки.
Удаление вложенных папок и файлов (Delete Subfolders and Files) Запись (Write) Пользователь может удалять вложенные папки и файлы.

Кроме этого ACL позволяет управлять наследованием прав доступа, т.е. применять права доступа к вложенным папкам или нет. Вы можете совмещать POSIX и ACL, как вам удобно. Но необходимо знать, что ACL будет работать только на дисках отформатированных в HFS+ и доступен только на SMB и AFP, для Windows и Mac соотвественно.

Mac OS X Server так же предоставляет Access Control Entries (ACEs) или расширенное управление доступом. Данная технология позволяет назначить наследование прав доступа для групп и пользователей. ACE содержит следующие настройки (поля): уникальный идентификатор группы или пользователя, тип доступа (разрешено или запрещено), сами права доступа (в табл. выше), наследование прав доступа и применимы ли ранее описанные правила к пользователю/группе. Подробнее ACL и ACE будут рассмотрены в следующих статьях по Server.

Создание файлового сервера на примере SMB

Данная глава предполагает, что читатель уже знаком с протоколом SMB. Создание сервера на других протоколах аналогично. задача будет выполняться в 6 этапов:

  1. включение сервиса SMB;
  2. основная настройка SMB;
  3. настройка доступа;
  4. настройка логов сервера;
  5. дополнительная настройка SMB.

1. Включение сервиса SMB

Для создания сервера SMB необходимо запустить стандартную утилиту Server Admin и подключиться к серверу, в нашем случае это локальный сервер и поэтому подключаться никуда не нужно.

Утилита Server Admin

В меню необходимо выбрать SettingsServices и отметить галочкой пункт SMB. Затем сохраните изменения нажав Save.

Включение SMB

2. Основная настройка SMB

Теперь необходимо настроить SMB. В той же утилите слева с списке выберите пункт SMB, сверху Settings. Вам доступны вкладки General (Основные настройки), Access (Доступ), Logging (Подключение) и Advanced (Дополнительно).

Настройки SMB

Role. В списке необходимо указать, как будет работать наш сервер. Вариант Standalone Server дословно переводится как «автономный сервер». В этом случае сервер будет предоставлять файлы и принтеры по SMB для локальных пользователей, аутентификация запрашиваться не будет.

Domain Member (участник домена) необходимо выбрать, если сервер будет предоставлять файлы и принтеры пользователям вошедшим на домен Windows.

Primary Domain Controller (PDC) (первичный контроллер домена). Выбрав данную опцию сервер будет выполнять роль контроллера домена, т.е. хранить информацию о пользователях, группах, проводить аутентификацию пользователей. Сервер так же сможет предоставлять файлы и принтеры.

Backup Domain Controller (BDC) (резервная копия контроллера домена). Эту опцию следует выбрать, если наш сервер будет автоматически восстанавливать домен после сбоя. Сервер так же может хранить информацию о профилях пользователей и проводить дополнительную аутентификацию (проверка подлинности).

Description. Здесь все понятно, это описание сервера, желательно указывать какое место он занимает в сети.

Workgroup. Указывается рабочая группа, длина имени группы не более 15 символов. Для пользователей Windows рабочую группу можно посмотреть в меню Сетевое окружение.

Для основной настройки SMB через терминал введите команды:

$ sudo serveradmin settings
smb:adminCommands:serverRole = value
smb:server string = value
smb:netbios name = value
smb:workgroup = value
Control-D

Параметры для команд приведены в таблице ниже:

Параметр Описание
adminCommands:serverRole Конфигурация вашего сервера. Может принимать значения:

  • standalone
  • domainmember
  • primarydomaincontroller
  • backupdomaincontroller
server string Параметр может содержать до 15 символов в кодировке UTF-8. Это идентификатор вашего сервера в сети. Аналог параметра Description (см. выше).
netbios name NetBIOS имя вашей машины. Максимум 15 символов в UTF-8. Аналог параметра Computer name.
workgroup Рабочая группа, к которой относится сервер.

3. Настройка доступа к SMB

Вторая вкладка в Server Admin называется Access — настройки доступа к серверу. Разберем их подробнее.

Настройки доступа к SMB

Отметив галочкой пункт Allow Guest access вы тем самым разрешите пользователям подключаться к серверу без пароля. Конечно, это не безопасно и применять этот параметр можно только, если физически сеть доступна только проверенной группе пользователей, например, сотрудникам вашего офиса.

Client connections. Можно ограничить общее число одновременных подключений к серверу, по умолчанию стоит ограничение в 100 подключений. Отключать лимит не советую, а если вы заведомо знаете количество пользователей, то ограничтесь этой цифрой.

Authentication. Выберите тип аутентификации, который будет доступен для Windows-пользователей. Можно выбрать между NTLMv2 & Kerberos, NTLM и LAN Manager. Вариант NTLMv2 & Kerberos самый защищенный, но требует у пользователя наличие системы не ниже Windows 98.

После установки параметров нажмите Save, чтобы сохранить конфигурацию. Ниже приведены команды терминала для аналогичных настроек и принимаемые параметры:

$ sudo serveradmin settings
smb:map to guest = value
smb:max smbd processes = value
Control-D

Параметр Описание
map to guest Доступность сервера для гостей. Параметры:

  • Never (нет доступа для гостей);
  • Bad User (доступ для гостей).
max smbd processes Максимальное количество одновременных подключений к серверу. Укажите 0 для отключения лимита.

4. Настройка логов сервера

Настройка логов (журналирования) сервера во вкладке Logging. Здесь доступен только один параметр Log Level — уровень журналирования. Можно выбрать между Low, Medium и High.

Настройка логов сервера

Указав уровень Low сервер будет вести простой лог с ошибками в работе сервисов и предупреждениями. С параметром Medium в лог будут так же записываться факты ошибочной аутентификации, факты запуска и остановки сервисов, версии браузеров пользователей. Самый подробный лог будет вестись с параметром High, добавляется информация о доступе к файлам.

Установка уровня журналирования через терминал:

$ sudo serveradmin settings smb:log level = value

Параметр Описание
log level Уровень журналирования. Параметры:

  • 0 — уровень Low;
  • 1 — уровень Medium;
  • 2 — уровень High.

5. Дополнительная настройка SMB

Последняя вкладка называется Advanced (дополнительно). Здесь доступны дополнительные параметры сервера.

Дополнительные настройки для SMB

Code Page. Данный параметр указывает какую кодировку будут использовать клиенты при подключении к серверу. Есть поддержка кириллицы.

Services принимает два параметра, указывающих как ваш сервер будет работать для клиентов. Отметьте Workgroup Master Browser и ваш сервер будет обеспечивать доступ и просмотр других машин в подсети. Пункт Domain Master Browser позволит серверу обеспечивать доступ и просмотр других машин в нескольких подсетях.

WINS. Примите решение по части регистрации WINS сервера: чтобы ваш сервер не использовал и не предоставлял WINS для сопоставления NetBIOS-имён с ip-адресами компьютеров выберите Off. Отметив Enable WINS server вы позволите клиентам через несколько подсетей сопоставлять имя с адресом. Чтобы ваш сервер работал с внешним WINS-сервером выберите Register with WINS server и введите IP-адресили доменное имя WINS.

Homes. Включите виртуальные share points и у пользователей будет одна домашняя папка (home folder) если они используют Windows или Mac OS X.

Команды терминала для дополнительной настройки SMB:

$ sudo serveradmin settings
smb:dos charset = value
smb:domain master = value
smb:local master = value
smb:wins support = value
smb:wins server = value
Control-D

Описание команд и параметров:

Параметр Описание
dos charset Кодировка, доступны:

  • 437 (Latin US);
  • 737 (Greek);
  • 775 (Baltic);
  • 850 (Latin1);
  • 852 (Latin2);
  • 861 (Icelandic);
  • 866 (Cyrillic);
  • 932 (Japanese SJIS);
  • 936 (Simplified Chinese);
  • 949 (Korean Hangul);
  • 950 (Traditional Chinese);
  • 1251 (Windows Cyrillic).
domain master Принимает значение yes или no.
local master Рабочие группы, так же принимает значение yes или no.
wins support Поддержка WINS, принимает значение yes или no.
wins server Имя WINS сервера.

Полезные команды терминала

Команда Описание
$ sudo serveradmin start smb Старт SMB.
$ sudo serveradmin settings status smb Вывод статистики SMB.
$ sudo serveradmin settings fullstatus smb Расширенная статистика SMB.
$ tail log-filesudo serveradmin settings fullstatus smb Просмотр лога SMB>
$ sudo serveradmin command smb:command = getConnectedUsers Информация о подключениях к серверу.
$ sudo serveradmin stop smb Остановка SMB.

Все описанные выше действия и многие другие так же доступны в удобном меню Server Admin, даже с удаленной машины. Т.е. даже сидя на диване с MacBook Pro за тысячу километров от сервера вы сможете его настроить при помощи Server Admin или терминала.


Все публикации по Snow Leopard Server, опубликованные на данный момент доступны по тегу «Серия публикаций по Server».