Купить Корзина
  • Домены и сайты
  • Облако и IT-инфраструктура
  • Вход

Получить консультацию

Ответим на вопросы, расскажем о конфигурациях, поможем с переносом, подберем оборудование, подготовим коммерческое предложение

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

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

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

Или просто оставьте номер телефона, и мы перезвоним вам

  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. База знаний
    2. Рег.облако
    3. Облачные серверы
    4. Установка программного обеспечения
    5. Как установить Samba на Ubuntu

    Как установить Samba на Ubuntu

    В статье мы расскажем, что такое Самба и как его установить на Ubuntu.

    Что такое Samba

    Samba — это пакет программ, который используется для работы с популярными ОС: Windows, Linux, а также с другими UNIX-подобными системами. Это ПО будет полезно, если вы хотите создать файловый сервер с доступом из нескольких операционных систем: например, можно сделать общую папку для обмена файлами между реальным компьютером и виртуальным сервером. Samba включает в себя клиентскую (smbclient) и серверную (smbserver) части, а также использует для работы протокол SMB.

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

    Ниже мы опишем полную процедуру установки и настройки Samba на ОС Ubuntu. Она включает в себя три обязательных этапа:

    • 1.
      Установка Samba.
    • 2.
      Настройка Samba.
    • 3.
      Монтирование общей директории как образа диска.

    Установка Samba на сервер

    • 1
      Подключитесь к серверу по SSH.
    • 2

      Обновите пакеты. Для этого поочередно выполните команды:

      sudo apt update
      sudo apt upgrade
    • 3

      Установите Samba:

      sudo apt install samba -y
    • 4

      Добавьте Самба в автозагрузку:

      sudo systemctl enable smbd
    • 5

      Запустите службу:

      sudo systemctl start smbd
    • 6

      Проверьте статус службы Samba:

      sudo systemctl status smbd

      После этого на экране появится вывод:

      ● smbd.service - Samba SMB Daemon
           Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
           Active: active (running) since Mon 2023-01-01 00:00:00 UTC; 15s ago
             Docs: man:smbd(8)
                   man:samba(7)
                   man:smb.conf(5)
         Main PID: 12345 (smbd)
           Status: "smbd: ready to serve connections..."
            Tasks: 4 (limit: 1105)
           Memory: 7.2M
           CGroup: /system.slice/smbd.service
                   ├─12345 /usr/sbin/smbd --foreground --no-process-group
                   ├─12346 /usr/sbin/smbd --foreground --no-process-group
                   ├─12347 /usr/sbin/smbd --foreground --no-process-group
                   └─12348 /usr/sbin/smbd --foreground --no-process-group
      
      Jan 01 00:00:00 apachi systemd[1]: Starting Samba SMB Daemon...
      Jan 01 00:00:10 apachi systemd[1]: Started Samba SMB Daemon.
      Jan 01 00:00:20 apachi systemd[1]: Reloading Samba SMB Daemon.
      Jan 01 00:00:30 apachi systemd[1]: Reloaded Samba SMB Daemon.
    • 7

      Добавьте разрешающее правило для брандмауэра:

      sudo ufw allow samba

    Готово, теперь переходите к настройке Samba.

    Настройка Samba

    Подготовка конфигурационного файла

    • 1
      Подключитесь к серверу по SSH.
    • 2

      Создайте копию конфигурационного файла — она пригодится, если потребуется откат до стандартных настроек:

      sudo cp /etc/samba/smb.conf /etc/samba/res_smb.conf
    • 3

      Очистите конфиг от комментариев и строк, не используемых в работе:

      grep -v '^ *#\|^ *$' /etc/samba/smb.conf | sudo tee /etc/samba/smb.conf

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

      [global]
         workgroup = WORKGROUP
         server string = %h server (Samba, Ubuntu)
         log file = /var/log/samba/log.%m
         max log size = 1000
         logging = file
         panic action = /usr/share/samba/panic-action %d
         server role = standalone server
         obey pam restrictions = yes
         unix password sync = yes
         passwd program = /usr/bin/passwd %u
         passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
         pam password change = yes
         map to guest = bad user
         usershare allow guests = yes
      [printers]
         comment = All Printers
         browseable = no
         path = /var/spool/samba
         printable = yes
         guest ok = no
         read only = yes
         create mask = 0700
      [print$]
         comment = Printer Drivers
         path = /var/lib/samba/printers
         browseable = yes
         read only = yes
         guest ok = no
    • 4

      Проверьте корректность заполнения файла с помощью команды:

      testparm

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

      Load smb config files from /etc/samba/smb.conf
      Loaded services file OK.
      Weak crypto is allowed
      Server role: ROLE_STANDALONE
      
      Press enter to see a dump of your service definitions
      
      # Global parameters
      [global]
              log file = /var/log/samba/log.%m
              logging = file
              map to guest = Bad User
              max log size = 1000
              obey pam restrictions = Yes
              pam password change = Yes
              panic action = /usr/share/samba/panic-action %d
              passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
              passwd program = /usr/bin/passwd %u
              server role = standalone server
              server string = %h server (Samba, Ubuntu)
              unix password sync = Yes
              usershare allow guests = Yes
              idmap config * : backend = tdb
      
      [printers]
              browseable = No
              comment = All Printers
              create mask = 0700
              path = /var/spool/samba
              printable = Yes
      
      [print$]
              comment = Printer Drivers
              path = /var/lib/samba/printers

    Готово, вы настроили конфигурационный файл.

    Настройка административного доступа

    • 1
      Подключитесь к серверу по SSH.
    • 2

      Создайте директорию, доступ к которой вам нужно настроить:

      sudo mkdir /var/directory_name

      Вместо directory_name укажите название папки.

    • 3

      Разрешите полный доступ:

      sudo chmod 777 /var/directory_name

      Вместо directory_name укажите название папки.

    • 4

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

      sudo nano /etc/samba/smb.conf
    • 5

      Добавьте директивы:

      [directory_name]
          comment = directory_name
          path =  /var/directory_name
          public = no
          writable = yes
          read only = no
          guest ok = no
          create mask = 0775
          directory mask = 0775
          force create mode = 0775
          force directory mode = 0775

      Где:

      • [directory_name] — название ресурса, который увидит пользователь при подключении;
      • comment = directory_name — комментарий;
      • path = /var/directory_name — путь к директории, к которой вы предоставляете доступ;
      • public = no — запрет публичного доступа;
      • writable = yes — право записи в сетевой ресурс;
      • read only = no — право на создание файлов и папок для всех пользователей;
      • guest ok = no — запрет гостевого подключения;
      • create mask = 0775, directory mask = 0775, force create mode = 0775 и force directory mode = 0775 — права доступа, которые нужно назначить созданным файлам и директориям.

      После этого сохраните изменения с помощью сочетания клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.

    • 6

      Создайте пользователя Samba:

      sudo smbpasswd -a username

      Вместо username укажите имя пользователя. После этого создайте пароль.

    Готово, вы настроили доступ по логину и паролю.

    Настройка доступа для пользователей и групп

    • 1
      Подключитесь к серверу по SSH.
    • 2

      Создайте директорию, доступ к которой вам нужно настроить:

      sudo mkdir /var/group_directory

      Вместо group_directory укажите название папки.

    • 3

      Назначьте полный доступ к папке:

      sudo chmod 777 /var/group_directory

      Вместо group_directory укажите название папки.

    • 4

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

      sudo nano /etc/samba/smb.conf
    • 5

      Добавьте директивы:

      [group_directory]
          comment = group_directory
          path = /var/group_directory
          public = no
          writable = no
          read only = yes
          guest ok = no
          valid users = username1, username2, @group
          write list = username
          create mask = 0775
          directory mask = 0775
          force create mode = 0775
          force directory mode = 0775
          inherit owner = yes

      Где:

      • [group_directory] — название, которое увидит пользователь при подключении;
      • comment = group_directory — комментарий;
      • path = /var/group_directory — путь к директории, к которой вы предоставляете доступ;
      • public = no — запрет публичного доступа;
      • writable = no — запрет на запись в сетевой ресурс;
      • read only = yes — запрет на создание файлов и папок для всех пользователей;
      • guest ok = no — запрет гостевого подключения;
      • valid users = username1, username2, @group — список пользователей и групп, которым разрешен доступ. Название группы указано со знаком @ в начале;
      • create mask = 0775, directory mask = 0775, force create mode = 0775 и force directory mode = 0775 — права доступа, которые нужно назначить созданным файлам и директориям;
      • inherit owner = yes — включение наследования владельца папок и файлов.

      После этого сохраните изменения с помощью сочетания клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.

    • 6

      Перезапустите Samba:

      sudo systemctl restart smbd

    Готово, вы настроили доступ для пользователей и групп.

    Монтирование директории

    • 1
      Подключитесь к серверу по SSH.
    • 2

      Обновите пакеты. Для этого поочередно выполните команды:

      sudo apt update
      sudo apt upgrade
    • 3

      Установите набор утилит:

      sudo apt install cifs-utils -y
    • 4

      Смонтируйте директорию:

      mount.cifs //var/directory_name  /test

      Где:

      • /var/directory_name — путь к директории, к которой вы подключаетесь;
      • /test — директория, в которую нужно добавить смонтированный образ.
    • 5

      Создайте файл с учетными данными пользователей:

      sudo nano /root/.smbselus
    • 6

      Добавьте строки:

      username=user_name
      password=PassWord

      Где:

      • user_name — логин пользователя,
      • PassWord — пароль пользователя.

      После этого сохраните изменения с помощью сочетания клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.

    • 7

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

      sudo nano /etc/fstab
    • 8

      Добавьте строку:

      //var/group_directory /test cifs user,rw,credentials=/root/.smbselus 0 0

      Где:

      • /var/group_directory — путь к директории, которую нужно смонтировать;
      • /test — директория, в которую нужно смонтировать образ;
      • cifs user — открытый доступ к монтированию для любого пользователя;
      • rw — права на чтение и запись;
      • credentials=/root/.smbselus — файл с данными пользователя.

      После этого сохраните изменения с помощью сочетания клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.

    Готово, вы смонтировали директорию с общим доступом.

    Помогла ли вам статья?

    Спасибо за оценку. Рады помочь 😊

     👍
    Специальные предложения
    • Бесплатный хостинг для сайта
    • Дешевый хостинг
    • Бесплатный VPS-сервер
    • Дешёвые VPS
    Рассылка Рег.ру

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Домены и сайты
    • Домены
    • Хостинг
    • Создание сайтов
    • SSL-сертификаты
    • VPS и VDS серверы
    • Whois
    • Магазин доменов
    Облако
    и IT-инфраструктура
    • Облачные серверы
    • Частное облако
    • Облачное хранилище
    • Kubernetes в облаке (K8S)
    • Облачные базы данных
    • Выделенные серверы
    Полезное
    • Стоимость услуг
    • Cпособы оплаты
    • База знаний
    • Документы
    • ЭДО
    • Партнерам
    • Сообщить о нарушении
    • РБК: новости России и мира сегодня
    • Новости компаний РФ
    • РБК Инвестиции: курсы валют
    Компания
    • О компании
    • Контакты
    • Офисы
    • Новости
    • Акции и скидки
    • Блог
    • Отзывы клиентов
    8 800 555-34-78 Бесплатный звонок по России
    +7 495 580-11-11 Телефон в Москве
    • vk
    • telegram
    • ok
    • moikrug
    • youtube
    • twitter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
    • © ООО «РЕГ.РУ»
    • Политика конфиденциальности
      Политика обработки персональных данных
      Правила применения рекомендательных технологий
      Правила пользования
      и другие правила и политики
    • Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера