Настройка Samba в CentOS 7

 

настройка samba в centos

Файловый сервер (ФС) в операционных системах Linux может быть использован для разных целей, однако в большинстве случаев он задействован при создании локальной сети и общих папок с компьютерами на базе Windows. Самым популярным ФС на текущий момент времени по праву считается Samba. Она предустановлена во многих дистрибутивах, а опытные юзеры предпочитают именно этот инструмент в качестве основного при необходимости использования файловых серверов. Сегодня речь пойдет об инсталляции и настройке этого компонента в CentOS 7.

Настраиваем Samba в CentOS 7

Мы распределили весь материал на шаги, потому что процесс стандартной конфигурации обычно занимает много времени и состоит из нескольких различных этапов. Не обойдем стороной и предварительные действия с Windows, поскольку выше мы уже уточнили, что Samba часто применяется в связке именно с этой операционной системой. Вам остается только внимательно изучить представленные инструкции, чтобы понять основные принципы настройки файлового сервера в CentOS 7.

Шаг 1: Подготовительные работы в Windows

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

  1. Откройте «Пуск», через поиск отыщите «Командную строку» и запустите это приложение от имени администратора.


  2. Введите команду net config workstation, чтобы узнать текущую конфигурацию рабочей станции. Активируйте действие нажатием на клавишу Enter.


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


  4. В этой же сессии консоли введите строку notepad C:\Windows\System32\drivers\etc\hosts, чтобы открыть необходимый файл через установленный по умолчанию «Блокнот».


  5. Опуститесь в конец списка и вставьте строку 192.168.0.1 srvr1.domain.com srvr1, заменив этот IP на адрес устройства, где дальше будет настраиваться Samba. После этого сохраните все изменения.


  6. На этом все действия с компьютером на Windows заканчиваются, а это значит, что можно переходить к CentOS 7 и заняться непосредственной конфигурацией файлового сервера Samba.

    Шаг 2: Инсталляция Samba в CentOS 7

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

    1. Откройте консоль удобным для вас образом, например, через меню приложений или стандартную комбинацию клавиш Ctrl + Alt + T.


    2. Здесь введите sudo yum install -y samba samba-common python-glade2 system-config-samba, чтобы запустить одновременную инсталляцию всех требуемых дополнительных утилит.


    3. Введите пароль суперпользователя, чтобы подтвердить данное действие. Учитывайте, что написанные в данной строке символы не отображаются.


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


    5. По завершении операции появятся строки, сообщающие о том, что установлены необходимые утилиты и их зависимости — можно переходить далее.


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

    Шаг 3: Установка глобальных параметров

    Samba инсталлируется в ОС в «чистом виде», а это значит, что сейчас не заданы параметры, определяющие ее поведение. Их придется устанавливать самостоятельно, а начать стоит с главной конфигурации. Мы предлагаем воспользоваться стандартным шаблоном, заменив некоторые пользовательские строки.

    1. Иногда Samba устанавливается с чистым конфигурационным файлом, однако в нем все же могут уже быть заданы какие-то параметры. Давайте сначала создадим резервную копию этого объекта, чтобы в случае чего быстро восстановить ее. Осуществляется эта задача путем ввода sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak.


    2. Это действие, как и все последующие, придется подтвердить, указав пароль суперпользователя.


    3. Следующие манипуляции будут производиться непосредственно с самим конфигурационным файлом. Для этого всегда используется текстовый редактор. По стандарту в систему добавлен vi, но он не является достаточно удобным для начинающих пользователей, поэтому мы рекомендуем инсталлировать nano через команду sudo yum install nano.


    4. Если nano уже добавлен в ОС, вы будете уведомлены об этом.


    5. Теперь перейдем к редактированию конфигурационного файла, введя sudo nano /etc/samba/smb.conf.


    6. В открывшемся окне введите расположенное ниже содержимое.

      [global]
      workgroup = WORKGROUP
      server string = %h server (Samba, Ubuntu)
      netbios name = Ubuntu Share
      dns proxy = no
      log file = /var/log/samba/log.%m
      max log size = 1000
      passdb backend = tdbsam
      unix password sync = yes
      passwd program = /usr/bin/passwd %u
      pam password change = yes
      map to guest = bad user
      usershare allow guests = yes



      1. Нажмите сочетание клавиш Ctrl + O, чтобы записать изменения.


      2. Не изменяйте название файла, а просто нажмите на Enter.


      3. После этого можно покинуть окно текстового редактора, зажав Ctrl + X.


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

    • workgroup. Этот параметр определяет имя рабочей группы. Его значение выставляется в соответствии с определенной в Windows информацией.
    • netbios name. Поменяйте значение на произвольное имя, которое хотите, чтобы отображалось на ПК под управлением Windows при взаимодействии с данным устройством.
    • log file. В качестве значения этого параметра укажите путь к файлу, где хотите хранить журналы событий, записывающиеся во время функционирования файлового сервера.
    • passdb backend. Эта опция определяет тип хранения паролей. Если вы не знаете, что именно здесь задать, лучше оставьте этот пункт в значении по умолчанию.
    • unix password sync. Рекомендуется активировать этот параметр, поскольку он отвечает за синхронизацию паролей/
    • map to guest. Используется для обозначения гостевого доступа. Имеет несколько значений: bad user применяется для несуществующих учетных записей, bad password загружает гостевой режим при неверном вводе пароля, а never попросту деактивирует опцию.

    Дополнительно в Samba имеются и другие конфигурационные опции, а также реализован графический интерфейс. Со всем этим мы советуем ознакомиться в официальной документации, поскольку всю информацию невозможно уместить в рамках одной статьи.

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

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

    1. В «Терминале» введите sudo mkdir -p /samba/allaccess, чтобы создать упомянутую выше папку. Измените ее название на произвольное, если это требуется.


    2. Приступайте к настройке общего доступа, изначально переместившись по пути cd /samba.


    3. Здесь вставьте строку sudo chmod -R 0755 allaccess и нажмите на Enter.


    4. Еще один параметр sudo chown -R nobody:nogroup allaccess/ отвечает за предоставление доступа абсолютно всем пользователям.


    5. Теперь потребуется обозначить данную папку в конфигурационном файле. Для начала запустим его через sudo nano /etc/samba/smb.conf.


    6. Вставьте в конец или начало файла расположенный ниже блок. О значении каждой строки мы поговорим немного позднее, чтобы вы разобрались с установкой индивидуальных значений.

      [allaccess]
      path = /samba/allaccess
      browsable = yes
      writable = yes
      guest ok = yes
      read only = no


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


      2. Все настройки будут применены только после перезапуска файлового сервера, поэтому сделайте это прямо сейчас, написав sudo systemctl restart samba.


  9. После того, как все необходимые общедоступные директории будут созданы, рекомендуется проверить их работоспособность в Windows, введя там команду \\srvr1\allaccess. Теперь давайте затронем указанные выше параметры:

    • path. Здесь вписывается путь к той самой папке, которая выбрана общедоступной.
    • browsable. Активация этого параметра позволит отображать каталог в списке разрешенных.
    • writable. Указанную папку можно будет редактировать, если значение этого параметра указано как yes.
    • guest ok. Активируйте этот пункт, если хотите предоставить общий доступ к папке.
    • read only. Используйте положительное значение этого параметра, чтобы установить значение папки «Только для чтения».

    Шаг 5: Создание защищенного каталога

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

    1. Создадим директорию, которую далее будем настраивать, воспользовавшись командой sudo mkdir -p /samba/allaccess/secured.


    2. Добавьте группу, куда будут входить разрешенные пользователи, через sudo addgroup securedgroup.


    3. Перейдите расположению защищенного каталога, указав cd /samba/allaccess.


    4. Здесь задайте права для каждого отдельного пользователя через sudo chown -R richard:securedgroup secured. Замените имя richard в этой команде на необходимое.


    5. Осталось только ввести общую команду для безопасности sudo chmod -R 0770 secured/.


    6. Перейдите к конфигурационному файлу (sudo nano /etc/samba/smb.conf), чтобы указать ту папку, которую мы только что настроили.


    7. Скопируйте и вставьте в редактор указанный ниже блок.

      [secured]
      path = /samba/allaccess/secured
      valid users = @securedgroup
      guest ok = no
      writable = yes
      browsable = yes




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


      2. Добавьте все учетные записи в соответствующую группу через sudo usermod -a -G securedgroup richard.


      3. Установите для каждой из них пароль sudo smbpasswd -a richard в качестве последнего действия, завершающего конфигурацию.


      4. Это вся информация, которой мы хотели поделиться, рассказав об общих настройках файлового сервера Samba в CentOS 7. Вам осталось только следовать приведенным инструкциям, изменяя параметры и их значения под себя, чтобы создать оптимальную конфигурацию.