- Установка и настройка Samba сервера и клиентов
- Установка Samba
- Установка глобальных опций Samba
- Создание пользователей Samba
- Настройка общих ресурсов Samba
- Настройка клиентов Samba
- Заключение
- Настройка сервера Samba – создание папок и установка доступа
- Настройка через терминал
- Настройки Windows
- Настройка серверной части Самба
- Создание общих папок
- Неизменяемые папки
- Папки с закрытым доступом
- Графический интерфейс System Config Samba
- Установка интерфейса
- Запуск
- Добавляем пользователей
- Настраиваем сервер
- Создаем папки
- Файловый менеджер Nautilus
- Установка
- Основные настройки
Установка и настройка Samba сервера и клиентов
Samba — это приложение сетевого протокола SMB, используемого для подключения принтеров, службы директорий в доменных сетях и создания мультиплатформенных общих ресурсов. В данном руководстве мы рассмотрим установку и настройку Samba-сервера, который позволит создавать различные сетевые хранилища и общие ресурсы.
Установка Samba
Samba легко устанавливается из менеджера пакетов, но перед установкой нового пакета нужно выполнить обновление. Воспользуйтесь следующими командами (здесь и далее приводятся примеры для Ubuntu 16.04):
Служба NetBios для Samba (nmbd) в наших примерах не требуется, поэтому в целях безопасности вы легко можете отключить ее командами:
Установка глобальных опций Samba
Параметры конфигурации Samba хранятся в файле /etc/samba/smb.conf. В нем есть два раздела, global и shares. В разделе global прописаны параметры самого сервера (имя сервера, его тип, интерфейсы и другие сетевые настройки), а в разделе shares — параметры ресурсов. Вместо редактирования файла создадим новый. Предварительно сохранив оригинал:
Внесем в наш новый файл /etc/samba/smb.conf следующий код
Рассмотрим значение этих параметров.
server string: информация, передаваемая во время подключения. Можно использовать любое имя для идентификации сервера. Далее будут рассмотрены названия для ресурсов Samba.
server role: тип создаваемого Samba-сервера. В данном примере используется выделенный сервер (standalone). Другие типы — член домена и контроллер домена.
interfaces: сетевые интерфейсы, к которым привязан сервер. Здесь указан “lo”, loopback-интерфейс. Кроме него нужно указать внешний интерфейс, обычно это eth0.
bind onterface only: гарантирует, что сервер Samba будет привязан только к тем интерфейсам, которые указаны в строке interfaces, и будет игнорировать пакеты с других интерфейсов.
disable netbios: отключает на сервере все функции NetBios, чтобы немного облегчить процесс разрешения имени сервера и разгрузить трафик.
smb ports: номер порта, на котором будет работать сервер. По умолчанию Samba использует порт 445.
log file: имя и месторасположение файла лога Samba.
max log size: максимальный размер файла лога. Рекомендуется указывать его настолько большим, насколько позволяют ресурсы стстемы. Если размер будет превышен, будет создан новый файл, а предыдущий файл будет перемещен в дубликат с расширением .old. При повторном превышении первый файл с расширением .old будет удалён. Данный параметр помогает предотвратить заполнение диска.
Если нужны более подробные логи, можно воспользоваться командой:
Уровень лога 3 означает, что сохраняется более детальная информация, чем при стандартном ведении лога. Стандартный уровень — 1, максимальный — 5. Здесь он установлен для параметров passdb и auth, чтобы получать более подробную информацию об аутентификации пользователей. После определения параметров ведения лога сохраните и закройте файл. При необходимости файл smb.conf нужно протестировать на синтаксические ошибки при помощи утилиты Samba testparm:
Будет выведен следующий результат:
После нажатия на клавишу Enter будут выведены глобальные параметры:
Если в результате выводится “Load services files OK”, значит, в файле нет ошибок и сервер можно запускать.
Теперь нужно настроить конфигурацию ресурсов. Ресурс состоит из двух элементов, пользователя и директории, которые необходимо создать для обеспечения возможности подключения и тестирования.
Создание пользователей Samba
В данном разделе мы создадим профили пользователей, которые смогут осуществлять доступ к серверу. Им потребуется доступ как пользователям Samba и как пользователям системы, чтобы при входе в систему они проходили аутентификацию на сервере Samba и могли осуществлять чтение и запись в файловой системе.
Помимо обычных пользователей нужно создать администратора, у которого будет возможность доступа к персональным ресурсам и их администрирования. Также администратор будет владеть общими ресурсами, доступ к которым разрешен всем.
Для каждого пользователя нужно создать домашнюю директорию. Вместо использования стандартной директории /home/user лучше создать пероснальную директорию в /samba/ для разделения данных и более удобного резервного копирования. Сначала создадим группу sambashare, директорию для хранения данных samba и назначим ее владельцем группу sambashare
Затем нужно создать директорию пользователя (в примере мы рассмотрим создание пользователя ivan, для нескольких пользователей создание будет аналогичным): Добавим системного пользователя:
В команде используются параметры:
—home: месторасположение домашней директории пользователя.
—no-create-home: указывает команде adduser не создавать домашнюю директорию, чтобы не заполнять ее ненужными файлами конфигурации.
—shell: определяет, какая оболочка будет использоваться при входе через SSH. В данном примере SSH не используется, поэтому значение /usr/sbin/nologin отключает вход через SSH.
—ingroup sambashare: внесение пользователя в группу sambashare, чтобы обеспечить ему возможность чтения и записи для своего ресурса и общих ресурсов.
Более подробно про создание пользователей и групп можно прочитать в этой статье
После запуска команды потребуется создать пароль.
Теперь нужно установить владельца и права доступа к директории:
Права доступа 2770 означают, что новые файлы или директории, созданные в /samba/david/, будут наследовать группу владельцев от родительской директории, а не от группы пользователей, которая их создала. Например, если администратор создаст новую директорию в ресурсе пользователя ivan, то ivan будет иметь к ней доступ на чтение и запись.
Далее командой smbpasswd необходимо добавить пользователя на сервере Samba (флаг -a) и активировать его (флаг -e):
Вам потребуется ввести пароль для доступа к ресурсу samba, он может отличаться от системного пароля.
Другие пользователи создаются аналогичным образом. Для создания пользователя admin нужно выполнить следующие команды, его домашней директорией будет everyone:
Для удобства можно также создать группу администраторов, это позволит не прописывать права доступа ко всем ресурсам при изменении администратора, а один раз прописать их для группы и в дальнейшем добавлять и удалять администраторов одной командой:
Настройка системы завершена, теперь нужно настроить ресурсы.
Настройка общих ресурсов Samba
У каждого ресурса есть свой раздел в файле конфигурации /etc/samba/smb.conf. Разделы ресурсов расположены после глобальных параметров и имеют следующий вид
share_name — имя ресурса, используемое при доступе.
path — полный путь к ресурсу в файловой системе.
browsable — опоеделяет видимость ресурса для других пользователей, но не дает им прав доступа.
read only — определяет возможность доступа на запись для пользователей, указанных в параметре valid users.
force create mode — задает указанные права доступа к любому файлу, создаваемому в ресурсе.
force directory mode — задает указанные права доступа к любой директории, создаваемой в ресурсе
valid users — список пользователей, имеющих доступ к ресурсу. Здесь можно указывать имена или группы, перед группами нужно указывать символ @, например, @admins.
Для настройки конфигурации ресурса нужно в любом текстовом редакторе добавить в файл конфигурации блоки следующего вида для каждого пользователя:
Для ресурса everyone блок будет выглядеть следующим образом:
Все пользователи будут иметь доступ на чтение и запись, так как были добавлены в группу sambashare при создании. Теперь нужно протестировать параметры
Если все настроено корректно, результат будет следующим:
После проверки конфигурации запустим сервер и добавим его в автозагрузку командой systemctl:
Сервер работает и готов принимать пользователей.
Настройка клиентов Samba
Для доступа к ресурсам из командной строки в Linux используется утилита smbclient. В большинстве дистрибутивов она не установлена по умолчанию, если нет то нужно воспользоваться менеджером пакетов:
В некоторых дистрибутивах может потребоваться создать файл /etc/samba/smb.conf, так как при его отсутствии будет выводиться сообщение об ошибке. Для доступа к ресурсу нужно выполнить следующую команду:
Например, для доступа к ресурсу ivan на сервере samba.example.com нужно ввести:
Далее потребуется ввести пароль, после чего появится интерфейс командной строки, похожий на интерфейс FTP:
Например, можно создать директорию:
Доступ из командной строки используется в основном для тестирования, на практике доступ чаще всего осуществляется из графических оболочек, например, KDE. Возможен также доступ из других платформ (Windows, MacOS).
Например для доступа с windows наберите в строке поиска \\samba.example.com\ivan. И введите логин пароль
После чего вы сможете получить доступ к сетевым ресурсам.
Заключение
При помощи Samba мы создали мультиплатформенные сетевые ресурсы и протестировали доступ к ним. Ресурсы Samba очень распространены и могут использоваться различными приложениями. Например, VLC Player может проигрывать музыку и видео из ваших ресурсов Samba, а утилита резервного копирования BackupPC — записывать туда резервные копии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Настройка сервера Samba – создание папок и установка доступа
При работе в локальной сети часто возникает необходимость в передаче файлов между компьютерами. В таких случаях незаменимым решением станет программа Самба, которая поможет в настройке общедоступных директорий. Однако настройка Samba имеет ряд особенностей.
Настройка через терминал
Сама Samba – это программа, которая предназначена для обращения к различным сетевым интерфейсам, в том числе принтерам, с помощью особого протокола «SMB/CIFS». Состоит из серверной (работающей на Linux, MAC и других Unix-подобных OS) и клиентской части, которую можно установить даже на Windows 7, 8, 10.
Поскольку серверная часть программы предназначена для ОС Ubuntu, рассмотрим порядок ее настройки, а также затронем настройки Windows для обеспечения доступа.
Настройки Windows
Для того, чтобы программа работала корректно, нужно убедиться в том, что все компьютеры сети подключены к одинаковой рабочей группе. Обычно, в поле «Название группы» внесено значение «WORKGROUP». Чтобы определить, в какую группу входит используемый ПК, необходимо использовать командную строку:
- Нажать на клавиатуре комбинацию клавиш «WIN+R». В открывшемся окне ввести «cmd».
- Далее, в окне консоли ввести «net config workstation».
Следует обратить внимание на пункт «Домен рабочей станции».
- Если на ПК с ОС Ubuntu выставлен статический ip-адрес, следует указать его в файле «hosts». Найти его можно в папке «etc», которая, в свою очередь хранится в папке «Windows\system32».
- После последнего адреса в списке написать нужный IP-адрес.
Настройка Виндоус окончена.
Настройка серверной части Самба
Теперь можно перейти к настройке операционной системы Samba на Ubuntu. В процессе будет использоваться консоль. Сам процесс настройки Samba Server несложен, но требует внимательности к деталям:
- По окончании инсталляции необходимо используя консоль вписать следующую команду, которая установит недостающие модули Самбы:
- Вслед за этим нужно сделать бэкап существующего файла конфигурации:
- Создать новый файл конфигурации:
- В открывшийся документ нужно внести следующую информацию:
- Сохранить изменения кликом по кнопке в правом верхнем углу.
Также следует откорректировать файл «limits.conf»:
- Открыть его с помощью текстового редактора:
- Прокрутить вниз и перед последней строчкой в документе добавить следующее:
- Сохранить изменения.
Результат:
Создание общих папок
Затем следует создать общие папки на сетевом файловом сервере Samba:
- Сперва следует создать обычную директорию, название которой может быть абсолютно любым. Команда для консоли:
- Задать права для того чтобы все пользователи смогли проводить операции над вложенными файлами. При этом следует указать точный путь:
- Открыть конфигурационный файл, чтобы добавить в него некоторые данные:
- После блока «Global» добавить следующее:
- Сохранить изменения. В результате должно получиться следующее:
- Перезапустить Самбу:
Найти созданную директорию на ПК с Windows можно через «Проводник» — «Сеть».
Неизменяемые папки
Если есть нужда в директории, над которой нельзя будет проводить операции редактирования – создается таковая с правами «Для чтения». Процедура идентична, за исключением некоторых параметров:
- Создать папку, назвать ее, например, «readonly». В терминале ввести:
- Дать папке необходимые права:
- Следующей командой открыть конфигурацию:
- Вновь добавить фрагмент текста в конец файла:
- Сохранить документ.
Папки с закрытым доступом
Для создания папки с аутентификацией и проверкой разрешений нужно:
- Создать папку, к примеру «Auth»:
- Задать права:
- Задать группу пользователей на свой выбор, а затем и пользователя, которому дать права доступа по авторизации.
- Добавить пользователя, например, «teacher»:
- Задать пароль для авторизации:
- Внести изменения в файл конфигурации, добавив фрагмент:
Графический интерфейс System Config Samba
Установка интерфейса
Для удобства управления настройками файлового сервера Samba можно подключить графический интерфейс:
- Для установки нужно ввести в консоли следующую команду:
- Вместе с этим установить все сопутствующие компоненты Самба:
- Перейти к запуску и настройке.
Запуск
Запустить System Config Samba из терминала:
- Нажать сочетание клавиш «CTRL+ALT+T».
- В окне консоли ввести:
- Нажать «Enter».
- Ввести системный пароль.
Добавляем пользователей
Перед настройкой папок нужно создать пользователей:
- На верхней панели выбрать вкладку «Настройка».
- Выбрать пункт «Пользователи Samba».
- В следующем окне выбрать пункт «Добавить пользователя».
- В выпадающем списке выбрать имя пользователя, которому может быть предоставлен доступ.
- Ввести имя пользователя в Windows.
- Ввести пароль с подтверждением.
- Нажать «ОК».
Настраиваем сервер
Настройка сервера упрощается через графический интерфейс:
- Выбрать вкладку «Настройки».
- Далее «Параметры сервера».
- Вкладка «Основной», ввести название группы в поле «Рабочая группа».
- Параметр описания не влияет ни на что, поэтому его значение можно не изменять.
- Перейти к вкладке «Безопасность».
- Выбрать режим аутентификации — «Пользователь».
- Выбрать в пункте «Шифровать пароли» вариант «Да».
- Выбрать учетную запись гостя.
- Нажать «ОК».
Создаем папки
Если папки не были созданы ранее, главное окно будет пустым. Для создания нужно провести ряд действий:
- Кликнуть по кнопке в виде плюса. Произойдет переход к окну создания.
- Нажать «Обзор» в открывшемся окне.
- Указать папку, к которой будет предоставлен общий доступ.
- Отметить галочками пункты «Виден» и «Общедоступен».
- Перейти к вкладке «Доступ».
- На данной вкладке выбрать пользователей, которые получат доступ к папке.
- Для создания общедоступной папки выбрать «Предоставить доступ всем».
- Нажать на «ОК».
В главном окне отобразится созданная директория.
Файловый менеджер Nautilus
Также эти операции можно провести в популярном файловом менеджере Nautilus.
Установка
Прежде всего необходимо выполнить установку:
- Открыть «Nautilus» кликом по иконке на панели задач.
- Перейти в расположение с директорией для общего доступа. Нажать правой кнопкой мыши и выбрать пункт «Свойства».
- Перейти на вкладку «Общедоступная папка локальной сети».
- Выбрать пункт «Опубликовать эту папку».
- Откроется окно, в котором кликнуть по кнопке «Установить службу» для начала установки Самбы.
- Будет открыто окно, в котором можно просмотреть описание устанавливаемых пакетов. Нажать «Установить».
- Ввести пароль пользователя для продолжения установки.
Дождаться завершения установки и перейти к настройке.
Основные настройки
Настройка Самба из Наутилуса намного упрощается, в сравнении с предыдущими способами.
Для добавления общедоступности директории нужно:
- Перейти на вкладку «Права».
- Определить права для всех типов пользователей.
- Для ограничения доступа какой-либо группе выбрать из списка «Нет».
- Далее перейти в меню «Изменить права на вложенные файлы».
- Точно также, как и во втором пункте определить права на взаимодействие с файлами.
- Нажать «Изменить», затем перейти к вкладке «Общедоступная папка локальной сети».
- Отметить галочкой вариант «Опубликовать эту папку».
- Ввести название папки.
- Поставить, либо убрать галочки, позволяющие проводить операции и предоставлять общий доступ пользователю без учетной записи.
- Нажать «Применить».
Стоит отметить, что без настройки Самбы папки могут не стать общедоступными.