Вы можете настроить сервер SAMBA путем внесения изменений в файл /etc/samba/smb.conf
, изменив значения по умолчанию и добавив новые. Дополнительная информация о каждом параметре доступна из комментариев в файле /etc/samba/smb.conf
или из страницы руководства /etc/samba/smb.conf
, которую можно увидеть, набрав следующую команду в терминальной строке:
man smb.conf
Прежде чем вносить изменения в конфигурационный файл, вам следует сделать копию исходного файла и защитить ее от записи. Таким образом, первоначальные установки могут использоваться как для справочного руководства, так и для повторного использования.
Сделайте резервную копию файла /etc/samba/smb.conf
:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original
Теперь откройте файл /etc/samba/smb.conf
и вносите ваши изменения.
В дополнение к пакету серверных приложений SAMBA для организации совместного доступа к файлам и принтерам, Ubuntu также включает другие мощные серверные приложения, предоставляющие дополнительную функциональность сетевому серверу для Windows-клиентов, аналогичную обеспечиваемой реальными Windows-серверами. Например, Ubuntu предоставляет централизованное управление сетевыми ресурсами, такими как компьютеры и пользователи через службы каталогов, и обеспечивает идентификации и авторизации компьютеров и пользователей через службы аутентификации.
Следующие параграфы рассматривают SAMBA и вспомогательные технологии, такие как сервер облегченного протокола службы каталогов (LDAP) и сервер аутентификации Kerberos более детально. Вы также получите представление о некоторых директивах доступных в конфигурационном файле SAMBA, которые облегчают интеграцию с Windows клиентами и серверами.
Active Directory - это запатентованная реализация службы каталогов от Microsoft, используемая для обеспечения средств распределения информации о сетевых ресурсах и пользователях. Кроме цетрализованного источника информации такого рода, Active Directory также действует как централизованная защищенная база данных для проверки подлинности в сети. Active Directory сочетает возможности традиционно расположенные в различных, специализированных системах каталогов для упрощения интеграции, управления и обеспечения безопасности сетевых ресурсов. Пакет SAMBA может быть настроен на использование сервисов Active Directory контроллера домена Windows.
Серверное приложение LDAP обеспечивает функциональность Службы Каталогов для компьютеров Windows на манер, очень схожий со службами Microsoft Active Directory. Такие службы включают управление атрибутами и взаимоотношениями между компьютерами, пользователями, и группами компьютеров или пользователей, которые работают в сети; и обеспечивают адекватные средства для описания, нахождения и управления этими ресурсами. Свободно доступная реализация LDAP, имеющаяся для вашей системы Ubuntu, называется OpenLDAP. Серверные демоны, отвечающие за обслуживание запросов к каталогу OpenLDAP и передачу данных каталога от одного LDAP сервера к другому в Ubuntu – это slapd и slurpd. OpenLDAP может использоваться в сочетании с SAMBA, для обеспечения доступа к файлам, печати и службам каталогов так же, как это делает контроллер домена Windows, если пакет SAMBA скомпилирован с поддержкой LDAP.
Система обеспечения безопасности аутентификации Kerberos - это стандартизированная служба для предоставления аутентификации компьютерам и пользователям посредством централизованного сервера, который предоставляет зашифрованные билеты установления полномочий, принимаемые в качестве подтверждения авторизации любыми другими компьютерами, использующими Kerberos. Преимущества аутентификации с помощью Kerberos включают обоюдную идентификацию, делегирование, возможность взаимодействия и упрощенное управление доверительными отношениями. Основными демонами сервера для обслуживания аутентификации Kerberos и администрирования базы данных Kerberos в Ubuntu являются krb5kdc и kadmin. SAMBA может использовать Kerberos, как механизм для аутентификации компьютеров и пользователей вместо контроллера домена Windows. Чтобы это сделать, система Ubuntu должна иметь установленную службу Kerberos, и файл /etc/samba/smb.conf
должен быть модифицирован для выбора верной области и режима безопасности. Например, отредактируйте файл /etc/samba/smb.conf
, добавив значения:
realm = ИМЯ_ДОМЕНА
security = ADS
к файлу и сохраните его.
Не забудьте заменить токен ИМЯ_ДОМЕНА в примере выше на фактическое имя вашего домена Windows.
Вам понадобится перезапустить демон SAMBA для того, чтобы изменения вступили в силу. Перезапустите демон SAMBA с помощью следующей команды введенной в терминальной строке:
sudo /etc/init.d/samba restart
Учетные записи компьютеров используются в Службах Каталога для уникальной идентификации компьютерных систем, находящихся в сети, и обрабатываются таким же образом, в плане безопасности, как и учетные записи пользователей. Учетные записи компьютеров могут иметь пароли так же, как и учетные записи пользователей, и проходят авторизацию для доступа к сетевым ресурсам аналогично учетным записям пользователей. Например, если пользователь, имеющий верную учетную запись именно этой сети пытается аутентифицироваться с сетевым ресурсом с компьютера, который не имеет верной учетной записи, то в зависиммости от применяемых к сети политик, пользователю, возможно, будет отказано в доступе к ресурсу, если компьютер, с которого он пытается это сделать, является посторонним.
Учетная запись компьютера может быть добавлена в файл паролей SAMBA, при условии, что имя добавляемого компьютера существует в качестве допустимой учетной записи пользователя в локальной базе паролей. Синтаксис для добавления учетной записи компьютера заключается в использовании команды smbpasswd в терминальной строке следующим образом:
sudo smbpasswd -a -m ИМЯ_КОМПЬЮТЕРА
Не забудьте заменить токен ИМЯ_КОПЬЮТЕРА в приведенном выше примере на фактическое имя того компьютера, для которого хотите создать учетную запись.
Права доступа к файлу определяют точные привилегии, которые имеет компьютер или пользователь по отношению к отдельной директории, файлу или группе файлов. Такие права могут определяться с помощью редактирования файла /etc/samba/smb.conf
и установки точных разрешений, определяющих доступ к общему каталогу. Например, если вы определили общий ресурс SAMBA, называемый sourcedocs, и желаете дать права доступа только чтение группе пользователей, известной как planning, а так же хотите разрешить запись в общий ресурс группе, называемой authors, и пользователю под именем richard, тогда вам необходимо отредактировать файл /etc/samba/smb.conf
и добавить следующие данные под записью [sourcedocs]:
read list = @planning
write list = @authors, richard
Сохраните файл /etc/samba/smb.conf
для того чтобы изменения вступили в силу.
Другое возможное решение - определить административные права доступа для конкретного разделяемого ресурса. Пользователи, имеющие административные полномочия, могут производить чтение, запись, изменение любой информации, доступной на ресурсе, для которого этим пользователям были явно заданы административные права доступа. Например, если вы хотите определить пользователю melissa административные права доступа к ресурсу sourcedocs, вам необходимо изменить файл /etc/samba/smb.conf
, добавив следующую строку в раздел [sourcedocs]:
admin users = melissa
Сохраните файл /etc/samba/smb.conf
для того чтобы изменения вступили в силу.
Ubuntu включает клиентские приложения и средства для доступа к сетевым ресурсам, разделяемым по протоколу SMB. Например, утилита smbclient разрешает доступ к удаленной файловой системе, наподобие FTP клиента. Для доступа к общей папке, известной под именем documents, предоставляемой удаленным Windows компьютером под названием bill, используя, к примеру, smbclient, вы можете ввести в командной строке команду подобную следующей:
smbclient //bill/documents -U <username>
Затем вам будет предложено ввести пароль для пользователя, указанного после опции -U. После удачной аутентификации, будет предоставлена командная строка, где вы сможете вводить команды для обработки и передачи файлов, синтаксически схожие с командами, используемыми неграфическими FTP-клиентами. Для получения более подробной информации об утилите smbclient, ознакомьтесь с руководством для данной утилиты, воспользовавшись командой:
man smbclient
Используя команду mount, вы можете присоединить удаленный сетевой ресурс, доступный по протоколу SMB, локально. Например, для присоединения к вашей системе Ubuntu в каталог /mnt/pcode совместно используемой папки с названием project-code, находящейся на сервере Windows под именем development, используя имя пользователя dlightman, вам следует ввести такую команду:
mount -t smbfs -o username=dlightman //development/project-code /mnt/pcode
Затем вам будет предложено ввести пароль и, после успешной аутентификации, содержимое совместно используемого ресурса будет доступно локально через точку монтирования, указанную в качестве последнего параметра в команде mount. Для отключения разделяемого ресурса просто используйте команду umount, как вы это делали с другими присоединенными файловыми системами. Например:
umount /mnt/pcode
Учетные записи пользователей определяют лиц с некоторым набором прав для использования определенных ресурсов компьютера и сетевых ресурсов. Обычно, в сетевой среде, учетная запись пользователя предоставляется каждому лицу имеющему доступ к компьютеру или сети, где политики и разрешения определяют затем точные права доступа, которыми обладает учетная запись. Для определения сетевых пользователей SAMBA вашей системы Ubuntu вы можете использовать команду smbpasswd. Например для того, чтобы добавить пользователя SAMBA с именем jseinfeld в вашу систему Ubuntu, вам необходимо ввести следующую команду:
smbpasswd -a jseinfeld
Затем приложение smbpasswd запросит у вас пароль для этого пользователя: Новый пароль SMB:
Введите пароль, который вы хотите установить для пользователя, и приложение smbpasswd предложит поторить ввод пароля: Введите пароль SMB еще раз:
Подтвердите пароль и приложение smbpasswd добавит запись для пользователя в файл паролей SAMBA.
Группы определяют набор компьютеров или пользователей, имеющих одинаковый уровень доступа к определенным сетевым ресурсам, и предоставляют средство для структурирования контроля доступа к ресурсам. Например, если группа qa определена и в нее входят пользователи freda, danika и rob, а в другую существующую группу support входят danika, jeremy и vincent тогда определенный сетевой ресурс, настроенный для разрешения доступа группе qa, будет доступен для пользователей freda, danika, и rob, но не для jeremy или vincent-а. Так как пользователь danika входит в обе группы, qa и support, она будет иметь доступ к ресурсам, настроенным для доступа обеих групп, в то же время все другие пользователи будут иметь доступ только к тем ресурсам, которые непосредственно доступны для группы, в которую они входят.
Для обозначения групп в файле конфигурации SAMBA, /etc/samba/smb.conf
, используется следующий синтаксис: перед названием группы пишется символ "@". Например, если вы хотите определить группу с именем sysadmin в определенной секции файла /etc/samba/smb.conf
, вам нужно ввести имя группы как @sysadmin.
Групповая политика обозначает некоторые параметры конфигурации SAMBA, относящиеся к учетным записям, принадлежащим домену или рабочей группе, а так же другие глобальные параметры сервера SAMBA. Например, если сервер SAMBA принадлежит рабочей группе компьютеров Windows, называемой LEVELONE, можно отредактировать файл /etc/samba/smb.conf
, изменив соответствующим образом следующий параметр:
workgroup = LEVELONE
Сохраните файл и перезапустите демон SAMBA для того, чтобы изменения вступили в силу.
К другим важным параметрам глобальной политики относится параметр netbios name, который определяет имя NETBIOS сервера, сообщаемое Вашей системой Ubuntu другим машинам сети Windows. Это имя будет распознано всеми Windows-клиентами, а так же другими компьютерами, способными к обзору сети по протоколу SMB. Кроме того, можно указать имя и местоположение файла журнала сервера SAMBA, используя параметр log file в файле /etc/samba/smb.conf
.
Несколько дополнительных директив, контролирующих глобальную групповую политику, включают определения глобального характера для всех разделяемых ресурсов. Например, установка определенных параметров в секции [global] файла /etc/samba/smb.conf
будет влиять на все разделяемые ресурсы, если переопределяющая директива не будет помещена в секцию конкретного разделяемого ресурса. Можно определить все общие катагоги как просматриваемые всеми клиентами в сети, поместив параметр browseable, который принимает логическое значение, в секцию [global] файла /etc/samba/smb.conf
. Таким образом, если вы добавляете строку:
browseable = true
в секцию [global] файла /etc/samba/smb.conf
, все совместно используемые через SAMBA ресурсы вашей системы Ubuntu смогут просматриваться всеми авторизованными клиентами, если только секция конкретного разделяемого каталога не содержит строку browseable = false, которая переопределит глобальный параметр.
Другим примером, работающим подобным образом, являются директивы public и writeable. Директива public принимает логическое значение и определяет является ли конкретный разделяемый ресурс видимым всем клиентам, авторизованным или неавторизованным. Директива writeable также принимает логическое значение и определяет доступен ли конкретный разделяемый ресурс на запись для всех без исключения сетевых клиентов.