Различия между версиями 27 и 28
Версия 27 от 2008-10-02 11:40:38
Размер: 22847
Редактор: DmitryChistikov
Комментарий:
Версия 28 от 2008-10-02 12:07:58
Размер: 22641
Редактор: DmitryChistikov
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 251: Строка 251:
 ''Здесь должны быть раскрыты две темы: упрощенное "хождение" по SMB-ресурсам (задание дефолтных имени пользователя и пароля) и упрощенная раздача каталогов.'' -- DmitryChistikov <<DateTime(2008-09-20T15:52:33+0400)>>
Строка 266: Строка 264:

 ''Заключительный кусок пока не переведен.'' -- DmitryChistikov <<DateTime(2008-10-02T13:07:58+0400)>>
Строка 287: Строка 287:
|| 39 || 1 || 1 || 1 || || 1 || SergeyKorobkov, DmitryChistikov, VsevolodKrishchenko || || || || 45 || 1 || 1 || 1 || || 1 || SergeyKorobkov, DmitryChistikov, VsevolodKrishchenko || || ||

SMB: практика

Ручная настройка

Откроем конфигурационный файл системы Samba --- /etc/samba/smb.conf. Легко заметить, что большая часть строк в этом файле --- комментарии, облегчающие процесс настройки и избавляющие от необходимости слишком часто обращаться к соответствующей странице руководства (smb.conf(5)). Обратим внимание на некоторые из незакомментированных строк. В разделе [global] мы обнаружим следующий параметр:

   workgroup = WORKGROUP

Это имя домена, по которому компьютеры объединяются в рабочие группы. Значение данного параметра влияет на то, как наша сеть будет отображаться в различных сетевых навигаторах, поддерживающих SMB.

Обратим также внимание на установленный режим безопасности:

   security = user

В этом режиме доступ к ресурсам осуществляется с ограничениями и правами пользователей. Немного ниже в файле можно задать более тонкие настройки. В настоящее время включено, к примеру, шифрование паролей:

   encrypt passwords = true

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

#   unix password sync = yes

Далее указаны опции, связанные с сосуществованием в одной сети нескольких машин с SMB-серверами (им нужно выбирать "лидера" и пр.). Можно установить ограничения на IP-адреса машин в сети:

# 4. Security and Domain Membership Options:
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page. Do not enable this if (tcp/ip) name resolution does
# not work for all the hosts in your network.
;   hosts allow = 192.168.1. 192.168.2. 127.

Есть и возможности управления NT-доменом. К примеру, при авторизации (?) можно выполнять тот или иной сценарий:

# Enable this if you want Samba to be a domain logon server for
# Windows95 workstations or Primary Domain Controller for WinNT and Win2k
;   domain logons = yes

# run a specific logon batch file per workstation (machine)
;   logon script = %m.bat
# run a specific logon batch file per username
;   logon script = %U.bat

Обратим также внимание на раздел, связанный с именами файлов. При изменении настроек этого раздела следует помнить, что в ОС Linux в имени файла может присутствовать любой символ, кроме символа косой черты / и символа с кодом 0; для ОС Windows же ограничения иные. Если попробовать создать файл с "неудобным" для Windows именем, то он появится, но в его имени обнаружатся различные шестнадцатеричные цифры. Обратиться к такому файлу по имени будет возможно, однако подобных проблем, тем не менее, лучше не создавать. Если же при конфигурации сети известно, что все компьютеры в ней используют ОС Linux, то можно вписать в [global]-раздел файла smb.conf опцию unix extensions = yes (или раскомментировать соответствующую строку, если она уже имеется), что позволит работать с такими именами без дополнительных сложностей.

Перейдем к разделу, содержащему настройки ресурсов. Как видим, домашние каталоги пользователей помещены в специальный ресурс с именем homes:

[homes]
   comment = Home Directory for '%u'
   browseable = no
   writable = yes

Чтобы получить доступ к ним по протоколу SMB, требуется использовать не только регистрационные имена, но и SMB-пароли этих пользователей (их мы еще не создавали). Флаг browseable в списке опций отвечает за просмотр всего списка ресурсов. В данном случае, как мы видим, он установлен в no, чтобы домашние каталоги пользователей в этот список не попадали --- иначе любой злоумышленник легко получит регистрационные имена всех пользователей нашей системы.

Отметим, что кроме пользователей из обычного списка есть также понятие "неавторизовавшегося" пользователя ("гостя" (?)). Доступность SMB-ресурсов для такого пользователя определяется значениями флага public. Раскомментируем ниже в конфигурационном файле настройки ресурса с именем tmp:

[tmp]
   comment = Temporary file space
   path = /var/local/share
   read only = no
   public = yes

Сохраним изменения, внесенные нами в smb.conf, после чего запустим службу smb:

[root@class305 ~]# chkconfig smb on
[root@class305 ~]# service smb start

Используем теперь (с соседнего компьютера) программу smbclient для просмотра списка ресурсов на нашем сервере (host1 --- это его имя):

