Настройка KDE. Использование SMB
Модули
Готов? |
Название модуля |
Чтение (ак. ч.) |
Подготовка (астр. ч.) |
Написание (дни) |
уровень |
Maintainer |
Started |
Should be done |
End date |
90% |
1 |
1 |
1 |
1 |
|||||
90% |
1 |
1 |
1 |
1 |
|||||
90% |
1 |
1 |
1 |
1 |
|||||
90% |
1 |
1 |
1 |
1 |
|||||
|
4 |
4 |
4 |
4 |
|
|
|
|
|
|
Готово: 0 (0%) |
0 |
|
0 |
|
|
|
|
|
|
Не готово: 4 (100%) |
4 |
|
4 |
|
|
|
|
|
Необходимые знания
Материалы
Полиси
На данный момент для координирования работ используется макрос ExtractModules (тот же, что и в PspoModules). Возможно, впоследствии будет написано нечто более специфичное для данных работ.
- Над каждым модулем работает один расшифровщик (указывается первым в списке сопровождающих модуль),один переводчик (указывается вторым в списке) и минимум один технический редактор (тот, кто вычитывает, указывается третьим в списке).
- Разбивка прогресса по процентам:
0%
Сырой конспект
20%
Дешифрованный конспект
50%
Конспект, переведённый на русский язык
70%
Вычитанный конспект
90%
Иллюстрирование, расстановка ссылок, перенос в модули
100%
Результат работ над частью лекций проверен FrBrGeorge
- Как только Вы считаете, что закончили свою часть работы, просьба установить соответствующее количество процентов
- Промежуточное количество процентов в промежуточных сохранениях приветствуется
Пожелания к ролям
Расшифровка — по возможности полное восстановление структуры и смысла лекции по конспектам и (если есть необходимость) по аудиозаписям. в эту задачу входит расстановка имеющихся иллюстраций (typescript, konsole.log, снимки экрана)
Перевод на русский — выравнивание стилистки и корректировка владения русским языком. Просьба не очень самовыражаться (чтобы не создавать стилистического разнобоя)
Вычитка — проверка получившегося текста на (1) соответствие действительности (2) доходчивость (в том числе на предмет нехватки иллюстраций)
Лекции
Модули, поддерживающие механизм 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: протокол://логин@путь:
Подробнее о URL написано в стандарте RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax.
Доступ к локальным ресурсам
Вторая группа модулей KIO организует удобный доступ к некоторым специфичным видам локальных ресурсов. В отличие от сетевых протоколов, адрес при их использовании имеет один слеш после двоеточия, а не два (например, man:/bash).
Например, часть из них начинается с префикса system:/ (, media:/, tar:/, trash:/. Для полной унификации доступа к локальным ресурсам имеется модуль KIO file:/ , осуществляющий доступ к локальным файлам.
В качестве примера рассмотрим просмотр картинки внутри архива tar.gz. Для этого откроем архив во вкладке Konqueror, а потом откроем в новой вкладке и саму картинку. Обратите внимание на поле адреса:
Особняком стоят модули KIO для поддержки доступа к документации, реализующие протоколы man:/ и info:/. Как видно из названия, доступ, например, по адресу man:/ssh даст результат, аналогичный команде man ssh в консоли. При наличии в системе документации на двух и более языках будет предложено выбрать файл с желаемым языком:
Также имеется протокол remote:/ для доступа к списку ресурсов локальной сети (для доступа к конкретным ресурсам используются модули KIO из первой группы):
Простой доступ к сетевому ресурсу
Для работы с kioslave, обеспечивающим работу по сетевым протоколам, пользователю нет нужды запорминать названия модулей KIO и запоминать ссылки Существует программа KNetAttach, она создаёт desktop-файл для доступа к удалённому ресурсу.
Центр управления KDE
Ещё одним примером специального модуля KIO является модуль, связанный с адресом settings:/. Введя этот адрес в Konqueror, мы получим доступ к настройкам KDE. Это так же можно сделать, выбрав в главном меню пункт "Центр управления KDE"
После запуска центр управления KDE выглядит следующим образом:
Все доступные настройки KDE можно разделить на несколько групп.
- Настройки, не влияющие на функциональность системы: настройки внешнего вида, интерфейса, некоторых тонкостей поведения программ.
- Настройки, влияющие на функциональность системы. К ним относятся настройки:
- локальных и удаленных принтеров;
доступ других пользователей к локальным ресурсам по протоколу SMB, они рассмотрены в PspoClasses/080806/04SambaPractice, раздел "Настройка с помощью KDE";
- доступа к рабочему столу удалённых пользователей.
Через центр управления KDE доступен также доступ к действиям по уничтожению следов использования компьютера, например списка посещённых веб-узлов, а также настройки веб-броузера Konqueror.
Настройки интерфейса
К настройкам интерфейса относятся, в первую очередь, настройки внешнего вида (изменения которых, если вы не дизайнер, могут привести скорее к ухудшению внешнего вида) и настройки нюансов поведения среды KDE, изменение которых под собственные нужды способно значительно повысить удобство работы с системой.
Внешний вид
Основные настройки, которые может пользователь менять без ущерба для внешнего вида --- это размер шрифтов:
Таким образом, пользователи, жалующиеся на размер шрифтов, могут легко его изменить:
После внесения изменений приложения нужно перезапустить приложения, использующие gtk, а приложения среды KDE перезапускать не требуется
Наиболее мощным инструментом для настройки внешнего видя является менеджер тем оформления, который позволяет пользователям управлять всей совокупностью настроек внешнего вида, сохранять их как единую тему и загружать новые темы:
Тема оформления объединяет вид элементов управления, фон рабочего стола, цветовые настройки и так далее. Кроме того, в разделе внешнего вид можно настроить декорации окон:
Здесь же можно настроить кнопки, появляющиеся в заголовке окна. Можно вынести туда наиболее часто используемые функции и убрать ненужные:
Все указанные настройки влияют как на приложения KDE, так и на gtk-приложения.
Уведомления системы
Эта настройка позволяет установить типы уведомлений при различных событиях в приложениях KDE. К ним относятся, например, звуки и всплывающие окна с сообщениями.
Можно настроить полностью все уведомления среды KDE:
Наибольший интерес представляет отключение всех звуковых уведомлений:
Следует отметить также настройки уведомлений программ, входящих в KDE. Например, можно настроить уведомления программы обмена сообщениями Kopete:
Настройка глобальных сочетаний клавиш
Для настройки переключения раскладок клавиатуры лучше воспользоваться альтератором, а настроить глобальные комбинации клавиш можно при помощи Центра управления KDE. Список глобальных клавиатурных комбинаций:
Этот список позволяет легко выбрать схему клавиатурных комбинаций:
Воспользовавшись удобным поиском, вы можете быстро найти в списке желаемую вами комбинацию:
Каждое приложение среды KDE также имеет собственный пункт меню по настройке клавиш, имеющий аналогичный интерфейс
Следует отметить, что в силу реализации мгновенного переключения схемы раскладок в ОС Linux невозможно использовать сочетания клавиш, используемые для переключения раскладок: если вы используете Alt-Shift для переключения раскладки, комбинации клавиш, использующие Alt-Shift, не будут работать корректно.
Настройка вида курсоров мыши
В Центре управления KDE можно также сменить тему курсоров мыши. Эта настройка "спрятана" в разделе Периферия.
Настройка веб-броузера Konqueror
Отдельным классом настроек являются настройки Konqueror, в частности как веб-броузера. Если вы собираетесь использовать его в этой роли, то для вас представляет интерес прежде всего включение фильтров содержимого и настройка размера шрфита. Прежде всего, следует включить блокирование контента с помощью AdBlock.
Чтобы настроить блокирование нежелательного содержимого, необходимо выбрать список фильтров для него (список можно взять с http://easylist.adblockplus.org/):
После включения фильтров нежелательное содержимое можно будет блокировать из контекстного меню веб-броузера.
В обоих веб-броузерах (Konqueror и Firefox) есть отдельные настройки размера шрифтов, несколько отличающиеся от системных. Это позволяет улучшить восприятие страницы на мониторах с высоким разрешением или пользователям с плохим зрением. Здесь можно задать минимальный и типичный размер шрифта для Konqueror:
Функциональные настройки
Настройки принтера
Настройки локальных принтеров основаны на системе печати CUPS, котрая описана в PspoClasses/080707/03CUPS. Кроме того, в KDE присутствуют специальные псевдо-принтеры. Например, при печати какого-либо документа с помощью одного из них получается PDF-файл.
Ручная настройка принтера позволяет подключить как локальный принтер, так и принтиер на удалённом компьютере. Сначала требуется выбрать протокол. Это может быть локальный принтер, удалённый принтер Samba или удалённый принтер Cups. Рассмотрим последний вариант.
Затем нужно задать адрес или имя компьютера с принтером и выбрать конкретный удалённый принтер.
В последнем шаге для принтера приходится выбирать подходящий драйвер.
Кроме самого подлючения к принтерам, можно настроить принтер по-умолчанию, а также задать настройки каждого принтера, например, используемый по-умолчанию размер бумаги.
Удалённый доступ к рабочему столу
Первые в череде функциональных настроек --- настройки, которые определяют, как наш компьютер отвечает на запросы удаленных пользователей с просьбой подключиться к нашему рабочему столу и начать подглядывать за нашими действиями.
Для подключения удаленного пользователя к чужому сеансу работы существует механизм, известный как общий рабочий стол, использующий протокол vnc для передачи изображения рабочего стола в одну строну, а информации о перемещении мыши и нажатых клавишах в другую. Это, при наличии прав, позволяет вмешиваться в работу пользователя.
Для включения этого механизма необходимо разрешить удаленным пользователям подключаться к своим сеансам. Это можно сделать двумя способами: либо создать пароль и передать его другим пользователям, либо разрешить безпарольный доступ. Последний способ не всегда желателен, так как позволяет любому пользователю в локальной сети подключиться к вашему сеансу работы.
Поэтому мы начнём с того, что настроим беспарольное подключение по vnc:
При подключении какого-либо пользователя к данному компьютеру появится окно, в котором можно выбрать способ подключения: только просмотр или полное управление рабочим столом:
Для доступа к компьютеру клиент может, например, открыть адрес вида vnc:/server_address в Konqueror.
К сожалению, данные настройки не позволяют создать доступ без пароля и только на просмотр сразу для всех подключившихся пользователей (например, при подключении к компьютеру учителя). В этом случае следует запустить в Konsole команду vncserver -alwaysshared.
Конфиденциальность
Кроме собственно настроек в Центре управления KDE есть довольно полезный пункт Безопасность и конфиденциальность:
Этот пункт позволяет удалить следы пребывания пользователя в системе, что полезно при использовании публичного компьютера. Можно удалить историю в веб-броузерае Konqueror, список последних документов, очистить меню быстрого запуска, уничтожить кеш картинок предварительного просмотра, и так далее. Для того, чтобы очистить следы пребывания, следует выбрать соответствующие категории и нажать кнопки Очистить:
Настройки автоматического очищения каждый раз при выходе пользователя, к сожалению, здесь нет.
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". Для настройки необходимо ввести пароль суперпользователя:
Организуем доступ по протоколу SMB для пользователя user. Перейдем на вкладку "Пользователи":
Как мы видим, список пользователей Samba пока пустует. Перенесем из списка пользователей UNIX (POSIX) учетную запись user. Выберем соответствующую строку и щелкнем по кнопке "Добавить". Появится диалоговое окно, в котором нужно задать SMB-пароль:
Обратим внимание на "Датчик надежности пароля" --- он наглядно показывает, насколько стойкий пароль мы ввели. После задания пароля следует щелкнуть по кнопке "OK" в диалоговом окне, а затем по кнопке "Применить" в правом нижнем углу окна Центра управления KDE.
Вернемся на вкладку "Общие параметры":
Обратим внимание на выбранный режим безопасности --- "Владелец" (этот вариант соответствует строке security = user в файле smb.conf). На этой же вкладке можно включить анонимный ("гостевой") доступ --- это бывает полезно при создании публичных ресурсов.
Перейдем к вкладке "Общие ресурсы":
Здесь можно добавить тот или иной каталог в список разделяемых ресурсов, а также изменить настройки уже имеющихся ресурсов. Щелкнем по кнопке "Добавить общий ресурс...":
Скажем несколько слов об опциях в списке "Основных свойств". Флажок "Открытый" (соответствует опции public в smb.conf) определяет доступность ресурса неавторизовавшимся пользователям. Флажок "Разрешить просмотр" --- опции browseable (видимость ресурса при "просмотре сети"). Снимем флажок "Только чтение", чтобы разрешить пользователям использовать наш ресурс в режиме не только чтения, но и записи; заполним и остальные поля:
После этого щелкнем по кнопке "OK" --- наш ресурс сразу же появится в списке:
После сохранения настроек следует перезапустить службу Samba:
# service smb restart
Используем теперь для навигации по ресурсам сети веб-браузер Konqueror. Имеющийся в KDE модуль KIO для поддержки Samba позволяет использовать в качестве адреса строки вида smb://host1/:
Без авторизации (то есть как public) виден лишь ресурс tmp, у которого уставновлен признак browseable. Можно щелкнуть по соответствующей папке, чтобы попасть "внутрь" ресурса:
Чтобы получить доступ к домашнему каталогу пользователя smbuser, мы должны действовать от его имени. Зададим имя пользователя в адресной строке, запросив одновременно доступ к каталогу: smb://smbuser@10.30.5.1/smbuser. Появится диалог авторизации с предложением ввести пароль:
Теперь, если ввести правильный пароль, мы получим доступ к запрошенному каталогу:
Следует отметить, что при использования экспорта домашних директорий пользователей в дополнительной настройке Samba часто просто нет нужды: домашняя папка каждого пользователя доступна как ресурс с адресом вида smb://host/user_name при аутентификации с именем и паролем соответствующего пользователя.
Дополнительные возможности
Реквизиты пользователя Samba по умолчанию
Скажем несколько слов и о дополнительных возможностях при работе с Samba, предоставляемых средой KDE. Откроем в Центре управления KDE раздел "Сеть и Интернет" --- "Обзор локальной сети":
Здесь можно вписать свои параметры авторизации (регистрационное имя Samba и пароль Samba) в соответствующие поля:
Если теперь применить внесенные изменения, то при работе с ресурсами Samba посредством Konqueror не потребуется вводить эти данные каждый раз заново:
Обратим внимание, что форму записи адреса без указания имени пользователя (smb://10.30.5.1/) мы уже использовали, однако на этот раз, как и ожидалось, мы получили права пользователя smbuser "автоматически". Следует отметить, что такой стиль работы с Samba может понизить уровень безопасности системы, поэтому использовать описанную возможность следует с осторожностью.
Создание общих папкок пользователями
Еще один пункт в Центре управления KDE, которого мы коснемся в связи с настройками Samba, носит название "Совместное использование файлов" и находится в том же самом разделе "Сеть и Интернет". Он позволяет пользователям делать каталоги в своих домашних каталогах общими при помощи контекстного меню konqueror. Отметим, что для корректного функционирования эта возможность требует предварительной установки пакета kdenetwork-filesharing:
# apt-get install kdenetwork-filesharing
Перейдя в режим администратора с помощью соответствующей кнопки, выберем "Упрощенный режим" --- после этого пользователи нашего компьютера получат возможность раздавать папки из своих домашних каталогов, не обращаясь за помощью к системному администратору.
Осталось решить вопрос, кому же мы будем предоставлять такую возможность. Если щелкнуть по кнопке "Авторизованные пользователи", то появится следующее диалоговое окно:
Можно либо разрешить всем пользователям предоставлять общий доступ к своим файлам, либо только членам какой-то конкретной группы. Во втором случае следует выбрать группу и при необходимости добавить в неё пользователей.
После этого пользователи смогут делать папки общими при помощи контекстного меню папки в Konqueror ("Свойства" - "Сделать общим").