Differences between revisions 5 and 6
Revision 5 as of 2008-08-12 22:29:54
Size: 8100
Comment: Надо выяснить, что там с хранением паролей.
Revision 6 as of 2008-08-14 20:41:34
Size: 8337
Comment: А вот, впрочем, и оно.
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
##Пправить объясн --- Это нужно по одной простой причине --- вы, когда идент. польз. на лок. машине (в случае, если вы ей не доверяете) --- вы должны отослать пароль на сервер, сравнить, и принять решение, правильный парль или нет. Или же отослать хэши. Это требуется делать из-за особенностей механизма аутентификации, который выглядит где-то так: сначала клиент стучится к серверу, который посылает клиенту некоторую "соль", то есть небольшое количество случайных данных. Клиент хэширует свой пароль совместно с солью, и отправляет серверу, который, зная соль и пароль, восстанавливает хэш и проверяет, совпадает ли пароль.
Line 25: Line 25:
|| 19 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, VladimirLysikov, VsevolodKrishchenko || || || || 20 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, VladimirLysikov, VsevolodKrishchenko || || ||

SMB: теория

Семейство протоколов SMB, оно же CIFS (Common Internet File System), изначально разрабатывалось фирмой IBM для операционной системы OS/2, но потом пошло в народ. Как рассказывал один из разработчиков этого семейства из IBM, в названии нет ни слова правды --- не Common, не только Internet, и отнюдь не только File System.

Было бы величайшей ошибкой думать, что SMB --- это тяжёлое наследие Windows и несёт с собой все ужасы этой операционной системы.

В семейство протоколов CIFS, помимо собственно файловой системы, входит система авторизации пользователей, система доступа к принтерам, собственная реализация службы доменных имён под названием WINS, и это, кажется, ещё не всё. Если говорить о файловой системе --- основное достоинство реализации CIFS по сравнению с NFS (по крайней мере, версии 3) --- это авторизация по логину-паролю, а не host-based, которая предполагает, что вся система администрируется единым образом. То есть для использования такой системы необходимо, чтобы на клиенте и на пользователе был одинаковый набор пользователей, которые получают доступ к NFS, и мы предполагаем, что если пользователь авторизовался на своей машине, и она идёт за файлами на сервер от имени пользователя, то это правильный пользователь и ему можно отдать файлы. Это порождает опрелелённые проблемы с безопастностью и ограничениями доступа. В случае же неанонимного доступа к файловой системе по протоколу CIFS пользователь авторизует себя логином и паролем непосредственно при соединении с сервером. Но есть некоторые проблемы, связанные с тем, что в таком случае уходит далеко и надолго вся классическая система прав доступа к файлам, так как при авторизации пользователю выдаётся некий временный UID.

В принципе, при помощи CIFS можно даже сделать так, что Linux-машины будут авторизовывать пользователей на NT4-домене, сервер которого работает под Windows, но это тема отдельного разговора.

Как было упомянуто выше, в POSIX-совместимых системах, в частности, Linux, пакет программных продуктов, реализующий семейство протоколов CIFS, называется samba. В настройке этот пакет очень прост, во многом потому, что из-за его больших размеров документация к нему написана в стиле how-to, то есть описываются не только общие случаи использования, но и множество конкретных примеров. Также основные конфигурационные файлы богато откомментированы, что, зачастую, убирает всякую необходимость в чтении документации.

Основной конфигурационный файл пакета samba называется smb.conf, и хранится обыкновенно в /etc/samba/smb.conf. Для настройки того, что в Windows называется "Общий доступ к каталогу" (??), достаточно раскомментировать в этом файле несколько строк и перезапустить samba командой service samba restart. Одна из таких опций --- имя домена (то есть, рабочей группы), в которую входит данная машина. Весьма важным является так же параметр security, который определяет, каким образом пользователи авторизуются для доступа к ресурсам. При уровне доступа user, который включен по умолчанию, авторизация происходит по внутренней базе пользователей samba, которая хранится в /etc/samba/smbpasswd и имеет некоторые отличия от классической shadow. То есть, следует иметь в виду, что в общем случае пользователи системы не имеют ничего общего с пользователями samba. Одно из ключевых различий в том, что samba в smbpasswd хранит восстановимые хэши от паролей пользователей.

Это требуется делать из-за особенностей механизма аутентификации, который выглядит где-то так: сначала клиент стучится к серверу, который посылает клиенту некоторую "соль", то есть небольшое количество случайных данных. Клиент хэширует свой пароль совместно с солью, и отправляет серверу, который, зная соль и пароль, восстанавливает хэш и проверяет, совпадает ли пароль.

Для добавления пользователей в базу пользователей samba существует утилита smbpasswd, у которой, в частности, есть возможность синхронизировать добавление с добавлением пользователя в систему. Это необходимо, например, для того, чтобы отдавать через CIFS домашние каталоги пользователей системы --- необходимо, чтобы соответствующий пользователь в системе существовал.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

20

1

1

1

1

MaximByshevskiKonopko, VladimirLysikov, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080806/03SambaTheory (last edited 2008-10-04 08:38:02 by VsevolodKrishchenko)