Руководство по настройке Samba в Ubuntu

Если у вас есть компьютеры на разных операционных системах дома или в небольшом офисе, вы наверняка сталкивались с проблемой обмена файлами. Когда один компьютер работает под Windows, а другой под Ubuntu, невозможно просто перенести документы или фотографии между ними. Samba существует именно для решения этой проблемы.

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

На первый взгляд создание Samba в Ubuntu не так сложно, как кажется. Всё, что вам нужно, — это выполнить несколько шагов. В этом руководстве мы рассмотрим каждый шаг, начиная с установки необходимых компонентов и заканчивая созданием общей папки и подключением к ней с другого устройства.

Терминал

«Терминал» Ubuntu может делать все, что угодно, так что настроить Samba тоже будет возможно. Весь процесс будет разделен на отдельные шаги, чтобы было легче понять. Три различных варианта настройки папок будут представлены ниже. Они включают общий доступ, который позволяет любому пользователю открыть папку без запроса пароля; доступ только для чтения; и аутентификацию.

Шаг 1: Подготовка Windows

Перед началом настройки Samba в Ubuntu необходимо подготовить операционную систему Windows. Для обеспечения корректной работы все устройства должны состоять в одной рабочей группе, как указано в Samba. Во всех операционных системах рабочая группа называется «WORKGROUP». Воспользуйтесь «Командной строкой» для поиска конкретной группы в Windows.

  1. Нажмите сочетание клавиш Win+R и во всплывшем окне «Выполнить» введите команду cmd.
  2. В открывшейся «Командной строке» выполните следующую команду:

    net config workstation

В строке «Домен рабочей станции» указано название вашей группы, а местоположение можно увидеть на изображении выше.

Далее, если на Ubuntu-компьютере есть статический IP-адрес, его необходимо внести в файл «hosts» Windows. Простым способом этого достижения является использование командной строки с правами администратора:

  1. Проведите поиск по системе с запросом «Командная строка».
  2. В результатах нажмите по «Командной строке» правой кнопкой мыши (ПКМ) и выберите пункт «Запуск от имени администратора».
  3. В открывшемся окне выполните следующее:

    notepad C:\Windows\System32\drivers\etc\hosts

  4. В файле, открывшемся после выполнения команды, пропишите в отдельной строке ваш IP-адрес.

Кроме того, прочитайте: Типичные команды «Командной строки» Windows 7

После этого подготовка Windows считается завершенной. Все это происходит на компьютере с операционной системой Ubuntu.

Пример открытия «Командной строки» в Windows 7 приведен ниже. Если у вас возникли проблемы с этим или у вас другая версия Windows, мы предлагаем вам подробную инструкцию на нашем сайте.

Дополнительная информация: Открытие командной строки в Windows 7 Открытие Windows 8 командной строки Откройте командную строку Windows 10

Шаг 2: Настройка сервера Samba

Настройка Samba — довольно сложный процесс, поэтому внимательно читайте инструкции, чтобы все работало правильно в конце концов.

  1. Установите все необходимые пакеты программного обеспечения, которые нужны для корректной работы Samba. Для этого в «Терминале» выполните команду:

    sudo apt-get install -y samba python-glade2

  2. Теперь в системе есть все необходимые компоненты для настройки программы. Первым делом рекомендуется сделать резервное копирование конфигурационного файла. Сделать это можно с помощью этой команды:

    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

    Теперь вы можете вернуть исходный вид конфигурационного файла «smb.conf», выполнив следующее:

    sudo mv /etc/samba/smb.conf.bak /etc/samba/smb.conf

  3. Далее создаем новый файл конфига:

    sudo gedit /etc/samba/smb.conf

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

  4. Кроме того, прочитайте: Популярные текстовые редакторы для Linux

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

    [global]
    workgroup = WORKGROUPE
    netbios name = gate
    server string = %h server (Samba, Ubuntu)
    dns proxy = yes
    log file = /var/log/samba/log.%m
    max log size = 1000
    map to guest = bad user
    usershare allow guests = yes

  6. Кроме того, рекомендуется прочитать: Как создать или удалить файлы в Linux.

  7. Сохраните изменения в файле, нажав по соответствующей кнопке.

Следовательно, основная настройка Samba завершена. Вы можете просмотреть каждый выбранный параметр на этом сайте. Разверните список в левой части и найдите параметр «smb.conf», выбрав первую букву имени.