[user@host193 ~]$ smbclient -L host1
Password:
Anonymous login successful
Domain=[ALTDOMAIN] OS=[Unix] Server=[Samba 3.0.30-ALT]

        Sharename       Type      Comment
        ---------       ----      -------
        tmp             Disk      Temporary file space
        IPC$            IPC       IPC Service (Samba server on class305 (v. 3.0.30-ALT))
Anonymous login successful
Domain=[ALTDOMAIN] OS=[Unix] Server=[Samba 3.0.30-ALT]

        Server               Comment
        ---------            -------
        CLASS305             Samba server on class305 (v. 3.0.30-ALT)

        Workgroup            Master
        ---------            -------
        ALTDOMAIN

Просмотрим содержимое ресурса tmp:

[user@host193 ~]$ smbclient //host1/tmp
Password:
Anonymous login successful
Domain=[ALTDOMAIN] OS=[Unix] Server=[Samba 3.0.30-ALT]
smb: \> ls
  .                                   D        0  Wed Aug  6 16:53:38 2008
  ..                                  D        0  Wed Aug  6 14:14:34 2008
  ksocket-saj                         D        0  Wed Aug  6 16:35:47 2008
  kde-saj                             D        0  Wed Aug  6 16:34:21 2008
  gconfd-saj                          D        0  Wed Aug  6 14:29:34 2008
  orbit-saj                           D        0  Wed Aug  6 16:09:05 2008
  .xfsm-ICE-45SOFU                    H      231  Wed Aug  6 14:29:11 2008
  .X0-lock                           HR       11  Wed Aug  6 14:17:35 2008
  .font-unix                         DH        0  Wed Aug  6 14:17:18 2008
  .esd                               DH        0  Wed Aug  6 14:17:18 2008
  .X11-unix                          DH        0  Wed Aug  6 14:17:35 2008
  .ICE-unix                          DH        0  Wed Aug  6 16:35:47 2008

                62086 blocks of size 2048. 62080 blocks available
smb: \>

Завершим работу smbclient. Создадим теперь на сервере нового пользователя:

[root@class305 ~]# adduser smbuser

Обратим внимание, что пароль для него еще не создан, поэтому войти в систему он не сможет. Занесем этого пользователя в соответствующий список в Samba:

[root@class305 ~]# smbpasswd -a smbuser
New SMB password:
Retype new SMB password:
Added user smbuser.

Здесь нам пришлось задать этому пользователю SMB-пароль. Информация о данном пользователе появилась в файле /etc/samba/smbpasswd:

[root@class305 ~]# cat /etc/samba/smbpasswd
smbuser:502:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB12283678:[U          ]:LCT-4899A43C:

Теперь, если просмотреть список ресурсов на сервере от имени этого пользователя, то мы увидим его домашний каталог --- ресурс smbuser:

[user@host193 ~]$ smbclient -U smbuser -L host1
Password:
Domain=[CLASS305] OS=[Unix] Server=[Samba 3.0.30-ALT]

        Sharename       Type      Comment
        ---------       ----      -------
        tmp             Disk      Temporary file space
        IPC$            IPC       IPC Service (Samba server on class305 (v. 3.0.30-ALT))
        smbuser         Disk      Home Directory for 'smbuser'
Domain=[CLASS305] OS=[Unix] Server=[Samba 3.0.30-ALT]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
        ALTDOMAIN

Заметим, что доступные по протоколу SMB ресурсы можно примонтировать к дереву каталогов на локальной машине. Эта функциональность реализуется двумя утилитами: smbmount, работающей в стиле mount, и mount.cifs, работающей в стиле CIFS.

Обратим также внимание на тот факт, что протокол SMB можно использовать и для организации доступа к принтерам. По умолчанию все принтеры, зарегистрированные в системе CUPS, "раздаются" с помощью Samba по сети (если, разумеется, включена служба smb). Отметим, что как в CUPS, так и в Samba драйвер принтера должен находиться на клиентской, а не на серверной машине. Это позволяет без дополнительных настроек организовать доступ к принтеру, подключенному к машине с ОС Linux, --- в том числе и для Windows-клиентов. Исключение составляют так называемые win-принтеры, которые вообще непросто заставить работать с CUPS.

Отметим напоследок, что настраивать систему Samba возможно и без ручной правки конфигурационного файла smb.conf (хотя обычно это довольно удобный способ, особенно если обращать внимание на подробные комментарии в самом файле и не брезговать чтением страницы руководства smb.conf(5)). Можно воспользоваться графическим настройщиком SWAT --- при своей работе он полностью переписывает весь smb.conf, удаляя все комментарии (фактически, это специального вида редактор для данного файла).

Настройка с помощью KDE

  • Здесь нужно каким-то способом объяснить читателю, что мы перенастраиваем все "с нуля". Если этого не сделать, возникнет непонимание того, куда же делись наши настройки. -- DmitryChistikov 2008-09-06 18:37:07

Откроем центр управления KDE и выберем в списке слева "Сеть и Интернет" --- "Samba". Разумеется, для настройки придется ввести пароль суперпользователя:

../kcontrolcenter_root_password_request_dialog.png

Организуем доступ по протоколу SMB для пользователя user. Перейдем на вкладку "Пользователи":

../kcontrolcenter_smb_users.png

Как мы видим, список пользователей Samba пока пустует. Перенесем из списка пользователей UNIX (POSIX) учетную запись user. Выберем соответствующую строку и щелкнем по кнопке "Добавить". Появится диалоговое окно, в котором нужно задать SMB-пароль:

../kcontrolcenter_smb_new_user_dialog.png ../kcontrolcenter_smb_new_user_dialog_password_typing.png ../kcontrolcenter_smb_new_user_dialog_strong_password.png

Обратим внимание на "Датчик надежности пароля" --- он наглядно показывает, насколько стойкий пароль мы ввели. После задания пароля следует щелкнуть по кнопке "OK" в диалоговом окне, а затем по кнопке "Применить" в правом нижнем углу окна "Центра управления KDE".

Вернемся на вкладку "Общие параметры":

../kcontrolcenter_smb_general.png

Обратим внимание на выбранный режим безопасности --- "Владелец" (этот вариант соответствует строке security = user в файле smb.conf). На этой же вкладке можно включить анонимный ("гостевой") доступ --- это бывает полезно при создании публичных ресурсов.

Перейдем к вкладке "Общие ресурсы":

../kcontrolcenter_smb_shares2.png

Здесь можно добавить тот или иной каталог в список разделяемых ресурсов, а также изменить настройки уже имеющихся ресурсов. Щелкнем по кнопке "Добавить общий ресурс...":

../kcontrolcenter_smb_share_add_general.png

Скажем несколько слов об опциях в списке "Основных свойств". Флажок "Открытый" соответствует опции public и определяет доступность ресурса неавторизовавшимся пользователям, флажок "Разрешить просмотр" --- опции browseable (видимость ресурса при "просмотре сети"). Снимем флажок "Только чтение", чтобы разрешить пользователям использовать наш ресурс в режиме не только чтения, но и записи; заполним и остальные поля:

  • Абзац подлежит особо аккуратной проверке. -- DmitryChistikov 2008-10-02 11:08:41

../kcontrolcenter_smb_share_add_general_filled.png

После этого щелкнем по кнопке "OK" --- наш ресурс сразу же появится в списке:

../kcontrolcenter_smb_share_added.png

Используем теперь для навигации по ресурсам сети Web-браузер Konqueror. Модуль smb механизма KIO позволяет использовать в качестве адреса строки вида smb://host1/:

../konqueror_smb_host1.png

Без авторизации (то есть как public) виден (browseable) лишь ресурс tmp. Можно щелкнуть по соответствующей папке, чтобы попасть "внутрь" ресурса:

  • Возможно, здесь нужно уточнить или вообще изменить формулировки. -- DmitryChistikov 2008-10-02 11:08:41

../konqueror_smb_host1_tmp.png

Чтобы получить доступ к домашнему каталогу пользователя smbuser, мы должны действовать от его имени. Зададим имя пользователя в адресной строке, запросив одновременно доступ к каталогу: smb://smbuser@10.30.5.1/smbuser. Появится диалог авторизации с предложением ввести пароль:

../konqueror_smb_authorization.png

Теперь, если ввести правильный пароль, мы получим доступ к запрошенному каталогу:

../konqueror_smb_user.png

Дополнительные возможности

Скажем несколько слов и о дополнительных возможностях при работе с Samba, предоставляемых средой KDE. Откроем в Центре управления KDE раздел "Сеть и Интернет" --- "Обзор локальной сети":

../kcontrolcenter_networking_smb_browsing.png

Здесь можно вписать свои параметры авторизации (регистрационное имя Samba и пароль Samba) в соответствующие поля:

../kcontrolcenter_networking_smb_browsing_credentials.png

Если теперь применить внесенные изменения, то при работе с ресурсами Samba посредством Konqueror не потребуется вводить эти данные каждый раз заново:

../konqueror_smb_default_credentials.png

Обратим внимание, что форму записи адреса без указания имени пользователя (smb://10.30.5.1/) мы уже использовали, однако на этот раз, как и ожидалось, мы получили права пользователя smbuser "автоматически". Понятно, что такой стиль работы с Samba может существенно понизить уровень безопасности системы, поэтому использовать описанную возможность следует с осторожностью.

  • Заключительный кусок пока не переведен. -- DmitryChistikov 2008-10-02 12:07:58

Упрощённая раздача папок.

../kcontrolcenter_file_sharing.png

Отметить пункт упрощенная раздача:

../kcontrolcenter_file_sharing_root_access.png

А потом нажав аторизованные пользователи выбрать у кого будет возможность раздавать папки из своего домашнего каталога.

../kcontrolcenter_file_sharing_trusted_users_dialog.png

(Есть еще скриншоты.)


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

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

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

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

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

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

Level

Maintainer

Start date

End date

45

1

1

1

1

SergeyKorobkov, DmitryChistikov, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080806/04SambaPractice (последним исправлял пользователь eSyr 2009-03-22 23:00:11)