Различия между версиями 13 и 14
Версия 13 от 2008-08-25 14:59:06
Размер: 15426
Редактор: DmitryChistikov
Комментарий:
Версия 14 от 2008-09-06 16:03:47
Размер: 17874
Редактор: DmitryChistikov
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 3: Строка 3:
Посмотрим конфигурационный фаил ''/etc/samba/smb.conf''. Здесь можно увидеть имя домена, по которому в smb компьютеры объединяются в рабочие группы. Это влияет на то как наша сеть будет отображаться в разных сетевых навигаторах поддерживающих smb.
{{{
# Change this to the workgroup/NT-domain name your Samba server will part of
=== Ручная настройка ===

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

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

Обратим также внимание на установленный режим безопасности:
Строка 12: Строка 18:
что означает что доступ к ресурсам будет осуществляться с ограничениями и правами пользователей. Здесь же идут всякие другие настройки по поводу шифрования пароля и т.д. Можно так же сделать чтобы posix и smb пароль синхронизировались, то есть при вводе пароля smb менялся и posix пароль.
В этом режиме доступ к ресурсам осуществляется с ограничениями и правами пользователей. Немного ниже в файле можно задать более тонкие настройки. В настоящее время включено, к примеру, шифрование паролей:
Строка 15: Строка 23:
}}}

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

{{{
Строка 18: Строка 31:
Дальше идут настройки связанные с существованием в сети нескольких машин, на которых есть сервера smb, там есть метод для определения, кто главный, кто кому передает информацию, и так далее. Далее указаны опции, связанные с сосуществованием в одной сети нескольких машин с SMB-серверами (им нужно выбирать "лидера" и пр.). Можно установить ограничения на IP-адреса машин в сети:
Строка 29: Строка 43:
Далее ручки для управления NT-доменом. Нужны они, чтобы, например, при логине выполняется некий скрипт.
Есть
и возможности управления NT-доменом. К примеру, при авторизации (?) можно выполнять тот или иной сценарий:
Строка 40: Строка 56:
Обратите внимание на кусок, где описана работа с файлами и их именами. К сожалению, windows windowsу рознь, и что работало в одном, может не работать в другом... То же с именами файлов. Стоит помнить про одну важную вещь: в линуксе в имени файла может присутствовать любой символ, кроме слеша и нулевого. И если попробовать создать такого типа фаил, то он создастся, но с невообразимым именем (состоящим в основном из шестнадцатеричных цифр), и по тому имени содержащему необычные символы к нему можно обратится, но лучше не использовать эти символы. Но если известно, что все машины линуксовые, то можно сказать unix extensions yes, и этих проблем не будет.

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

Перейдем к разделу, содержащему настройки ресурсов. Как видим, домашние каталоги пользователей помещены в специальный ресурс с именем `homes`:
Строка 49: Строка 66:
К списку категорий пользователей, которые есть в ОС Linux добавляется "никакой" пользователь, который ещё не авторизовался, это значит, что такой ресурс будет доступен даже для не аутентифицированным пользователям.
Чтобы получить доступ к ним по протоколу SMB, требуется, однако использовать регистрационные имена и SMB-пароли этих пользователей (последние мы еще не создавали). Флаг `browseable` в списке опций отвечает за просмотр всего списка ресурсов. В данном случае, как мы видим, он установлен в `no`, чтобы домашние каталоги пользователей не попадали в общий список --- иначе любой злоумышленник легко получит спискок пользователей, зарегистрированных в нашей системе.

Отметим, что кроме пользователей из обычного списка есть также понятие "неавторизовавшегося" пользователя. Доступность ресурсов для такого пользователя определяется значениями флага `public`. Раскомментируем ниже в конфигурационном файле настройки ресурса с именем `tmp`:
Строка 57: Строка 78:
После правки конфигурационного фаила запускаем самбу.
Сохраним теперь изменения, внесенные нами в конфигурационный файл, после чего запустим службу `smb`:
Строка 62: Строка 85:
Просмотрим шары через smbclient.
Используем теперь (с соседнего компьютера) программу `smbclient` для просмотра списка ресурсов на нашем сервере (`host1` --- это его имя):
Строка 83: Строка 108:
}}}

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

{{{
Строка 104: Строка 134:
Теперь заведём пользователя. adduser smbuser. Обратим внимание, что у этого пользователя нет posix-пароля и он не может войти в систему. После этого мы можем через smbpasswd создать его и задать ему пароль. Этот пользователь добавился в smbpasswd.
Завершим работу `smbclient`. Создадим теперь на сервере нового пользователя:
Строка 107: Строка 139:
}}}

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