Изменения должны быть внесены не только в файл «limits.conf», но и в файл «smb.conf». Поэтому:

  1. Откройте нужный файл в текстовом редакторе:

    sudo gedit /etc/security/limits.conf

  2. Перед последней строкой в файле вставьте следующий текст:

    * - nofile 16384
    root - nofile 16384

  3. Сохраните файл.

В конце концов, он должен иметь следующий вид:

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

Теперь выполните команду, чтобы убедиться, что параметры корректны:

sudo testparm /etc/samba/smb.conf

Если в результате вы увидите текст, как на картинке ниже, это означает, что все вписанные вами данные правильны.

Следующей командой необходимо перезапустить сервер Samba:

sudo /etc/init.d/samba restart

После удаления всех переменных из файла «smb.conf» и внесения изменений в «limits.conf», можно непосредственно перейти к созданию папок.

Шаг 3: Создание папки с общим доступом

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

  1. Для начала создайте саму папку. Сделать это можно в любой директории, в примере же папка будет находиться по пути «/home/sambafolder/», а называться — «share». Вот какую команду нужно выполнить для этого:

    sudo mkdir -p /home/sambafolder/share

  2. Теперь измените права доступа папки, чтобы каждый пользователь смог ее открыть и взаимодействовать со вложенными файлами. Делается это следующей командой:

    sudo chmod 777 -R /home/sambafolder/share

    Внимайте: команде необходимо указать точный путь к папке, которую они ранее создали.

  3. Осталось описать созданную папку в конфигурационном файле Samba. Сначала откройте его:

    sudo gedit /etc/samba/smb.conf

    Вставьте следующее в текстовый редактор, отступив две строки внизу текста:

    [Share]
    comment = Full Share
    path = /home/sambafolder/share
    guest ok = yes
    browsable = yes
    writable = yes
    read only = no
    force user = user
    force group = users

  4. Сохраните изменения и закройте редактор.

После этого содержимое конфигурационного файла должно выглядеть следующим образом:

Чтобы все изменения были реализованы, необходимо перезапустить Samba. Это выполняется уже известной командой:

sudo service smbd restart

Следующим шагом должна быть созданная общая папка в Windows. Чтобы подтвердить это, выполните следующее в «Командной строке»:

\\gate\share

Вы также можете открыть ее через Проводник, перейдя в директорию «Сеть» на боковой панели окна.

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

Шаг 4: Создание папки с доступом «Только для чтения»

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

Кроме того, прочитайте: Как определить размер папки в Linux

  1. Создайте папку. В примере она будет находиться в той же директории что и «Share», только название будет иметь «Read». Поэтому в «Терминале» вводим:

    sudo mkdir -p /home/sambafolder/read

  2. Теперь наделите ее нужными правами, выполнив:

    sudo chmod 777 -R /home/sambafolder/read

  3. Откройте конфигурационный файл Samba:

    sudo gedit /etc/samba/smb.conf

  4. В конце документа вставьте следующий текст:

    [Read]
    comment = Only Read
    path = /home/sambafolder/read
    guest ok = yes
    browsable = yes
    writable = no
    read only = yes
    force user = user
    force group = users

  5. Сохраните изменения и закройте редактор.

В конце концов, в конфигурационном файле должно быть три текстовых блока:

Теперь перезагрyшите сервер Samba, чтобы все изменения были введены в действие:

sudo service smbd restart

После этого будет создана папка с правами «Только для чтения», в которую все пользователи смогут войти, но они не смогут изменять файлы в ней.

Шаг 5: Создание папки с закрытым доступом

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

  1. Создайте папку, например, «Pasw»:

    sudo mkdir -p /home/sambafolder/pasw

  2. Измените ее права:

    sudo chmod 777 -R /home/sambafolder/pasw

  3. Теперь создайте пользователя в группе «samba», который будет наделен всеми правами доступа к сетевой папке. Для это сначала создайте группу «smbuser»:

    sudo groupadd smbuser

  4. Добавьте в только что созданную группу пользователя. Его имя можете придумать самостоятельно, в примере будет «teacher»:

    sudo useradd -g smbuser teacher

  5. Задайте пароль, который необходимо будет вводить для открытия папки:

    sudo smbpasswd -a teacher

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

  6. Осталось лишь ввести все нужные параметры папки в конфигурационный файл Samba. Для этого сначала откройте его:

    sudo gedit /etc/samba/smb.conf

    После этого копируйте этот текст:

    [Pasw]
    comment = Only password
    path = /home/sambafolder/pasw
    valid users = teacher
    read only = no

    Если после выполнения четвертого пункта этой инструкции вы создали пользователя с другим именем, вы должны ввести его в строку «valid users» после символа «=» и пробела.

  7. Сохраните изменения и закройте текстовый редактор.

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

