Перейти к основному содержанию

Настройка samba сервер Ubuntu и клиента RHEL

Linux

Понадобилось по самбе примонтировать шару с одного сервера на другой. Самба сервер должен быть установлен на Ubuntu, шара монтируется на RHEL.

На сервере samba

Устанавливаем:

apt-get install -y samba

Редактируем конфиг /etc/samba/smb.conf

[global]
   workgroup = MY_WORK_GROUP
   server string = %h server (Samba, Ubuntu)
   security = user

   log file = /var/log/samba/log.%m
   max log size = 1000
   passdb backend = tdbsam
   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* .

   debug level = 2
   usershare max shares = 0
   usershare allow guests = no

[samba-share]
   path = /u01/mysamba/sambashare1
   valid users = sambauser1
   read list = sambauser1
   write list = sambauser1
   read only = no

Пояснения:

  • [global] - основной раздел конфигурации samba.
    • workgroup - рабочая группа, укажите свою.
    • server string - название сервера, можно изменить на своё.
    • security = user - доступ к серверу устанавливаем по логину-паролю.
    • log file - куда пишем логи, создайте папку /var/log/samba/.
    • max log size - размер лога.
    • passdb backend = tdbsam - механизм для хранения информации о пользователях.
    • unix password sync = yes - заставляет синхронизировать пароль UNIX с паролем SMB при изменении зашифрованного пароля SMB в файле smbpasswd.
      • passwd program - имя программы, которую можно использовать для смены паролей UNIX.
      • passwd chat - тоже надо.  Эта строка управляет обменом “chat” между демоном smbd и локальной программой смены паролей.
    • debug level - для дебага. Для полного дебага установите в 10 и добавьте строку log level = 10.
    • usershare max shares - этот параметр определяет число домашних директорий пользователей, которые могут быть созданными пользователями, принадлежащими группе владельцев папки с домашними директориями. Если установлено в ноль (по умолчанию) общие ресурсы пользователей не создаются.
    • usershare allow guests - гостевой доступ отключаем.
  • [samba-share] - имя шары
    • path - физический путь к папке с шарой.
    • valid users - кому дать доступ к шаре.
    • read list - кому дать права на чтение.
    • write list - кому дать права на запись.
    • read only = no - разрешаем запись в шару

Перезапускаем самбу:

service smbd restart

Создаём папку для шары /u01/mysamba/sambashare1.

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

useradd sambauser1 -M -G users -s /sbin/nologin

Я, на всякий случай, потом изменил ему домашнюю директорию на /u01/mysamba/sambashare1.

Импортируем этого пользователя в самбу и задаем пароль:

smbpasswd -a sambauser1

Дальше делаем этого юзера владельцем папки:

chown -R sambauser1\: /u01/mysamba/sambashare1/

Права на папку /u01/mysamba/sambashare1/ -  drwxr-x---.

Права на папку /u01/mysamba/ и /u01/ - drwxr-xr-x.

Дальше настраиваем клиента.

На клиенте samba

У нас сервер клиента RHEL. Устанавливаем cifs-utils.

yum install cifs-utils

Создаём файл /root/.cifs_samba с содержимым:

username=sambauser1
password=пароль_юзера

Права на файл - -rw-r-----.

Создаём папку для шары, например, /my_share/

Добавляем в /etc/fstab строку:

//10.10.10.14/samba-share /my_share cifs defaults,user,uid=oracle,gid=oinstall,credentials=/root/.cifs_samba,file_mode=0600,dir_mode=0700,rw,nounix 0 0

Где 10.10.10.14 IP адрес или DNS имя сервера samba.

samba-share - имя шары, указанное в /etc/samba/smb.conf в квадратных скобках - [samba-share].

uid=oracle,gid=oinstall - юзер и группа, владельцем которой будут отображаться содержимое шары.

/root/.cifs_samba - путь к файлику с логином и паролем юзера.

Осталось примонтировать шару:

mount -a

 

Теги

 

Похожие материалы

Seafile сервер для Linux версия 7.0.3

5 июля 2019 года вышла новая версия сервера Seafile для Linux — 7.0.3. Релиз доступен для скачивания. Прошлый раз я успешно обновил Seafile Server 6.3 до версии 7.0.2. На этот раз попробую обновиться дальше до версии 7.0.3.