{{{
Строка 111: Строка 148:
}}}

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

{{{
Строка 114: Строка 156:
Теперь при просмотре ресурсов мы видим ресурс smbuser --- домашний каталог пользователя smbuser.
Теперь, если просмотреть список ресурсов на сервере от имени этого пользователя, то мы увидим его домашний каталог --- ресурс `smbuser`:
Строка 135: Строка 179:
Можно примонтировать то, что нам выдается по самбе при помощи команды smbmount. Есть две различные реализации монтирования smb-ресурсов: в стиле mount --- smbmount и в стиле cifs --- mount.cifs

Единственное, что ещё можно рассказать про самбу: раздача принтеров. Самба устроена так, что по умолчанию она уже раздает все принтеры по smb, которые есть в cups. Как в cups, так и в smb драйвер находится на клиенте, а не на сервере. Это может быть не совсем верно в cups(поскольку там не понятно где заканчивается клиент и начинается сервер), но в windows именно так. Поэтому никаких дополнительных настроек по поводу раздачи принтера, подключенного к linux машине, виндовз-пользователю не надо. Исключения составляют всякие извращенные win-принтера, которые в cups не работают.

Осталось сказать две вещи и разбудить всесолода.
Настройки самбы достаточно велики и умом их нельзя объять, и поэтому надо настраивать то что конкретно вас интересует. Для любителей графических настройщиков существует графический настройщик под названием SWAT, который полностью перегенерирует smb.conf, удаляя все комментарии, и фактически является редактором для smb.conf.


Конфигурация посредством kde:

Заметим, что доступные по протоколу 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 ===
Строка 184: Строка 227:
|| 22 || 1 || 1 || 1 || || 1 || SergeyKorobkov, DmitryChistikov, VsevolodKrishchenko || || || || 30 || 1 || 1 || 1 || || 1 || SergeyKorobkov, DmitryChistikov, VsevolodKrishchenko || || ||

SMB: практика

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

Откроем теперь конфигурационный файл системы Samba --- /etc/samba/smb.conf. Обратим внимание на некоторые из незакомментированных строк. В секции [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, чтобы домашние каталоги пользователей не попадали в общий список --- иначе любой злоумышленник легко получит спискок пользователей, зарегистрированных в нашей системе.

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

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

Сохраним теперь изменения, внесенные нами в конфигурационный файл, после чего запустим службу 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

Сначала перешли в режим администратора, ввели пароль рута. Добавим пользователя user и зададим ему пароль.

Таким образом графический интерфейс kde предоставляет следующие возможности по администрированию сервера samba:

  • Добавление локальных пользователей в пользователи samba, выбрать из списка локальных пользователей, задав им пароль

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

  • Управление глобальными настройками сервера samba. Перве окошко --- основные настройки. В уровне безопасности выбирается режим безопасности. По умолчанию настраиваются права для пользователей такие же как у обычных локальных пользователей. Есть включение анонимного доступа, что может быть полезно для создания ресурсов публичных.

Далее ручки для управления NT-доменом. Нужны они, чтобы, например, при логине выполняется некий скрипт. ../kcontrolcenter_smb_general.png

  • Наиболее активной функцией является добавление ресурса в разделяемые.

../kcontrolcenter_smb_shares2.png Здесь же можно добавить или изменить имеющиеся разделяемые ресурсы. ../kcontrolcenter_smb_share_add_general.png Принципиальна галочка "только чтение". По умолчанию ресурсы создаются только для чтения. Разрешить просмотр --- в оригинале был browsable. Галочка разрешить просмотр приводит к тому, что пользователь при просмотре сети это будет видно. Открытый --- public --- доступны незарегистрированным пользователям. ../kcontrolcenter_smb_share_add_general_filled.png после всех настроек жмем ок и получаем еще один разделяемый ресурс. ../kcontrolcenter_smb_share_added.png По большому счёту, поскольку homes и так расшарен, то, в принципе можно ничего не трогать.

kioslave smb.

Пара слов слово о настройке клиентской части самбы. Чтобы легче было, можно уменьшить уровень безопасности, можно вписать свои пользователь и пароль.

Упрощённая раздача папок. Навигация по раздаваемым ресурсам осуществляется довольно просто: ../konqueror_smb_default_credentials.png ../konqueror_smb_host1.png ../konqueror_smb_host1_tmp.png Можно также авторизоваться: ../konqueror_smb_authorization.png ../konqueror_smb_user.png


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

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

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

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

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

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

Level

Maintainer

Start date

End date

30

1

1

1

1

SergeyKorobkov, DmitryChistikov, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

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