Настройка KDE. Использование SMB

Модули, поддерживающие механизм KIO

Одной из целей создания унифицированного пользовательского окружения было осуществление унифицированного доступа всех приложений среды к ресурсам различного типа: файлу локальному, в архиве, удалённому, а также и не к файлам, например, к документам по протоколу HTTP или к оглавлению каталога HTTP-сервера. Механизм, реализующий эту идею, называется KIO (KDE I/O, KDE Input/Output, механизм ввода-вывода KDE), а программа, обеспечивающая доступ, называется модулем, поддерживающим механизм KIO, или, на сленге, kioslave. Посредством вспомогательной программы KInfoCenter пользователь может ознакомиться со списком имеющихся kioslave в разделе "Протоколы". Каждый модуль организует один или несколько протоколов, иногда связанных с общепринятыми протоколами, иногда специфичных для КDE. Все kioslave можно разделить на три группы:

  • связанные с известными сетевыми протоколами;
  • доступ к некоторым специфичным видам локальных ресурсов;
  • внутрисистемные.

Третья группа пользователем явно не используется, они используются средой и прикладными программами. Например, к ним относится zeroconf. Про первые две группы стоит сказать подробнее.

Доступ к сетевым ресурсам

Первая группа модулей KIO cвязанf с известными сетевыми протоколами, например:

  • http --- реализует протокол доступа к ресурсам WWW по протоколу HTTP;
  • ftp --- модуль доступа к FTP-архивам;
  • fish и sftp --- модули для доступа на основе удаленного терминала ssh, может использоваться для доступа к файлам в unix-системах, напрмимер в локальной сети;
  • feed --- доступ к лентам новостей (протокол RSS), добавляет ленту в Akregator, программу для чтения лент новостей;
  • smb --- доступ к ресурсам Samba (файлы в локальной сети);
  • svn --- поддержка системы управления версиями SVN.

Этот набор модулей KIO используется для доступа к удалённым документам и файлам. Пользователь может использовать имена, начинающиеся с соответствующего протокола, в адресной строке Konqueror, например: http://edu.ru, или fish://10.30.5.1. При необходимости пользователь может ввести их вручную, но необходимо помнить, что путь имеет формат URL: протокол://логин@путь:

  • ../kinfocenter_protocols_fish.png

Подробнее о URL написано в стандарте  RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax.

Доступ к локальным ресурсам

Вторая группа модулей KIO организует удобный доступ к некоторым специфичным видам локальных ресурсов. В отличие от сетевых протоколов, адрес при их использовании имеет один слеш после двоеточия, а не два (например, man:/bash).

