Как настроить общий ресурс Samba для небольшой организации в Ubuntu 16.04

Автор выбралTech Education Fund для получения пожертвования в рамках программыWrite for DOnations.

Вступление

Samba - это реализацияSMB/CIFS networking protocol с открытым исходным кодом, используемая в средах Windows для общих служб, таких как доступ к файлам и принтерам и Active Directory. Samba также может использоваться для создания кроссплатформенных общих файловых ресурсов в конфигурации, называемойstandalone server.

В этом руководстве вы установите и настроите автономный сервер Samba для обеспечения сетевых хранилищ файлов илиshares для гипотетической небольшой организации под названиемExample.com. Эта организация имеет несколько требований к своим файловым ресурсам: 1. Каждому сотруднику нужен личный общий доступ к файлам; 2. Все сотрудники должны иметь доступ для чтения и записи к общему файловому ресурсу; 3. Административный пользователь должен иметь доступ на чтение и запись ко всем личным ресурсам и право владения общим ресурсом.

Ваш сервер Samba будет отвечать всем этим требованиям. Вы также узнаете, как получить доступ к общим ресурсам из Windows, Linux и macOS.

Предпосылки

Прежде чем начать это руководство, вам потребуется следующее:

  • Сервер Ubuntu 16.04 с некорневым пользователем sudo. Пожалуйста, обратитесь к руководствуUbuntu 16.04 initial server setup для получения дополнительной информации. Samba имеет скромные требования к оперативной памяти и процессору и будет хорошо работать на сервере 1 ГБ. У вас больше шансов исчерпать пространство для хранения, поэтому это должно быть вашим основным соображением при выборе размера вашего сервера.

  • Входящие TCP-соединения разрешены через порт445. Если вы используете брандмауэрUFW, обратитесь кHow To Set Up a Firewall with UFW on an Ubuntu and Debian Cloud Server за инструкциями. Если вы используете другой или внешний брандмауэр, обратитесь к соответствующей документации.

[[step-1 -—- install-samba]] == Шаг 1. Установка Samba

Начнем с установки Samba с использованием системы управления пакетами Ubuntu.

Прежде чем устанавливать новые пакеты, давайте обновим локальный индекс пакетов, чтобы включить самые свежие версии из репозиториев Ubuntu:

sudo apt-get update

Далее установите Samba:

sudo apt-get install samba

Эта команда установит и запустит сервер Sambasmbd и сервер Samba NetBIOSnmbd. nmbd не требуется для этого руководства, поэтому в интересах безопасности вы можете остановить и отключить его с помощьюsystemctl:

sudo systemctl stop nmbd.service
sudo systemctl disable nmbd.service

Командаsudo systemctl disable nmbd.service при запуске выдаст следующий вывод:

Outputnmbd.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install disable nmbd
insserv: warning: current start runlevel(s) (empty) of script `nmbd' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `nmbd' overrides LSB defaults (0 1 6).

В этих выходных данных сообщается, что, посколькуnmbd не имеет собственной конфигурации управленияsystemd, он отключается старой системой инициализации SysV.

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

sudo systemctl stop smbd.service

Samba установлена ​​и готова к настройке.

[[step-2 -—- setting-samba-39-s-global-options]] == Шаг 2. Настройка глобальных параметров Samba

Давайте определим, как будет вести себя сервер Samba, изменив его файл конфигурации, расположенный в/etc/samba/smb.conf. Этот файл состоит из двух частей: раздела[global] и раздела[shares]. Раздел[global] настраивает поведение сервера Samba, а разделы[shares] настраивают общие файловые ресурсы. Начнем с установки директив в разделе[global].

Вместо того, чтобы редактировать/etc/samba/smb.conf напрямую, переименуйте его вsmb.conf.original и создайте новый файл с именемsmb.conf:

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

Прежде чем редактировать/etc/samba/smb.conf, давайте проверим доступные интерфейсы, чтобы сообщить Samba, какие из них она должна распознавать. Введите следующее:

ip link
Output1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:21:2c:03:ef:e2 brd ff:ff:ff:ff:ff:ff

Эти выходные данные показывают, чтоlo - это интерфейс обратной связи, аeth0 - это внешний сетевой интерфейс, хотя ваш внешний интерфейс может отличаться. Обратите внимание на оба варианта: вы включите их с директивойinterfaces в раздел[global] файлаsmb.conf.

Начнем редактировать этот файл с помощьюnano или вашего любимого редактора:

sudo nano /etc/samba/smb.conf

Раздел[global] этого файла будет определять имя сервера, роль и другие детали, включая сетевые интерфейсы:

/etc/samba/smb.conf

[global]
        server string = samba_server
        server role = standalone server
        interfaces = lo your_network_interface
        bind interfaces only = yes
        disable netbios = yes
        smb ports = 445
        log file = /var/log/samba/smb.log
        max log size = 10000

Эти директивы определяют следующее:

  • server string - это идентифицирующая информация, которая будет предоставляться пользователям во время соединений. Вы можете использоватьsamba_server или другое имя, которое будет идентифицировать ваш сервер. В этом руководстве вы увидите строкуsamba.example.com для обозначения общего ресурса Samba для организацииExample.com.

  • server role - определяет, какой тип сервера Samba будет создан. В данном случае этоstandalone server, т.е. общий файловый ресурс. Другие типы серверов включают рядовые серверы домена и контроллеры домена.

  • interfaces - это сетевые интерфейсы, к которым будет привязана Samba. lo - это интерфейс обратной петли (127.0.0.1), который требуется. Вам также нужно будет включить внешний сетевой интерфейс, который вы вывели ранее. Обычно этоeth0.

  • bind interfaces only - это гарантирует, что Samba привязывается только к интерфейсам, перечисленным в строкеinterfaces. В качестве меры безопасности это заставляет Samba игнорировать пакеты, не соответствующие указанномуinterfaces.

  • disable netbios - отключает все функции NetBIOS, которые не нужны на автономном сервере. Это упрощает процесс разрешения имен серверов и транспортировку трафика SMB.

  • smb ports - устанавливает порт, который Samba будет слушать. Порт445 - стандартный порт для Samba.

  • log file - устанавливает имя и расположение файла журнала Samba.

  • max log size - устанавливает ограничение на размер файла журнала. Число указано в байтах и ​​составляет 10 МБ. При установке этого ограничения размера следует помнить о некоторых вещах: по его достижении Samba сгенерирует новый файл журнала и переместит старое содержимое в дубликат с расширением.old. Если ограничение будет превышено снова, существующий файл.old будет уничтожен. Это предотвращает переполнение дискового пространства / пространства разделов содержимым одного файла журнала. Поэтому вы должны определить размер файла, который имеет смысл для ваших системных ресурсов.

Если вы хотите более подробное ведение журнала при настройке сервера, добавьте следующую строку в раздел[global]:

/etc/samba/smb.conf

        log level = 3 passdb:5 auth:5

Это устанавливает уровень журнала 3 (информация), увеличивая степень детализации информации журнала со значения по умолчанию 1. Более высокое значение 5 для классов отладкиpassdb иauth предоставляет больше информации, относящейся к аутентификации пользователя.

Сохраните и закройте файл, когда вы закончите создание этого раздела.

Всякий раз, когда вы редактируетеsmb.conf, вам следует запускать утилиту Sambatestparm, чтобы проверить отсутствие синтаксических ошибок:

testparm

Выполнение командыtestparm для файлаsmb.conf дает следующий результат:

OutputLoad smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

НажатиеENTER дает следующий результат:

Output# Global parameters
[global]
        server string = samba_server
        interfaces = lo your_network_interface
        bind interfaces only = Yes
        server role = standalone server
        log file = /var/log/samba/smb.log
        max log size = 10000
        smb ports = 445
        disable netbios = Yes
        idmap config * : backend = tdb

Еслиtestparm сообщаетLoaded services file OK., то нет синтаксических ошибок, которые могли бы остановить запуск сервера Samba.

Настройка раздела[global] - это все, что требуется для запуска сервера Samba. Однако его функциональность будет ограничена без использования общих настроек. Общий ресурс состоит из двух частей: пользователя и каталога, которые необходимо создать и настроить для входа в систему и тестирования. В следующем разделе объясняется, как создавать пользователей, которые могут получить доступ к общим ресурсам.

[[step-3 -—- Creating-users]] == Шаг 3 - Создание пользователей

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

В гипотетической компанииExample.com есть четыре сотрудника, которых нужно добавить на сервер Samba и создать в качестве пользователей в системе Linux:david,mike,jane и lucy. В дополнение к этим четырем, будет пользовательadmin, который будет иметь доступ и управлять личными общими папками. Этому пользователю также будут принадлежать общие акции, к которым имеет доступ каждый.

Первым шагом к добавлению системных пользователей является создание домашних каталогов для каждого из них. Вместо использования стандартных домашних каталогов в/home/user, каталоги и данные Samba будут расположены в/samba/. Хранение данных Samba в одном месте и отдельно от других пользовательских данных облегчит будущие задачи управления, такие как резервное копирование.

[.note] #Note: Пользователи, созданные в этом руководстве, не предназначены для входа по SSH. Если у ваших пользователей уже есть учетные записи на сервере, вам следует создать для них специального пользователя Samba, чтобы следовать этому руководству.
#

В следующем разделе будет объяснен процесс добавления первого пользователяdavid, но вам нужно будет повторить этот процесс дляmike,jane иlucy.

Первый шаг - создать каталог, в котором будут храниться данные Samba, в корне файловой системы. Этот каталог будет называться/samba/, а его групповое владение будет установлено наsambashare, группу, которая была создана при установке Samba.

Выполните следующие команды, чтобы создать каталог/samba/ и установить принадлежность группы кsambashare:

sudo mkdir /samba/
sudo chown :sambashare /samba/

Затем создайте домашний каталогdavid в каталоге/samba/:

sudo mkdir /samba/david

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

sudo adduser --home /samba/david --no-create-home --shell /usr/sbin/nologin --ingroup sambashare david

Опции делают следующее:

  • --home - устанавливает расположение домашнего каталога пользователя.

  • --no-create-home - останавливает командуadduser от создания домашнего каталогаdavid. Если бы система создала этот каталог, он был бы заполнен файлами конфигурации, такими как.bash_history, которые не нужны для текущей настройки.

  • --shell - устанавливает, какая оболочкаdavid будет выделена при входе в систему по SSH. Для доступа к общему ресурсу Samba вход по SSH не требуется; установка этого значения на/usr/sbin/nologin отключит вход по SSH.

  • --in-group sambashare - это добавляет пользователя в группуsambashare, предоставляя ему доступ для чтения и записи к своим собственным общим ресурсам и к общему ресурсу.

При запуске этой команды вам будет предложено ввести пароль. Выберите уникальный пароль, не основанный на словаре, длиной 10 или более символов.

Теперь, когда существует системный пользовательdavid, вы можете установить владельца и разрешения для его домашнего каталога Samba:

sudo chown david:sambashare /samba/david/
sudo chmod 2770 /samba/david/

Установка разрешений для каталога на2770 означает, что новые файлы или каталоги, созданные в/samba/david/, унаследуют групповое владение родительским каталогом, а не основной группой пользователя, создавшего файл или каталог. Это означает, например, что если пользовательadmin создаст новый каталог в общей папкеdavid,david сможет читать и записывать в него.

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

sudo smbpasswd -a david
sudo smbpasswd -e david

Используемые здесь параметры делают следующее:

  • -a - добавляет пользователя на сервер Samba, не активируя его.

  • -e - включает ранее добавленного пользователя.

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

Пользовательdavid теперь существует как системный пользователь без возможности подключения к серверу по SSH. У него есть домашний каталог в/samba/david, он зарегистрирован и включен как пользователь Samba.

Повторите этот процесс для каждого пользователя Samba (mike,jane иlucy).

Чтобы создать пользователяadmin, выполните следующие команды, изменив домашний каталог на/samba/everyone/:

sudo mkdir /samba/everyone
sudo adduser --home /samba/everyone --no-create-home --shell /usr/sbin/nologin --ingroup sambashare admin
sudo chown admin:sambashare /samba/everyone/
sudo chmod 2770 /samba/everyone/
sudo smbpasswd -a admin
sudo smbpasswd -e admin

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

Выполните следующие команды, чтобы создать новую группу с именемadmins и добавить пользователяadmin в эту группу:

sudo groupadd admins
sudo usermod -G admins admin

Дополнительные пользователи могут быть добавлены в группуadmins, выполнив вторую команду,sudo usermod -G admins admin, и подставив другого пользователя вместоadmin.

На этом настройка системы завершена, пользователи организацииExample.com установлены как пользователи системы и Samba. Перейдем к настройке сервера Samba, чтобы эти пользователи могли получить доступ к своим общим папкам.

[[step-4 -—- configuring-the-samba-share]] == Шаг 4. Настройка общих ресурсов Samba

У каждой общей папки будет свой раздел в основном файле конфигурации Samba,/etc/samba/smb.conf, после глобальных параметров. Эти разделы будут определять, как будет работать каждый ресурс.

Снова воспользуйтесь текстовым редакторомnano, чтобы открыть и отредактировать этот файл:

sudo nano /etc/samba/smb.conf

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

/etc/samba/smb.conf

...
[share_name]
        path =
        browseable =
        read only =
        force create mode =
        force directory mode =
        valid users =

Эти параметры включают в себя:

  • share_name - это имя общего ресурса, который вы будете использовать при входе в систему.

  • path - это абсолютный путь к общему ресурсу в файловой системе.

  • browsable - устанавливает, могут ли другие пользователи видеть общий ресурс. Включение этой опции позволяет только другим пользователям сервера Samba видеть существование общего ресурса. Он не предоставляет никаких разрешений на чтение или запись.

  • read only - устанавливает, могут лиvalid users писать в общий ресурс.

  • force create mode - принудительно устанавливает разрешения для любого файла, записанного в общий ресурс.

  • force directory mode - принудительно устанавливает разрешения для любого каталога, созданного в общей папке.

  • valid users - это список пользователей, у которых есть доступ к общему ресурсу. Этот параметр может принимать имена пользователей или системные группы, такие какadmins. Группы должны быть перечислены с@ впереди, например. @admins.

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

/etc/samba/smb.conf

[david]
        path = /samba/david
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = david @admins

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

Создайте общий блок дляmike,jane иlucy. Измените только доли[name],path иvalid users, чтобы они отражали имена каждого пользователя.

Доля[everyone] будет отличаться от других как в[name], так и вpath,valid users иbrowsable, и будет выглядеть следующим образом:

/etc/samba/smb.conf

...
[everyone]
        path = /samba/everyone
        browseable = yes
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = @sambashare @admins

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

Полный файлsmb.conf будет выглядеть так:

/etc/samba/smb.conf

[global]
        server string = samba_server
        server role = standalone server
        interfaces = lo your_network_interface
        bind interfaces only = yes
        disable netbios = yes
        smb ports = 445
        log file = /var/log/samba/smb.log
        max log size = 10000

[david]
        path = /samba/david
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = david @admins

[mike]
        path = /samba/mike
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = mike @admins

[jane]
        path = /samba/jane
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = jane @admins

[lucy]
        path = /samba/lucy
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = lucy @admins

[everyone]
        path = /samba/everyone
        browseable = yes
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = @sambashare @admins

Сохраните и закройте файл, когда вы закончите редактирование.

Протестируйте конфигурацию снова:

testparm

Это даст вывод, который выглядит следующим образом:

OutputLoad smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[david]"
Processing section "[jane]"
Processing section "[mike]"
Processing section "[lucy]"
Processing section "[everyone]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

После завершения проверки конфигурации давайте запустим сервер Samba сsystemctl:

sudo systemctl start smbd.service

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

[[step-5 -—- logging-into-the-samba-server]] == Шаг 5 - Вход на сервер Samba

В этом разделе мы рассмотрим, как получить доступ к общим ресурсам Samba, которые мы создали из Linux, Windows и macOS.

[[linux -—- the-command-line]] === Linux - Командная строка

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

На серверах Debian и Ubuntu установитеsmbclient с помощью следующей команды:

sudo apt-get update
sudo apt-get install smbclient

