- Монтирование SMB/Samba
- Обнаружение SMB-шар
- Монтирование SMB
- Аутентификация на SMB-шаре
- Монтирование SMB-ресурсов через fstab
- Как установить и настроить Samba в Ubuntu 18.04
- Подготовка
- Установка Samba в Ubuntu
- Настройка межсетевого экрана
- Настройка глобальных параметров Samba
- Создание пользователей Samba и структуры каталогов
- Создание пользователей Samba
- Настройка общих ресурсов Samba
- Подключение к общему ресурсу Samba из Linux
- Использование клиента smbclient
- Монтирование общего ресурса Samba
- Использование графического интерфейса
- Подключение к общему ресурсу Samba из macOS
- Подключение к общему ресурсу Samba из Windows
- Выводы
Монтирование SMB/Samba
Чтобы обеспечить наилучшую совместимость для обмена файлами между различными ОС, Samba является распространенным решением. В Linux вы можете настроить сервер Samba для предоставления доступа клиентам, использующим протоколы Server Message Block (SMB) или Common Internet File System (CIFS) для доступа к этим общим ресурсам. Вы также можете настроить Linux в качестве клиента для серверов, предлагающих общие ресурсы SMB или CIFS, что позволяет серверам получать прямой доступ к общим ресурсам Windows. В этой статье вы узнаете, как смонтировать удаленную файловую систему SMB. Эта процедура может быть применена для монтирования SMB-совместимых общих ресурсов, которые предлагаются с любой платформы, поэтому она работает на общих ресурсах Windows и Linux.
Обнаружение SMB-шар
Перед тем как смонтировать общий ресурс SMB, убедитесь, что на клиентском компьютере установлены пакеты RPM cifs-utils и samba-client. Также вам необходимо добавить службу samba-client в конфигурацию брандмауэра на клиенте с помощью firewall-cmd —add-service samba-client —permanent; firewall-cmd —reload. После установки вы можете использовать команду smbclient -L для обнаружения доступных общих ресурсов SMB.
Команда smbclient запрашивает пароль текущего пользователя. Это связано с тем, что smbclient — это очень общая утилита, которая позволяет составлять список общих ресурсов, а также входить в общие ресурсы Samba на удаленных серверах и извлекать файлы с удаленного сервера. Однако для составления списка шар учетные данные не требуются. Итак, когда команда просит
пароль, вы можете просто нажать Enter. В качестве альтернативы вы можете использовать опцию -Uusername с smbclient для аутентификации с использованием действительной учетной записи пользователя Samba.
Вывод команды smbclient -L
]# smbclient -L 192.168.122.201
Enter root’s password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
——— —- ——-
data Disk Demo data directory
homedirs Disk LDAP user home directories
IPC$ IPC IPC Service (Samba Server Version
4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
——— ——-
IPA Samba Server Version 4.1.1
Workgroup Master
——— ——-
MYGROUP IPA
В спойлере вы можете увидеть, как утилита smbclient используется для обнаружения доступных общих ресурсов по IP-адресу 192.168.122.201. (Чтобы обойти возможные проблемы с разрешением имен, вместо имени используется IP-адрес хоста.) Затем команда запрашивает пароль текущего пользователя. Поскольку опция -L запрашивает только список доступных общих ресурсов и ничего больше, вы можете просто нажать Enter, чтобы проигнорировать этот вопрос. Далее отображается текущий домен или рабочая группа сервера Samba, а также доступные общие ресурсы.
В качестве альтернативы вы можете использовать команду net share -l. Эта команда перечисляет только общие ресурсы, доступные на сервере Samba, и не отображает дополнительную конфигурацию, которая отображается при использовании smbclient -L. Обратите внимание, что команда net share -l также выводит список общих принтеров, тогда как smblcient -L просто отображает общие каталоги. Команда net доступна в Linux для предоставления интерфейса командной строки, который более знаком администраторам Windows, которые хотят настроить общий доступ к файлам с сервера Linux.
Вывод результата команды net share -l
]# net share -l
Enter root’s password:
Anonymous login successful
Enumerating shared resources (exports) on remote server:
Share name Type Description
———- —- ————
sambashare Disk Sambashare
IPC$ IPC IPC Service (Samba Server Version 4.1.12)
textprinter Print textprinter
DummyPrinter Print DummyPrinter
Монтирование SMB
Чтобы смонтировать общий ресурс SMB, вы можете использовать команду mount. Вы можете использовать опцию -t cifs, чтобы указать, что монтируется на общий ресурс SMB, но без этой опции он также будет работать, потому что команда mount достаточно умна, чтобы самостоятельно определить, что это общий ресурс SMB, к которому вы хотите подключиться. Если на общем ресурсе разрешен гостевой доступ, вы можете указать опцию -o guest для аутентификации в качестве гостевого пользователя без пароля. Или же используйте параметр -o user = guest для той же цели.
Полная команда монтирования выглядит следующим образом:
mount -t cifs -o user=guest //192.168.122.200/data /mnt
Эта команда монтирует общий ресурс /data, который доступен на 192.168.122.200 в локальном каталоге /mnt. Обратите внимание, что вы сможете получить доступ к файлам в общем ресурсе, но не сможете записывать какие-либо файлы в общем ресурсе, потому что вы аутентифицированы как гостевой пользователь с ограниченными правами доступа к общему ресурсу.
Аутентификация на SMB-шаре
Выше вы прочитали, как подключить общий ресурс с учетными данными гостя. Если вы хотите что-то сделать с общим ресурсом, вы должны аутентифицироваться как действительный пользователь Samba. Это конкретная учетная запись пользователя, которая имеет учетные данные, необходимые для подключения к общему ресурсу Samba. (Обычный пользователь Linux не может этого сделать.) Для этого должен быть создан пользователь Samba.
Чтобы указать имя пользователя Samba, которое вы хотите использовать, вы можете добавить опцию -o username=someone:
mount -o username=sambauser1 //server/share /somewhere
Когда вы делаете это, команда mount запрашивает пароль. Ниже пример, как находить и монтировать общие ресурсы Samba.
1. Зайдите на сервер под рутом.
2. Введите yum install -y cifs-utils samba-client, чтобы установить необходимые пакеты RPM.
3. Введите smbclient -L 192.168.122.200, чтобы получить список доступных общих ресурсов на сервере.
4. Введите mount -t cifs -o guest //192.168.122.200/data /mnt, чтобы смонтировать общий ресурс /data в качестве гостя в каталоге /mnt.
5. Введите mount, чтобы убедиться, что монтирование прошло успешно.
Монтирование SMB-ресурсов через fstab
В качестве альтернативы указанию учетных данных в файле /etc/fstab напрямую, вы можете использовать файл учетных данных. При использовании файла учетных данных сам файл учетных данных содержит имя пользователя, пароль и (необязательно) домен, к которому вы хотите подключиться. При использовании файла учетных данных его необходимо обязательно защитить. Лучший путь
чтобы защитить его, поместите его в домашний каталог пользователя root, установите для владельцев значение root:root и установите права 600.
Содержимое файла creds может выглядеть так
Расположение файла учетных данных описано в man mount.cifs.
Чтобы использовать файл учетных данных при монтировании из командной строки, вы можете включить параметр -o credentials=filename, как показано ниже:
Чтобы сделать то же самое из файла /etc/fstab, в файл /etc/fstab необходимо включить следующую строку:
Новость отредактировал: yatakoi — 28-12-2020, 16:13
Причина: В статью добавлено монтирование SMB через fstab
Источник
Как установить и настроить Samba в Ubuntu 18.04
Samba — это бесплатная и открытая повторная реализация сетевого протокола обмена файлами SMB / CIFS, которая позволяет конечным пользователям получать доступ к файлам, принтерам и другим общим ресурсам.
В этом руководстве объясняется, как установить Samba в Ubuntu 18.04 и настроить его как автономный сервер для обеспечения обмена файлами между различными операционными системами по сети.
Мы создадим следующие общие ресурсы и пользователей Samba.
- sadmin — административный пользователь с правами чтения и записи для всех общих ресурсов.
- josh — Обычный пользователь со своим личным файловым хранилищем .
- users — этот общий ресурс будет доступен всем пользователям с разрешениями на чтение и запись.
- josh — этот общий ресурс будет доступен с разрешениями на чтение и запись только пользователям josh и sadmin.
Общие файловые ресурсы будут доступны со всех устройств в вашей сети. Позже в этом руководстве мы также предоставим подробные инструкции о том, как подключиться к серверу Samba из клиентов Linux, Windows и macOS.
Подготовка
Прежде чем продолжить, убедитесь, что вы вошли в систему Ubuntu 18.04 как пользователь с правами sudo .
Установка Samba в Ubuntu
Samba доступна в официальных репозиториях Ubuntu. Чтобы установить его в вашей системе Ubuntu, выполните следующие действия:
Начните с обновления индекса пакетов apt:
Установите пакет Samba с помощью следующей команды:
После завершения установки служба Samba запустится автоматически. Чтобы проверить, запущен ли сервер Samba, введите:
Результат должен выглядеть примерно так, как показано ниже, показывая, что служба Samba активна и работает:
На этом этапе Samba установлена и готова к настройке.
Настройка межсетевого экрана
Если в вашей системе Ubuntu запущен брандмауэр, вам необходимо разрешить входящие UDP-соединения на портах 137 и 138 и TCP-соединения на портах 139 и 445 .
Предполагая, что вы используете UFW для управления своим брандмауэром, вы можете открыть порты, включив профиль Samba:
Настройка глобальных параметров Samba
Прежде чем вносить изменения в файл конфигурации Samba, создайте резервную копию для использования в будущем:
Файл конфигурации по умолчанию, который поставляется с пакетом Samba, настроен для автономного сервера Samba. Откройте файл и убедитесь, что server role установлена на standalone server
По умолчанию Samba прослушивает все интерфейсы. Если вы хотите ограничить доступ к серверу Samba только из своей внутренней сети, раскомментируйте следующие две строки и укажите интерфейсы для привязки:
После этого запустите утилиту testparm чтобы проверить файл конфигурации Samba на наличие ошибок. Если нет синтаксических ошибок, вы увидите Loaded services file OK.
Наконец, перезапустите службы Samba с помощью:
Создание пользователей Samba и структуры каталогов
Для упрощения сопровождения и гибкости вместо использования стандартных домашних каталогов ( /home/user ) все каталоги и данные Samba будут расположены в каталоге /samba .
Чтобы создать каталог /samba введите:
Установите групповое владение sambashare . Эта группа создается во время установки Samba, позже мы добавим в эту группу всех пользователей Samba.
Samba использует систему разрешений пользователей и групп Linux, но имеет собственный механизм аутентификации, отличный от стандартной аутентификации Linux. Мы создадим пользователей, используя стандартный инструмент Linux useradd , а затем установим пароль пользователя с помощью утилиты smbpasswd .
Как мы упоминали во введении, мы создадим обычного пользователя, который будет иметь доступ к его личному файловому ресурсу, и одну административную учетную запись с доступом для чтения и записи ко всем общим папкам на сервере Samba.
Создание пользователей Samba
Чтобы создать нового пользователя с именем josh используйте следующую команду:
Параметры useradd имеют следующие значения:
- -M -не создавать домашний каталог пользователя. Мы создадим этот каталог вручную.
- -d /samba/josh — установить домашний каталог пользователя в /samba/josh .
- -s /usr/sbin/nologin — отключить доступ к оболочке для этого пользователя.
- -G sambashare — добавить пользователя в группу sambashare .
Создайте домашний каталог пользователя и установите владельца каталога на пользователя josh и группу sambashare :
Следующая команда добавит бит setgid в каталог /samba/josh чтобы вновь созданные файлы в этом каталоге унаследовали группу родительского каталога. Таким образом, независимо от того, какой пользователь создает новый файл, у файла будет владелец группы sambashare . Например, если вы не установите права доступа к каталогу на 2770 и пользователь sadmin создаст новый файл, пользователь josh не сможет читать / писать в этот файл.
Добавьте josh запись пользователя josh в базу данных Samba, установив пароль пользователя:
Вам будет предложено ввести и подтвердить пароль пользователя.
После того, как пароль установлен для запуска учетной записи Samba:
Чтобы создать другого пользователя, повторите тот же процесс, что и при создании пользователя josh .
Далее давайте создадим пользователя и группу sadmin . Все члены этой группы будут иметь права администратора. Позже, если вы захотите предоставить административные права другому пользователю, просто добавьте этого пользователя в группу sadmin .
Создайте пользователя с правами администратора, набрав:
Приведенная выше команда также создаст группу sadmin и добавит пользователя в группы sadmin и sambashare .
Установите пароль и включите пользователя:
Затем создайте общий каталог Users :
Установите владельца каталога на пользователя sadmin и группу sambashare :
Этот каталог будет доступен всем авторизованным пользователям. Следующая команда chmod предоставляет доступ для записи / чтения членам группы sambashare в sambashare /samba/users :
Настройка общих ресурсов Samba
Откройте файл конфигурации Samba и добавьте разделы:
Параметры имеют следующие значения:
- [users] и [josh] — имена [josh] ресурсов, которые вы будете использовать при входе в систему.
- path — Путь к общему ресурсу.
- browseable — должен ли общий ресурс отображаться в списке доступных общих ресурсов. Если установить значение « no другие пользователи не смогут видеть общий ресурс.
- read only — могут ли пользователи, указанные в списке valid users , писать в этот общий ресурс.
- force create mode — устанавливает разрешения для вновь созданных файлов в этом общем ресурсе.
- force directory mode — устанавливает разрешения для вновь созданных каталогов в этом общем ресурсе.
- valid users — список пользователей и групп, которым разрешен доступ к общему ресурсу. Группы имеют префикс @ .
Дополнительные сведения о доступных параметрах см. На странице документации файла конфигурации Samba .
После этого перезапустите службы Samba с помощью:
В следующих разделах мы покажем вам, как подключиться к общему ресурсу Samba из клиентов Linux, macOS и Windows.
Подключение к общему ресурсу Samba из Linux
Пользователи Linux могут получить доступ к общему ресурсу samba из командной строки, используя файловый менеджер или смонтировать общий ресурс Samba.
Использование клиента smbclient
smbclient — это инструмент, который позволяет вам получить доступ к Samba из командной строки. Пакет smbclient не установлен предварительно в большинстве дистрибутивов Linux, поэтому вам нужно будет установить его с помощью диспетчера пакетов распространения.
Чтобы установить smbclient в Ubuntu и Debian, запустите:
Чтобы установить smbclient в CentOS и Fedora, запустите:
Синтаксис для доступа к общему ресурсу Samba следующий:
Например, чтобы подключиться к josh ресурсу с именем josh на сервере Samba с IP-адресом 192.168.121.118 от имени пользователя josh вы должны запустить:
Вам будет предложено ввести пароль пользователя.
После ввода пароля вы войдете в интерфейс командной строки Samba.
Монтирование общего ресурса Samba
Чтобы смонтировать общий ресурс Samba в Linux, вам сначала нужно установить пакет cifs-utils .
В Ubuntu и Debian запустите:
В CentOS и Fedora запустите:
Затем создайте точку монтирования:
Подключите общий ресурс с помощью следующей команды:
Например, чтобы смонтировать общий ресурс с именем josh на сервере Samba с IP-адресом 192.168.121.118 от имени пользователя josh в точку монтирования /mnt/smbmount вы должны запустить:
Вам будет предложено ввести пароль пользователя.
Использование графического интерфейса
Files, файловый менеджер по умолчанию в Gnome имеет встроенную возможность доступа к общим ресурсам Samba.
- Откройте файлы и нажмите «Другие места» на боковой панели.
- В поле «Подключиться к серверу» введите адрес smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename .
- Нажмите «Подключиться», и появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Будут показаны файлы на сервере Samba.
Подключение к общему ресурсу Samba из macOS
В macOS вы можете получить доступ к общим ресурсам Samba либо из командной строки, либо с помощью стандартного файлового менеджера macOS Finder. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.
- Откройте «Finder», выберите «Перейти» и нажмите «Подключиться к».
- В поле «Подключиться к» введите адрес smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename .
- Нажмите «Подключиться», и появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Будут показаны файлы на сервере Samba.
Подключение к общему ресурсу Samba из Windows
Пользователи Windows также могут подключиться к общему ресурсу Samba как из командной строки, так и из графического интерфейса. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью проводника Windows.
- Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
- Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
- В поле «Интернет или сетевой адрес» введите адрес \samba_hostname_or_server_ipsharename Samba в следующем формате \samba_hostname_or_server_ipsharename .
- Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже:
- В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba.
- Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки подключения.
- Нажмите «Готово», и будут показаны файлы на сервере Samba.
Выводы
В этом руководстве вы узнали, как установить сервер Samba в Ubuntu 18.04 и создать различные типы общих и пользователей. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.
Источник