Например, часть из них начинается с префикса system:/ (, media:/, tar:/, trash:/. Для полной унификации доступа к локальным ресурсам имеется модуль KIO file:/ , осуществляющий доступ к локальным файлам.

  • ../kinfocenter_protocols_floppy.png

  • ../konqueror_address_file.png

  • ../konqueror_address_media.png

  • ../konqueror_address_system.png

В качестве примера рассмотрим просмотр картинки внутри архива tar.gz. Для этого откроем архив во вкладке Konqueror, а потом откроем в новой вкладке и саму картинку. Обратите внимание на поле адреса:

../konqueror_tar_kio.png

Особняком стоят модули KIO для поддержки доступа к документации, реализующие протоколы man:/ и info:/. Как видно из названия, доступ, например, по адресу man:/ssh даст результат, аналогичный команде man ssh в консоли. При наличии в системе документации на двух и более языках будет предложено выбрать файл с желаемым языком:

../kinfocenter_protocols_man.png

Также имеется протокол remote:/ для доступа к списку ресурсов локальной сети (для доступа к конкретным ресурсам используются модули KIO из первой группы):

../konqueror_remote.png

Простой доступ к сетевому ресурсу

Для работы с kioslave, обеспечивающим работу по сетевым протоколам, пользователю нет нужды запорминать названия модулей KIO и запоминать ссылки Существует программа KNetAttach, она создаёт desktop-файл для доступа к удалённому ресурсу.

../knetattach_menu_search.png

../knetattach.png

../knetattach_result_konqueror.png

Центр управления KDE

Ещё одним примером специального модуля KIO является модуль, связанный с адресом settings:/. Введя этот адрес в Konqueror, мы получим доступ к настройкам KDE. Это так же можно сделать, выбрав в главном меню пункт "Центр управления KDE"

../kcontrolcenter_menu.png

После запуска центр управления KDE выглядит следующим образом:

../kcontrolcenter.png

Все доступные настройки KDE можно разделить на несколько групп.

  • Настройки, не влияющие на функциональность системы: настройки внешнего вида, интерфейса, некоторых тонкостей поведения программ.
  • Настройки, влияющие на функциональность системы. К ним относятся настройки:
    • локальных и удаленных принтеров;
    • доступ других пользователей к локальным ресурсам по протоколу SMB, они рассмотрены в PspoClasses/080806/04SambaPractice, раздел "Настройка с помощью KDE";

    • доступа к рабочему столу удалённых пользователей.

Через центр управления KDE доступен также доступ к действиям по уничтожению следов использования компьютера, например списка посещённых веб-узлов, а также настройки веб-броузера Konqueror.

Настройки интерфейса

К настройкам интерфейса относятся, в первую очередь, настройки внешнего вида (изменения которых, если вы не дизайнер, могут привести скорее к ухудшению внешнего вида) и настройки нюансов поведения среды KDE, изменение которых под собственные нужды способно значительно повысить удобство работы с системой.

Внешний вид

../kcontrolcenter_appearance.png

Основные настройки, которые может пользователь менять без ущерба для внешнего вида --- это размер шрифтов:

../kcontrolcenter_appearance_fonts.png

../kcontrolcenter_appearance_fonts_applied.png

Таким образом, пользователи, жалующиеся на размер шрифтов, могут легко его изменить:

../kcontrolcenter_appearance_fonts_changed.png

После внесения изменений приложения нужно перезапустить приложения, использующие gtk, а приложения среды KDE перезапускать не требуется

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

../kcontrolcenter_appearance_theme_manager.png

Тема оформления объединяет вид элементов управления, фон рабочего стола, цветовые настройки и так далее. Кроме того, в разделе внешнего вид можно настроить декорации окон:

../kcontrolcenter_appearance_window_decorations.png

Здесь же можно настроить кнопки, появляющиеся в заголовке окна. Можно вынести туда наиболее часто используемые функции и убрать ненужные:

../kcontrolcenter_appearance_window_decorations_buttons_custom.png

Все указанные настройки влияют как на приложения KDE, так и на gtk-приложения.

Уведомления системы

Эта настройка позволяет установить типы уведомлений при различных событиях в приложениях KDE. К ним относятся, например, звуки и всплывающие окна с сообщениями.

../kcontrolcenter_multimedia.png

Можно настроить полностью все уведомления среды KDE:

../kcontrolcenter_multimedia_notifications.png

Наибольший интерес представляет отключение всех звуковых уведомлений:

../kcontrolcenter_multimedia_notifications_disable_all_hint.png

../kcontrolcenter_multimedia_notifications_disable_notification_type_list.png

Следует отметить также настройки уведомлений программ, входящих в KDE. Например, можно настроить уведомления программы обмена сообщениями Kopete:

../kcontrolcenter_multimedia_notifications_kopete.png

Настройка глобальных сочетаний клавиш

Для настройки переключения раскладок клавиатуры лучше воспользоваться альтератором, а настроить глобальные комбинации клавиш можно при помощи Центра управления KDE. Список глобальных клавиатурных комбинаций:

../kcontrolcenter_regional_settings_hotkeys.png

Этот список позволяет легко выбрать схему клавиатурных комбинаций:

../kcontrolcenter_regional_settings_hotkeys_scheme.png

Воспользовавшись удобным поиском, вы можете быстро найти в списке желаемую вами комбинацию:

../kcontrolcenter_regional_settings_hotkeys_search.png

Каждое приложение среды KDE также имеет собственный пункт меню по настройке клавиш, имеющий аналогичный интерфейс

Следует отметить, что в силу реализации мгновенного переключения схемы раскладок в ОС Linux невозможно использовать сочетания клавиш, используемые для переключения раскладок: если вы используете Alt-Shift для переключения раскладки, комбинации клавиш, использующие Alt-Shift, не будут работать корректно.

Настройка вида курсоров мыши

В Центре управления KDE можно также сменить тему курсоров мыши. Эта настройка "спрятана" в разделе Периферия.

../kde_settings_mouse_cursors1.png

Настройка веб-броузера Konqueror

../kcontrolcenter_networking_browser.png

Отдельным классом настроек являются настройки Konqueror, в частности как веб-броузера. Если вы собираетесь использовать его в этой роли, то для вас представляет интерес прежде всего включение фильтров содержимого и настройка размера шрфита. Прежде всего, следует включить блокирование контента с помощью AdBlock.

../kcontrolcenter_networking_browser_adblock.png

Чтобы настроить блокирование нежелательного содержимого, необходимо выбрать список фильтров для него (список можно взять с http://easylist.adblockplus.org/):

../kcontrolcenter_networking_browser_adblock_open_list_dialog.png

После включения фильтров нежелательное содержимое можно будет блокировать из контекстного меню веб-броузера.

В обоих веб-броузерах (Konqueror и Firefox) есть отдельные настройки размера шрифтов, несколько отличающиеся от системных. Это позволяет улучшить восприятие страницы на мониторах с высоким разрешением или пользователям с плохим зрением. Здесь можно задать минимальный и типичный размер шрифта для Konqueror:

../kcontrolcenter_networking_browser_fonts.png

Функциональные настройки

Настройки принтера

Настройки локальных принтеров основаны на системе печати CUPS, котрая описана в PspoClasses/080707/03CUPS. Кроме того, в KDE присутствуют специальные псевдо-принтеры. Например, при печати какого-либо документа с помощью одного из них получается PDF-файл.

../kcontrolcenter_printers.png

Ручная настройка принтера позволяет подключить как локальный принтер, так и принтиер на удалённом компьютере. Сначала требуется выбрать протокол. Это может быть локальный принтер, удалённый принтер Samba или удалённый принтер Cups. Рассмотрим последний вариант.

../kde_settings_printers01.png

Затем нужно задать адрес или имя компьютера с принтером и выбрать конкретный удалённый принтер.

../kde_settings_printers02.png

../kde_settings_printers03.png

В последнем шаге для принтера приходится выбирать подходящий драйвер.

../kde_settings_printers04.png

Кроме самого подлючения к принтерам, можно настроить принтер по-умолчанию, а также задать настройки каждого принтера, например, используемый по-умолчанию размер бумаги.

Удалённый доступ к рабочему столу

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

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

Для включения этого механизма необходимо разрешить удаленным пользователям подключаться к своим сеансам. Это можно сделать двумя способами: либо создать пароль и передать его другим пользователям, либо разрешить безпарольный доступ. Последний способ не всегда желателен, так как позволяет любому пользователю в локальной сети подключиться к вашему сеансу работы.

Поэтому мы начнём с того, что настроим беспарольное подключение по vnc:

../kcontrolcenter_networking_vnc.png

При подключении какого-либо пользователя к данному компьютеру появится окно, в котором можно выбрать способ подключения: только просмотр или полное управление рабочим столом:

../vnc_incoming_connection_dialog.png

Для доступа к компьютеру клиент может, например, открыть адрес вида vnc:/server_address в Konqueror.

К сожалению, данные настройки не позволяют создать доступ без пароля и только на просмотр сразу для всех подключившихся пользователей (например, при подключении к компьютеру учителя). В этом случае следует запустить в Konsole команду vncserver -alwaysshared.

Конфиденциальность

Кроме собственно настроек в Центре управления KDE есть довольно полезный пункт Безопасность и конфиденциальность:

../kcontrolcenter_security.png

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

../kcontrolcenter_security_clear_caches.png

Настройки автоматического очищения каждый раз при выходе пользователя, к сожалению, здесь нет.

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 домашние каталоги пользователей системы: для этого нужно, чтобы соответствующий пользователь существовал в системе.

SMB: практика

Для установки службы Samba, поддерживающей протокол, следует выполнить следующую команду:

# apt-get install samba

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

Откроем конфигурационный файл службы 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-адреса машин в сети. Данная строка, если её раскомментировать, ограничивает список узлов, имеющих доступ к Samba, сетями 192.168.1.0/24, 192.168.2.0/24, а так же разрешает локальный доступ (локальная сеть 127.0.0.0/8).

;   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. При помощи него все домашние папки пользователей могут быть автоматически доступны как отдельные ресурсы Samba (в данном случае --- и с правами на запись).

[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 restart

Используем теперь (с соседнего компьютера) программу 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-пароль. Это достаточно типичная операция при работе Samba и связана с различным механизмом использования паролей в Samba и в unix-системах.

Информация о новом пользователе появилась в файле /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

Аналогичные операции по настройке службы Samba можно выполнить и с помощью Центра управления KDE, хотят этот способ и не является рекомендуемым. Покажем, как это сделать в случае свежеустановленной службы Samba.

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

../kcontrolcenter_root_password_request_dialog.png

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

../kcontrolcenter_smb_users.png

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

../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 в smb.conf) определяет доступность ресурса неавторизовавшимся пользователям. Флажок "Разрешить просмотр" --- опции browseable (видимость ресурса при "просмотре сети"). Снимем флажок "Только чтение", чтобы разрешить пользователям использовать наш ресурс в режиме не только чтения, но и записи; заполним и остальные поля:

../kcontrolcenter_smb_share_add_general_filled.png

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

../kcontrolcenter_smb_share_added.png

После сохранения настроек следует перезапустить службу Samba:

# service smb restart

Используем теперь для навигации по ресурсам сети веб-браузер Konqueror. Имеющийся в KDE модуль KIO для поддержки Samba позволяет использовать в качестве адреса строки вида smb://host1/:

../konqueror_smb_host1.png

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

../konqueror_smb_host1_tmp.png

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

../konqueror_smb_authorization.png

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

../konqueror_smb_user.png

Следует отметить, что при использования экспорта домашних директорий пользователей в дополнительной настройке Samba часто просто нет нужды: домашняя папка каждого пользователя доступна как ресурс с адресом вида smb://host/user_name при аутентификации с именем и паролем соответствующего пользователя.

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

Реквизиты пользователя Samba по умолчанию

Скажем несколько слов и о дополнительных возможностях при работе с 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 может понизить уровень безопасности системы, поэтому использовать описанную возможность следует с осторожностью.

Создание общих папкок пользователями

Еще один пункт в Центре управления KDE, которого мы коснемся в связи с настройками Samba, носит название "Совместное использование файлов" и находится в том же самом разделе "Сеть и Интернет". Он позволяет пользователям делать каталоги в своих домашних каталогах общими при помощи контекстного меню konqueror. Отметим, что для корректного функционирования эта возможность требует предварительной установки пакета kdenetwork-filesharing:

# apt-get install kdenetwork-filesharing

../kcontrolcenter_file_sharing_root_access.png

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

Осталось решить вопрос, кому же мы будем предоставлять такую возможность. Если щелкнуть по кнопке "Авторизованные пользователи", то появится следующее диалоговое окно:

../kcontrolcenter_file_sharing_trusted_users_dialog.png

Можно либо разрешить всем пользователям предоставлять общий доступ к своим файлам, либо только членам какой-то конкретной группы. Во втором случае следует выбрать группу и при необходимости добавить в неё пользователей.

../kcontrolcenter_file_sharing_trusted_users_dialog2.png

После этого пользователи смогут делать папки общими при помощи контекстного меню папки в Konqueror ("Свойства" - "Сделать общим").


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex