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, выбрать из списка локальных пользователей, задав им пароль
- Управление глобальными настройками сервера samba. Перве окошко --- основные настройки. В уровне безопасности выбирается режим безопасности. По умолчанию настраиваются права для пользователей такие же как у обычных локальных пользователей. Есть включение анонимного доступа, что может быть полезно для создания ресурсов публичных.
Далее ручки для управления NT-доменом. Нужны они, чтобы, например, при логине выполняется некий скрипт.
- Наиболее активной функцией является добавление ресурса в разделяемые.
Здесь же можно добавить или изменить имеющиеся разделяемые ресурсы. Принципиальна галочка "только чтение". По умолчанию ресурсы создаются только для чтения. Разрешить просмотр --- в оригинале был browsable. Галочка разрешить просмотр приводит к тому, что пользователь при просмотре сети это будет видно. Открытый --- public --- доступны незарегистрированным пользователям. после всех настроек жмем ок и получаем еще один разделяемый ресурс. По большому счёту, поскольку homes и так расшарен, то, в принципе можно ничего не трогать.
kioslave smb.
Пара слов слово о настройке клиентской части самбы. Чтобы легче было, можно уменьшить уровень безопасности, можно вписать свои пользователь и пароль.
Упрощённая раздача папок. Навигация по раздаваемым ресурсам осуществляется довольно просто: Можно также авторизоваться:
Сведения о ресурсах
Готовность (%) |
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
Maintainer |
Start date |
End date |
30 |
1 |
1 |
1 |
|
1 |
|
|