Differences between revisions 8 and 15 (spanning 7 versions)
Revision 8 as of 2008-08-21 11:37:06
Size: 8407
Comment:
Revision 15 as of 2008-10-04 11:38:02
Size: 10023
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Семейство протоколов SMB, оно же CIFS (англ. Common Internet File System --- единая файловая система для Internet), изначально разрабатывалось фирмой IBM для операционной системы OS/2, но потом пошло в народ. (Как рассказывал один из разработчиков этого семейства из IBM, в названии нет ни слова правды --- не Common, не только Internet, и отнюдь не только File System.) Семейство протоколов SMB (Server Message Block), оно же CIFS (англ. Common Internet File System --- единая файловая система для Internet) используется, несмотря на название, для доступа к ресурсам в пределах локальной сети.
Line 5: Line 5:
Было бы величайшей ошибкой думать, что SMB --- это тяжёлое наследие Windows и несёт с собой все ужасы этой операционной системы. Разработка протоколов SMB началась фирмой IBM во времена сотрудничества IBM и Microsoft. Последняя внесла в протокол наибольшее число изменений, интенсивно использует его модифицированную версию до сих пор, и даже предлагала его на роль интернет-стандарта под именем CIFS.
Кроме реализации Microsoft, существует в основном совместимая с нею свободная реализация SMB, созданная проектом Samba.
Line 7: Line 8:
В семейство протоколов CIFS, помимо собственно файловой системы, входит система авторизации пользователей, система доступа к принтерам, собственная реализация службы доменных имён под названием WINS, и это, кажется, ещё не всё. Если говорить о файловой системе --- основное достоинство реализации CIFS по сравнению с NFS (по крайней мере, версии 3) --- это авторизация по логину-паролю, а не host-based, которая предполагает, что вся система администрируется единым образом. То есть для использования такой системы необходимо, чтобы на клиенте и на пользователе был одинаковый набор пользователей, которые получают доступ к NFS, и мы предполагаем, что если пользователь авторизовался на своей машине, и она идёт за файлами на сервер от имени пользователя, то это правильный пользователь и ему можно отдать файлы. Это порождает опрелелённые проблемы с безопастностью и ограничениями доступа. В случае же неанонимного доступа к файловой системе по протоколу CIFS пользователь авторизует себя логином и паролем непосредственно при соединении с сервером. Однако при этом могут возникнуть некоторые проблемы, связанные с тем, что в таком случае изменяетя вся классическая система прав доступа к файлам, так как при авторизации пользователю выдаётся некий временный UID. ## это на фирмой IBM для операционной системы OS/2, но потом разработка продолжилась уже сообществом свободных программистов. Неправильно думать, что SMB --- это наследие Windows и несёт с собой все негативные стороны этой операционной системы.
Line 9: Line 10:
В принципе, при помощи CIFS можно даже сделать так, что Linux-машины будут авторизовывать пользователей на NT4-домене, сервер которого работает под Windows, но это тема отдельного разговора. В семейство протоколов CIFS, помимо собственно сетевой файловой системы, входит система авторизации пользователей, система доступа к принтерам, собственная реализация службы имён компьютеров под названием WINS. Что касается сетевой файловой системы, основное достоинство реализации CIFS по сравнению с NFS (по крайней мере, NFS версии 3) --- это авторизация по логину и паролю, а не по адресу компьютера и локальным реквизитам пользователя. Иными словами, для использования такой системы необходимо, чтобы на клиенте и на пользователе был одинаковый набор пользователей, которые получают доступ к NFS, и мы предполагаем, что если пользователь авторизовался на своей машине, и она обращается за файлами на сервер от имени пользователя, то это правильный пользователь и ему можно отдать файлы. Подход к авторизации в NFS3 предполагает, что вся система администрируется единым образом, что было отчасти верно четверть века тому назад, но и тогда этот подход порождал проблемы с безопасностью и ограничениями доступа.
Line 11: Line 12:
Как было упомянуто выше, в POSIX-совместимых системах, в частности, GNU/Linux, пакет программных продуктов, реализующий семейство протоколов CIFS, называется samba. Этот пакет очень прост в настройке, во многом потому, что из-за его больших размеров документация к нему содержит не только общие случаи использования, но и множество конкретных примеров. Также основные конфигурационные файлы хорошо откомментированы, что зачастую убирает всякую необходимость в чтении документации. В случае же неанонимного доступа к файловой системе по протоколу CIFS пользователь авторизует себя логином и паролем непосредственно при соединении с сервером. Однако при этом изменяется вся классическая система прав доступа к файлам, так как при авторизации пользователю выдаётся некий временный UID. В принципе, при помощи CIFS можно даже сделать так, что Linux-машины будут авторизовывать пользователей на NT-домене, сервер которого работает под ОС Windows. Кроме того, компьютер с Samba может сам выступать роли контроллера домена NT4.
Line 13: Line 14:
Основной конфигурационный файл пакета samba называется smb.conf, и хранится обычно в `/etc/samba/smb.conf`. Для настройки того, что в Windows называется "Общий доступ к каталогу" (??), достаточно раскомментировать в этом файле несколько строк и перезапустить samba, выполнив команду '''service samba restart'''. Одна из таких опций --- имя домена (то есть, рабочей группы), в которую входит данная машина. Весьма важным является параметр security, который определяет, каким образом пользователи авторизуются для доступа к ресурсам. При уровне доступа user, который включен по умолчанию, авторизация происходит по внутренней базе пользователей samba, которая хранится в каталоге `/etc/samba/smbpasswd` и имеет некоторые отличия от классической shadow. Иными словами, следует иметь в виду, что в общем случае пользователи системы не имеют ничего общего с пользователями samba. Одно из ключевых различий в том, что samba в smbpasswd хранит восстановимые хэши от паролей пользователей. Как было упомянуто выше, в POSIX-совместимых системах, в частности, GNU/Linux, пакет программных продуктов, реализующий семейство протоколов CIFS, называется samba. Этот пакет очень прост в настройке, во многом благодаря потому, что из-за его больших размеров документация к нему содержит не только общие случаи использования, но и множество конкретных примеров. Также основные конфигурационные файлы содержат большое количество комментариев, что минимизирует необходимость в чтении документации.
Line 15: Line 16:
Это необходимо из-за особенностей механизма аутентификации, который выглядит где-то так: сначала клиент стучится к серверу, который посылает клиенту некоторую "соль", то есть небольшое количество случайных данных. Клиент хэширует свой пароль совместно с солью, и отправляет серверу, который, зная соль и пароль, восстанавливает хэш и проверяет, совпадает ли пароль. Основной конфигурационный файл пакета samba называется smb.conf, и хранится обычно в {{{/etc/samba/smb.conf}}}. Для настройки того, что в Windows называется "Общий доступ к папке", достаточно извлечь из комментариев в этом файле несколько строк и перезапустить samba, выполнив команду {{{service samba restart}}}. Одна из опций --- имя домена (то есть, рабочей группы), в которую входит данная машина. Весьма важным является параметр security, который определяет, каким образом пользователи авторизуются для доступа к ресурсам.
Line 17: Line 18:
Для добавления пользователей в базу пользователей samba существует утилита smbpasswd, у которой, в частности, есть возможность синхронизировать добавление с добавлением пользователя в систему. Это необходимо, например, для того, чтобы отдавать через CIFS домашние каталоги пользователей системы --- необходимо, чтобы соответствующий пользователь в системе существовал. При уровне доступа на уровне пользователя (на англ. этот тип доступа называется ''user''), который включен по умолчанию, авторизация происходит по внутренней базе пользователей samba. Иными словами, следует иметь в виду, что в общем случае пользователи системы не имеют ничего общего с пользователями samba, хотя часто их делают совпадающими, а также существуют единые механизмы ведения списка пользователей системы и samba . Одно из ключевых различий между двумя группами пользователей состоит в том, что для пользователей samba в базе должна хранится информация, по которой Samba можно восстановить его пароль в момент идентификации пользователя.

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

Наиболее простым способом хранения логинов и паролей в Samba является файл smbpasswd, который в ПСПО имеет полный путь {{{/etc/samba/smbpasswd}}}. Samba в smbpasswd хранит восстановимые хэши от паролей пользователей, для добавления пользователей в базу пользователей samba существует утилита smbpasswd, у которой, в частности, есть возможность синхронизировать добавление с добавлением пользователя в систему. Это необходимо, например, для того, чтобы отдавать через CIFS домашние каталоги пользователей системы: для этого нужно, чтобы соответствующий пользователь существовал в системе.
Line 25: Line 30:
|| 37 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, ОльгаТочилкина, VsevolodKrishchenko || || || || 90 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, ОльгаТочилкина, VsevolodKrishchenko || || ||

SMB: теория

Семейство протоколов SMB (Server Message Block), оно же CIFS (англ. Common Internet File System --- единая файловая система для Internet) используется, несмотря на название, для доступа к ресурсам в пределах локальной сети.

Разработка протоколов SMB началась фирмой IBM во времена сотрудничества IBM и Microsoft. Последняя внесла в протокол наибольшее число изменений, интенсивно использует его модифицированную версию до сих пор, и даже предлагала его на роль интернет-стандарта под именем CIFS. Кроме реализации Microsoft, существует в основном совместимая с нею свободная реализация SMB, созданная проектом Samba.

В семейство протоколов CIFS, помимо собственно сетевой файловой системы, входит система авторизации пользователей, система доступа к принтерам, собственная реализация службы имён компьютеров под названием WINS. Что касается сетевой файловой системы, основное достоинство реализации CIFS по сравнению с NFS (по крайней мере, NFS версии 3) --- это авторизация по логину и паролю, а не по адресу компьютера и локальным реквизитам пользователя. Иными словами, для использования такой системы необходимо, чтобы на клиенте и на пользователе был одинаковый набор пользователей, которые получают доступ к NFS, и мы предполагаем, что если пользователь авторизовался на своей машине, и она обращается за файлами на сервер от имени пользователя, то это правильный пользователь и ему можно отдать файлы. Подход к авторизации в NFS3 предполагает, что вся система администрируется единым образом, что было отчасти верно четверть века тому назад, но и тогда этот подход порождал проблемы с безопасностью и ограничениями доступа.

В случае же неанонимного доступа к файловой системе по протоколу CIFS пользователь авторизует себя логином и паролем непосредственно при соединении с сервером. Однако при этом изменяется вся классическая система прав доступа к файлам, так как при авторизации пользователю выдаётся некий временный UID. В принципе, при помощи CIFS можно даже сделать так, что Linux-машины будут авторизовывать пользователей на NT-домене, сервер которого работает под ОС Windows. Кроме того, компьютер с Samba может сам выступать роли контроллера домена NT4.

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

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

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

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

Наиболее простым способом хранения логинов и паролей в Samba является файл smbpasswd, который в ПСПО имеет полный путь /etc/samba/smbpasswd. Samba в smbpasswd хранит восстановимые хэши от паролей пользователей, для добавления пользователей в базу пользователей samba существует утилита smbpasswd, у которой, в частности, есть возможность синхронизировать добавление с добавлением пользователя в систему. Это необходимо, например, для того, чтобы отдавать через CIFS домашние каталоги пользователей системы: для этого нужно, чтобы соответствующий пользователь существовал в системе.


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

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

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

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

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

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

Level

Maintainer

Start date

End date

90

1

1

1

1

MaximByshevskiKonopko, ОльгаТочилкина, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

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