Чтобы быть уверенным, проверьте файл с помощью команды:

sudo testparm /etc/samba/smb.conf

В конце концов вы должны увидеть примерно такое:

Перезагрузите сервер, если все хорошо:

sudo /etc/init.d/samba restart

System Config Samba

Графический интерфейс пользователя (GUI) значительно облегчает процесс настройки Samba в Ubuntu. Как минимум, для пользователя, который только начал использовать Linux, этот метод будет более простым.

Шаг 1: Установка

Первоначально необходимо установить специальную программу в систему, имеющую интерфейс и необходимую для выполнения настройки. Это можно сделать с помощью «Терминала», выполнив команду:

sudo apt install system-config-samba

Если вы не установили все компоненты Samba на своем компьютере до этого, вам придется загрузить и установить дополнительные пакеты вместе с ней:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba

По завершении установки всех необходимых функций можно перейти непосредственно к настройке.

Шаг 2: Запуск

Запустить System Config Samba можно двумя способами: с помощью «Терминала» и через меню Bash.

Способ 1: Словарь

Если вы решили использовать «Терминал», следуйте следующим шагам:

  1. Нажмите сочетание клавиш Ctrl+Alt+T.
  2. Введите следующую команду:

    sudo system-config-samba

  3. Нажмите Enter.

Далее вам потребуется ввести системный пароль, чтобы открыть программу.

Примечание: во время осуществления настройки Samba с помощью System Config Samba не закрывайте окно «Терминала», так как в этом случае программа закроется, а все внесенные изменения не будут сохранены.

Способ 2: Меню Бах

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

  1. Нажмите на кнопку меню Bash, которая находится в верхнем левом углу рабочего стола.
  2. Введите в открывшемся окне поисковой запрос «Samba».
  3. Нажмите по одноименной программе в разделе «Приложения».

По завершении этого этапа система запросит ваш пароль пользователя. Введите его, и программа будет запущена.

Шаг 3: Добавление пользователей

Перед началом непосредственной настройки папок Samba необходимо добавить пользователей. Это можно сделать в меню настроек программы.

  1. Нажмите по пункту «Настройка» на верхней панели.
  2. В меню выберите пункт «Пользователи Samba».
  3. В появившемся окне нажмите «Добавить пользователя».
  4. В выпадающем списке «Имя пользователя Unix» выберите пользователя, которому будет разрешено входить в папку.
  5. Вручную введите имя пользователя Windows.
  6. Введите пароль, а затем повторите его ввод в соответствующем поле.
  7. Нажмите кнопку «ОК».

Таким образом, вы можете добавить несколько пользователей Samba и задокументировать их права.

Кроме того, прочитайте: Как добавить пользователей в группу Linux Как найти список пользователей Linux?

Шаг 4: Настройка сервера

Теперь нужно начать настраивать сервер Samba. В графическом интерфейсе это действие выполняется на порядок проще. Это то, что вам нужно сделать:

  1. В главном окне программы нажмите по пункту «Настройка» на верхней панели.
  2. Из списка выберите строку «Параметры сервера».
  3. В появившемся окне, во вкладке «Основной», введите в строке «Рабочая группа» название группы, все компьютеры которой смогут подключаться к серверу Samba.

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

  4. Введите описание группы. При желании можете оставить значение по умолчанию, этот параметр ни на что не влияет.
  5. Перейдите на вкладку «Безопасность».
  6. Определите режим аутентификации как «Пользователь».
  7. Выберите из выпадающего списка «Шифровать пароли» интересующий вас вариант.
  8. Выберите гостевую учетную запись.
  9. Нажмите «ОК».

По завершении настройки сервера можно перейти непосредственно к созданию папок Samba.

Шаг 5: Создание папок

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

  1. Кликните по кнопке с изображением знака плюс.
  2. В открывшемся окне, во вкладке «Основной», нажмите «Обзор».
  3. В файловом менеджере укажите нужную папку для ее расшаривания.
  4. В зависимости от предпочтений, поставьте галочки рядом с «Запись разрешена» (пользователю будет позволено редактировать файлы в общедоступной папке) и «Виден» (на другом ПК добавляемая папка будет видна).
  5. Перейдите во вкладку «Доступ».
  6. На ней есть возможность определить пользователей, которым будет разрешено открывать расшаренную папку. Для этого поставьте отметку рядом с «Предоставить доступ только определенным пользователям». После этого нужно выбрать их из списка.

    В случае создания общедоступной папки переключите переключатель в положение «Предоставить доступ всем».

  7. Нажмите кнопку «ОК».

После этого только что созданная папка будет отображаться в главном окне программы.

Вы можете использовать вышеуказанную инструкцию для создания дополнительных папок при желании, или вы можете изменить уже созданные, нажав кнопку «Изменить свойства выбранного каталога».

Как только вы создадите все нужные папки, можете закрывать программу. На этом инструкция по настройке Samba в Ubuntu с помощью программы System Config Samba окончена.

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

Nautilus

В Ubuntu есть еще один способ настроить Samba. Пользователям, которые не любят использовать «Терминал» и не хотят устанавливать дополнительное ПО на свой компьютер, это идеальное решение. Стандартный файловый менеджер Nautilus выполнит все настройки.

Шаг 1: Установка

Способ установки Samba с Nautilus немного отличается. Как было указано выше, «Терминал» также может быть использован для выполнения этой задачи; однако ниже будет рассмотрен другой подход.

  1. Откройте Nautilus, нажав по одноименному значку на панели задач или проведя поиск по системе.
  2. Перейдите в директорию, где находится нужный каталог для расшаривания.
  3. Нажмите по нему ПКМ и выберите из меню строку «Свойства».
  4. В открывшемся окне перейдите на вкладку «Общедоступная папка локальной сети».
  5. Поставьте галочку рядом с «Опубликовать эту папку».
  6. Появится окно, в котором нужно нажать по кнопке «Установить службу», чтобы началась установка Samba в систему.
  7. Появится окно, в котором вы можете ознакомиться с перечнем устанавливаемых пакетов. После ознакомления нажмите кнопку «Установить».
  8. Введите пароль пользователя, чтобы разрешить системе выполнить загрузку и установку.

Следующим шагом будет дождаться завершения инсталляции программы. После завершения этого процесса можно перейти непосредственно к настройке Samba.

Шаг 2: Настройка

Настраивать Samba в Nautilus’е намного проще, чем с помощью «Терминала» или System Config Samba. Все параметры задаются в свойствах каталога. Если вы забыли как их открыть, то выполните три первых пункта предыдущей инструкции.

Чтобы сделать папку общедоступной, выполните следующие шаги:

  1. В окне перейдите во вкладку «Права».
  2. Определите права для владельца, группы и остальных пользователей.

    Примечание: в списке выберите строку «Нет», если вам нужно ограничить доступ к общедоступной папке.

  3. Нажмите «Изменить права на вложенные файлы».
  4. В открывшемся окне по аналогии со вторым пунктом этого списка определите права пользователей для взаимодействия со всеми вложенными в папку файлами.
  5. Нажмите «Изменить», а далее перейдите на вкладку «Общедоступная папка локальной сети».
  6. Отметьте пункт «Опубликовать эту папку».
  7. Введите наименование этой папки.

    Примечание: вы можете оставить поле «Комментарий» незаполненным, если хотите.

  8. Поставьте или, наоборот, уберите галочки с «Разрешить другим пользователям изменять содержимое папки» и «Гостевой доступ». Первый пункт позволит пользователям, которые не наделены правами, редактировать вложенные файлы. Второй — откроет доступ всем пользователям, которые не имеют локальную учетную запись.
  9. Нажмите «Применить».

После этого папка стала общедоступной, и окно можно будет закрывать. Тем не менее, следует учитывать, что папка может не отображаться в локальной сети, если вы не настроили сервер Samba.

Примечание: в начале статьи описан метод настройки сервера Samba.

Это все! Теперь ваш файловый сервер можно использовать с других компьютеров в сети. Вы можете заходить в свои папки на Windows, macOS или Linux-устройствах, как будто вы открываете обычную сетеву папку.

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

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

Поделиться с друзьями
Дмитрий Соколов

Разработчик ПО и энтузиаст «железа», который совмещает практический опыт программирования с глубоким интересом к устройству компьютеров.

Оцените автора
Добавить комментарий