В системах Fedora используйте следующее:

sudo dnf update
sudo samba-client

И на CentOS:

sudo yum update
sudo yum install samba-client

[.Примечание]##

Note: В некоторых дистрибутивах Linuxsmbclient выдает следующее сообщение об ошибке:

Outputsmbclient: Can't load /etc/samba/smb.conf - run testparm to debug it

Если вы видите это сообщение об ошибке, убедитесь, что вы создали файл в/etc/samba/smb.conf.

smbclient использует следующий формат для доступа к общим папкам Samba:

smbclient //your_samba_hostname_or_server_ip/share -U username

Вы можете использовать IP-адрес вашего сервера или имя хоста, указанное в/etc/samba/smb.conf, для доступа к общему ресурсу. В этом примере имя хостаsamba.example.com используется для доступа к общему ресурсуdavid на сервере Samba, который вы создали на предыдущих шагах:

smbclient //samba.example.com/david -U david

Еслиdavid хочет получить доступ к общей папке (everyone), измените команду на:

smbclient //samba.example.com/everyone -U david

После выполнения командыsmbclient вам будет предложено ввести пароль Samba и вы войдете в интерфейс командной строки, напоминающий текстовый интерфейс FTP:

smb: \>

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

mkdir test
ls

Вы должны увидеть следующий вывод:

Output  .                                   D        0  Fri Feb  2 14:49:01 2018
  ..                                  D        0  Wed Jan 24 12:11:33 2018
  test                                D        0  Fri Feb  2 14:49:01 2018

Удалите каталог, набрав:

rmdir test

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

[[linux -—- kde-with-dolphin]] === Linux - KDE с Dolphin

Dolphin является файловым менеджером по умолчанию в KDE и имеет встроенную функциональность для доступа к общим ресурсам Samba.

После открытия Dolphin выполните следующие действия:

  1. ВыберитеNetwork из спискаPlaces.

  2. ЩелкнитеAdd Network Folder. Image showing Network highlighted in the Places list

  3. Выберите вариантMicrosoft Windows network drive.

  4. НажмитеNext

  5. Введите данные для общего ресурса Samba:

    • Name - это запоминающееся имя, которое будет отображаться в качестве закладки в Dolphin для общего ресурса.

    • Server - это имя хоста или IP-адрес сервера Samba. В этом примере это будетsamba.example.com.

    • Folder - это имя доли, которая была установлена ​​вsmb.conf.

  6. ЩелкнитеSave & Connect.

  7. Введите имя пользователя и пароль для пользователя, к которому вы хотите получить доступ к общему ресурсу Samba.

  8. ЩелкнитеOK.

Dolphin подключится и откроет общий ресурс Samba, который будет выглядеть следующим образом:

Image showing Dolphin connected to a Samba share

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

[[macos -—- the-command-line]] === MacOS - Командная строка

MacOS поставляется с предварительно установленными инструментами командной строки, которые можно использовать для доступа к общему ресурсу Samba. Откройте терминал с помощью Launchpad, щелкнув значокTerminal.

Это откроет терминал командной строки в вашем домашнем каталоге. Чтобы смонтировать общий ресурс Samba, вы можете создать новый каталог, который будет действовать как точка монтирования общего ресурса. Точка монтирования - это место, где объединяются две файловые системы: в данном случае ваша локальная файловая система и удаленная файловая система Samba.

Создайте новый каталог с именемsamba:

mkdir samba

Затем смонтируйте общий ресурс Samba в новом каталогеsamba. Эта команда имеет вид:

sudo mount_smbfs //username@your_samba_hostname_or_server_ip/share ./mount_point

Замена деталей изExample.com на пользователяdavid выглядит так:

sudo mount_smbfs //[email protected]/david ./samba

В каталогеsamba теперь будет отображаться содержимое общего ресурсаdavid на сервере SambaExample.com. Файлы и каталоги можно манипулировать с помощью обычных инструментов, таких какls,rm иmkdir; однако каталогsamba будет принадлежать пользователю root после монтирования общего ресурса. Поэтому вам нужно будет использоватьsudo для доступа к каталогуsamba и его содержимому.

Чтобы отключить общий ресурс Samba, запустите командуumount из того же каталога, в котором вы запустили командуmkdir:

umount samba

В следующем разделе мы рассмотрим доступ к общему ресурсу Samba с помощью приложения GUI для настольных компьютеров в macOS.

[[macos -—- рабочий стол]] === MacOS - Рабочий стол

MacOS также может получить доступ к общим ресурсам Samba с помощью приложения Finder.

Сделайте следующие шаги:

  1. ОткройтеFinder и щелкнитеGo в строке меню.

  2. ЩелкнитеConnect to Server в списке параметров.

  3. Используйте URL-адрес в форматеsmb://, который включает ваше имя пользователя, ваше имя хоста или IP-адрес сервера и имя вашего общего ресурса:smb://username@your_samba_hostname_or_server_ip/share. В показанном здесь примере вы увидите имя пользователяdavid и имя хостаsamba.example.com.

  4. Добавьте в закладки общий ресурс Samba, нажав кнопку с символом+.

  5. НажмитеConnectImage showing samba share connection details

  6. ВыберитеRegistered User

  7. Введите имя пользователя и пароль для общего пользователя Samba.

  8. Решите, хотите ли вы, чтобы macOS сохранял пароль.

  9. ЩелкнитеConnect.

После успешного подключения к общему ресурсу Samba он появится в Finder, как показано здесь:

Image showing contents of connected share

В следующем разделе будет рассказано, как получить доступ к общим ресурсам Samba из Windows 10.

[[windows-10 -—- the-command-line]] === Windows 10 - Командная строка

Для монтирования общего ресурса Samba из командной строки Windows требуется только одна команда:

net use drive_letter \\your_samba_hostname_or_server_ip\share

Подставьте переменные из общего ресурса пользователяdavid и задайте букву дискаX::

net use X: \\samba.example.com\david

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

OutputEnter the user name for 'samba.example.com': david
Enter the password for samba.example.com:
The command completed successfully.

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

В следующем разделе мы рассмотрим использование инструментов Windows GUI для доступа к общему ресурсу Samba.

[[windows-10 -—- рабочий стол]] === Windows 10 - Рабочий стол

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

  1. Щелкните правой кнопкой мышиThis PC.

  2. ЩелкнитеAdd a network location, а затемNext на следующей странице. Image showing the context menu for This PC

  3. ЩелкнитеChoose a custom network location.

  4. НажмитеNext

  5. Введите адрес в стиле Windows сервера Samba и имя общего ресурса. Windows использует следующую форму URL-адреса Samba:\your_samba_hostname_or_server_ip\share\. В примере изображения имя сервераsamba.example.com, а имя общего ресурсаdavid:\samba.example.com\david.

  6. ЩелкнитеNext.

  7. Введите имя пользователя и пароль для пользователя.

  8. Решите, хотите ли вы, чтобы Windows запоминала пароль.

  9. ЩелкнитеOK.

Проводник теперь подключится к общему ресурсу Samba. После успешного завершения подключения новое местоположение будет создано вThis PC в проводнике:

Image showing Samba share under This PC

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

Заключение

В этой статье вы создали кросс-платформенные общие файловые ресурсы с помощью сервера Samba. Вы также получили доступ к этим ресурсам из Windows, Linux и macOS.

Общие ресурсы Samba стали настолько распространенными, что многие приложения могут получить доступ к данным, хранящимся в них. Эти приложения могут расширить функциональность и полезность ваших общих ресурсов Samba. Например, мобильная версия медиаплеераVLC может подключаться и транслировать музыку и видео с вашего общего ресурса Samba. Чтобы получить к нему доступ, выберитеopen MRL и используйте стандартный URL Samba:smb://username@your_samba_hostname_or_server_ip/share. Вы также можете использовать общий ресурс Samba в качестве места назначения для ваших резервных копий с помощью межплатформенной утилиты резервного копированияBackupPC.

Помимо того, что Samba выступает в роли простого общего файлового ресурса, она может работать с Windows Active Directory либо как контроллер домена, либо как член домена. Samba WikiUser Documentation содержит дополнительную информацию о том, как это сделать.

Related