Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2008-08-07 14:28:25
Size: 7956
Editor: eSyr
Comment:
Revision 7 as of 2008-08-21 11:13:40
Size: 8350
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Если ектору не изм. память, то семейство пртоколов smb (он же cifs --- common internet file system) была разраб. ibm для os/2. Как гооврит ..., работающий в ibm над smb, это назв. примечастельно тем, что там ни слова правда. Не common, не internet не тольк file и не только system Семейство протоколов SMB, оно же CIFS (Common Internet File System), изначально разрабатывалось фирмой IBM для операционной системы OS/2, но потом пошло в народ. Как рассказывал один из разработчиков этого семейства из IBM, в названии нет ни слова правды --- не Common, не только Internet, и отнюдь не только File System.
Line 5: Line 5:
Не надо думать, что smb эт подачка в строну windows и виндузятное что-то. Вовсе нет, если сегдня смтреть на семейства большие пртоколов, т cifs наиболее мощный среди популярных. Если смотркеть..., т мы видим сильные различия, которые в принипе меняют наш подхд к понятию fs в каждм случае. В случае nfs он основан на ip-based авторизацию. То есть предп, что на всех машинах, исп. nfs единое администрирвание, и взлом любй машины, исп. nfs, озн взлм всей системы. В частнсти, это озн, что на всех машинах один. набор. польз. с одинаковыми uid. Это означает, чт если кмпьютер вошёл, ввёл пароль, то мы этму доверяем. Если т конкр. ip-адреса исх. некая инф., то мы её считаем истинной. Что же касается файловго сервиса п smb, там авторизация п логину-паролю. Это что касается smb как пртокола для доступа к уд. ФС. Н это не только доступ к ФС, это доступ к принтерам, авторизация, своя реализация доменной службы (wins) и ещё куча всякого. Не следует отн. к этму как к пережиткам венды, поск. это обл. прим. сущ. разная. Например, доступ к принтерам по самбе дост. продвинута, и пока cups не вошёл в больш. дистрибутивв, исп. lpd точно также отличалось то исп. smb тем же самым --- ip-based авторизация, проблемы с драйверами... Подсистему авт. в самбе можно исп. в линуксе для авт. польз. и посл. доступа. эта служба наз. winbind, и там есть разные настр. Расск. пр эт не будем, можно сделать даже так, чтобы linux машины хдили к win-машине для автризации, для этго неужно орг. nt4-домен. Почему про это не будет расск: если исп. авт. не по числу, а по факту ввдеения логина и парля, исч. необх. в uid, поск. он перестаёт иметь смысл. Польз. это не процесс с опр. uid, а прцесс, у которог инициатор сеанса назвал нужный пароль. Поэтому winbind вообще не заморчивается с uid, поэтому всё, о чём говорили в лекции пр аунт, и бонусы, кторые были ..., мжн тоже отправить на свалку. Эт всё рг. путём чтения документации. Лектор делал это три раза и три раза отк. В случае джуниора 2.0 легче объяснить как польз. passwd и useradd, чем объясн. дополнительно smb. Взм., это будет исп. для авт. в МЗ ВМК. Было бы величайшей ошибкой думать, что SMB --- это тяжёлое наследие Windows и несёт с собой все ужасы этой операционной системы.
Line 7: Line 7:
Есть проект пд назв. samba, который явл. реализацией cifs для разного рда систем, в первую очередь posix. Для того, чтбы утс. самбу и чего-нибудь зашарить, не нужн практически ничего. Самба очень бльшая система, документация написана в стиле хавту. В самбе очень говорящий настр. файл, для 90 процентов задач дост. тредактировать smb.conf, там, если себе предст, как устр. smb-сеть, до дост. хрош понятно, что там написано. Ни smb, ни samba не реализуют того, что в windows называется AD. Этогоо нет в smb3, эт должно появиться в smb4, но как-т оно медленно. У лектора есть пдозрение, что AD потихоньку теснят всякие другие directory-сервера, такие как например fedora directory server. В семейство протоколов CIFS, помимо собственно файловой системы, входит система авторизации пользователей, система доступа к принтерам, собственная реализация службы доменных имён под названием WINS, и это, кажется, ещё не всё. Если говорить о файловой системе --- основное достоинство реализации CIFS по сравнению с NFS (по крайней мере, версии 3) --- это авторизация по логину-паролю, а не host-based, которая предполагает, что вся система администрируется единым образом. То есть для использования такой системы необходимо, чтобы на клиенте и на пользователе был одинаковый набор пользователей, которые получают доступ к NFS, и мы предполагаем, что если пользователь авторизовался на своей машине, и она идёт за файлами на сервер от имени пользователя, то это правильный пользователь и ему можно отдать файлы. Это порождает опрелелённые проблемы с безопастностью и ограничениями доступа. В случае же неанонимного доступа к файловой системе по протоколу CIFS пользователь авторизует себя логином и паролем непосредственно при соединении с сервером. Но есть некоторые проблемы, связанные с тем, что в таком случае уходит далеко и надолго вся классическая система прав доступа к файлам, так как при авторизации пользователю выдаётся некий временный UID.
Line 9: Line 9:
Что в этом файле настр. нам интересн: название домена. Для удобства настрйки в smb-сетях компьютеры бъед. в домены, раб. группы. Это важная штука, её будут видеть при брузинге сети. security=user зн., что доступ будет идти по уч. записям пльз. Надо понимать, что пльз. пдсистемы samba не равны пользователям linux. Это восх. к тму, что в linux исп. posix, а в smb другое предст. В частности, уч. польз. smb устроены так, что паролип поьзователей хранятся. В принципе, при помощи CIFS можно даже сделать так, что Linux-машины будут авторизовывать пользователей на NT4-домене, сервер которого работает под Windows, но это тема отдельного разговора.
Line 11: Line 11:
##Пправить объясн --- Это нужно по одной простой причине --- вы, когда идент. польз. на лок. машине (в случае, если вы ей не доверяете) --- вы должны отослать пароль на сервер, сравнить, и принять решение, правильный парль или нет. Или же отослать хэши. Как было упомянуто выше, в POSIX-совместимых системах, в частности, Linux, пакет программных продуктов, реализующий семейство протоколов CIFS, называется samba. В настройке этот пакет очень прост, во многом потому, что из-за его больших размеров документация к нему написана в стиле how-to, то есть описываются не только общие случаи использования, но и множество конкретных примеров. Также основные конфигурационные файлы богато откомментированы, что, зачастую, убирает всякую необходимость в чтении документации.
Line 13: Line 13:
пароли хранятся в smbpasswd, хадаются программой smbpasswd, кторой ещё и сзд. польз., мжно синхр. пароли. Основной конфигурационный файл пакета samba называется smb.conf, и хранится обыкновенно в `/etc/samba/smb.conf`. Для настройки того, что в Windows называется "Общий доступ к каталогу" (??), достаточно раскомментировать в этом файле несколько строк и перезапустить samba командой `service samba restart`. Одна из таких опций --- имя домена (то есть, рабочей группы), в которую входит данная машина. Весьма важным является так же параметр security, который определяет, каким образом пользователи авторизуются для доступа к ресурсам. При уровне доступа user, который включен по умолчанию, авторизация происходит по внутренней базе пользователей samba, которая хранится в `/etc/samba/smbpasswd` и имеет некоторые отличия от классической shadow. То есть, следует иметь в виду, что в общем случае пользователи системы не имеют ничего общего с пользователями samba. Одно из ключевых различий в том, что samba в smbpasswd хранит восстановимые хэши от паролей пользователей.
Line 15: Line 15:
Чтобы зак. с польз.: чтбы самба воспр. польз. как сущ., нужно, чтобды соотв. польз. в линукс тже сущ. То есть, нужно сначала завести польз. линуксового, а потом самбовского. Это требуется делать из-за особенностей механизма аутентификации, который выглядит где-то так: сначала клиент стучится к серверу, который посылает клиенту некоторую "соль", то есть небольшое количество случайных данных. Клиент хэширует свой пароль совместно с солью, и отправляет серверу, который, зная соль и пароль, восстанавливает хэш и проверяет, совпадает ли пароль.

Для добавления пользователей в базу пользователей samba существует утилита smbpasswd, у которой, в частности, есть возможность синхронизировать добавление с добавлением пользователя в систему. Это необходимо, например, для того, чтобы отдавать через CIFS домашние каталоги пользователей системы --- необходимо, чтобы соответствующий пользователь в системе существовал.
Line 23: Line 25:
|| 0 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, VladimirLysikov, VsevolodKrishchenko || || || || 21 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, ОльгаТочилкина, 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

21

1

1

1

1

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


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

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