Создание домашней сети с помощью Samba для устройств под управлением ОС Windows, Linux, Android. Файловый сервер Samba Samba команды
Реализация сетевых протоколов Server Message Block (SMB) и Common Internet File System (CIFS) . Основное предназначение - расшаривание файлов и принтеров между Linux и Windows системами.
Samba состоит из нескольких демонов, работающих в фоновом режиме и предоставляющих сервисы и ряд инструментов командной строки для взаимодействия со службами Windows:
- smbd - демон, являющийся SMB-сервером файловых служб и служб печати;
- nmbd - демон, предоставляющий службы имен NetBIOS;
- smblient - утилита предоставляет доступ из командной строки к ресурсам SMB. Она также позволяет получить списки общих ресурсов на удаленных серверах и просматривать сетевое окружение;
- smb.conf - конфигурационный файл, содержащий настройки для всех инструментов Samba;
Список портов, используемых Samba
- share - этот режим безопасности эмулирует метод аутентификации, используемый операционными системами Windows 9x/Windows Me. В этом режиме имена пользователей игнорируются, а пароли назначаются общим ресурсам. В этом режиме Samba пытается использовать предоставленный клиентом пароль, которым могут пользоваться разные пользователи.
- user * - этот режим безопасности установлен по умолчанию и использует для аутентификации имя пользователя и пароль, как это обычно делается в Linux. В большинстве случаев в современных операционных системах пароли хранятся в зашифрованной базе данных, которую использует только Samba.
- server - этот режим безопасности используется тогда, когда необходимо, чтобы Samba выполняла аутентификацию, обращаясь к другому серверу. Для клиентов этот режим выглядит так же, как аутентификация на уровне пользователя (режим user), но фактически для выполнения аутентификации Samba обращается к серверу, указанному в параметре password server.
- domain - используя этот режим безопасности, вы можете полностью присоединиться к домену Windows; для клиентов это выглядит так же, как аутентификация на уровне пользователя. В отличие от аутентификации на уровне сервера, доменная аутентификация использует более защищенный обмен паролями на уровне домена. Для полного присоединения к домену требуется выполнить дополнительные команды в системе Samba и, возможно, на контроллере домена.
- ads - этот режим безопасности похож на метод аутентификации в домене, но требует наличия контроллера домена Active Directory Domain Services.
Полный список параметров Samba есть в manpages .
Выше был приведен пример с доступом для директории с общим доступом. Рассмотрим еще пример с приватной директорией, к которой доступ только по логину и паролю.
Создадим группу и добавим в нее пользователя
Sudo groupadd smbgrp sudo usermod -a -G smbgrp proft
Создадим директорию для пользователя и установим права
Sudo mkdir -p /srv/samba/proft sudo chown -R proft:smbgrp /srv/samba/proft sudo chmod -R 0770 /srv/samba/proft
Создадим samba-пользователя
Sudo smbpasswd -a proft
Добавим в /etc/samba/smb.conf новый ресурс
Path = /srv/samba/proft valid users = @smbgrp guest ok = no writable = yes browsable = yes
Перезапустим сервер
Sudo systemctl restart smbd
Пример настройки ресурса в котором есть симлинк на папку пользователя (/srv/samba/media/video » /home/proft/video )
Path = /srv/samba/media guest ok = yes read only = yes browsable = yes force user = proft
Настройка клиента
Просмотр общих ресурсов компьютера
Smbclient -L 192.168.24.101 -U%
Еще один способ подключения для анонимного пользователя с командной строкой
Smbclient -U nobody //192.168.24.101/public ls
Если на сервере настроен более высокий уровень безопасности, то может потребоваться передать имя пользователя или домена с помощью параметров -W и -U соответственно.
Smbclient -L 192.168.24.101 -U proft -W WORKGROUP
Монтирование samba-ресурса
# создание точки монтирования mkdir -p ~/shares/public # монтирование ресурса # для анонимного пользователя nobody mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=nobody,password=,workgroup=WORKGROUP,ip=192.168.24.101,utf8 # для пользователя proft mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,password=1,workgroup=WORKGROUP,ip=192.168.24.101,utf8
Еще лучше пароли хранить в отдельном файле
# sudo vim /etc/samba/sambacreds username=proft password=1 username=noboy password=
Выставим права доступа 0600
Sudo chmod 0600 /etc/samba/sambacreds
Новая строка для монтирования
Mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101
И пример для /etc/fstab
//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0
Открыть ресурс в файловом менеджере Nautilus/Nemo/etc можно по такому пути smb://192.268.24.101 .
Если Nemo пишет Nemo cannot handle "smb" locations. значит не хватает пакета gvfs-smb .
Доступ к серверу с Windows и Android клиента
Под Windows узнать рабочую группу с консоли можно с помощью
Net config workstation
Открыть ресурсы на удаленной машине можно набрав в строке Explorer (Проводник) или в Run (Start - Run) UNC-адрес: \192.168.24.101 .
Под Android подключится к серверу можно с помощью ES File Explorer , на вкладке Network добавляем сервер, просто по IP (без указания схемы, smb). После чего можно открывать расшаренные ресурсы. Для статистики: HDRIP-фильм идет без подтормаживания.
Дополнительное чтиво
Основной файл настройки Samba - /etc/samba/smb.conf. Изначальный файл конфигурации имеет значительное количество комментариев для документирования различных директив настройки.
Не все возможные опции включены в файле настроек по умолчанию. Смотрите руководство man smb.conf или Сборник ЧаВо по Samba для уточнения деталей.
1. Сначала измените следующие пары ключ/значение в секции файла /etc/samba/smb.conf:
Workgroup = EXAMPLE ... security = user
Параметр security находится значительно ниже в секции и по умолчанию закомментирован. Также замените EXAMPLE на что-то более соответствующее вашему окружению.
2. Создайте новую секцию в конце файла или раскомментируйте один из примеров для каталога, который нужно настроить на общий доступ:
Comment = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0755
comment : короткое описание разделяемого ресурса. Используется для вашего удобства.
path : путь до разделяемого каталога.
Этот пример использует /srv/samba/sharename поскольку, в соответствии со стандартом иерархии файловых систем (FHS), каталог /srv - это место, где должны находится все данные, относящиеся к данному сайту. Технически разделяемый ресурс Samba может быть размещен в любом месте файловой системы, где позволяют файловые ограничения доступа, но следование стандартам рекомендуется.
browsable : позволяет клиентам Windows просматривать содержимое разделяемого каталога с помощью проводника Windows.
guest ok : позволяет клиентам подключаться к разделяемому ресурсу без указания пароля.
read only : определяет доступность ресурса только на чтение или с привилегиями на запись. Привилегии на запись доступны только при указании no , как показано в данном примере. Если значение yes , то доступ к ресурсу будет только на чтение.
create mask : определяет какие права доступа будут установлены для создаваемых новых файлов.
3. Теперь, поскольку Samba настроена, требуется создать каталог и установить на него права доступа. Введите в терминале:
Sudo mkdir -p /srv/samba/share sudo chown nobody.nogroup /srv/samba/share/
параметр -p говорит mkdir создать полное дерево каталога, если оно не существует.
4. Наконец, перезапустите сервисы samba для применения новых настроек:
Sudo restart smbd sudo restart nmbd
Теперь вы можете находить Ubuntu файл сервер с помощью клиента Windows и просматривать его разделяемые каталоги. Если ваш клиент не показывает ваши разделяемые ресурсы автоматически, попробуйте обратиться к вашему серверу по его IP адресу, например, \\192.168.1.1, из окна проводника Windows. Для проверки, что все работает, попробуйте создать каталог внутри вашего разделяемого ресурса из Windows.
Для создания дополнительных разделяемых ресурсов создайте новую секцию в /etc/samba/smb.conf и перезапустите Samba. Просто убедитесь, что разделяемый каталог создан и у него корректные права доступа.
Разделяемый ресурс "" и путь /srv/samba/share - это просто примеры. Установите название ресурса и имя каталога в соответствии с вашим окружением. Хорошей идеей является использование в качестве названия ресурса имени его каталога в файловой системе. Другими словами ресурс можно указать как для каталога /srv/samba/qa.
Н а этом уроке мы собираемся узнать, как установить и настроить сервер Samba на Ubuntu 16.04. Samba является свободным и с открытым исходным кодом реализацией протокола SMB/CIFS для Unix и Linux, что позволяет взаимодействовать между файлами и принтерами в Unix/ и Windows, на машинах в локальной сети.
Samba представляет собой пакет программ, наиболее важными из которых два являются:
- smbd : обеспечивает SMB / CIFS обслуживание (общий доступ к файлам и печати), а также может выступать в качестве контроллера домена Windows.
- nmbd : обеспечивает сервис имен NetBIOS
Как установить Samba-сервер на Ubuntu 16.04
Samba входит в состав большинства дистрибутивов Linux. Чтобы установить Samba на , просто запустите:
Sudo apt install samba
Последняя стабильная версия доступна 4.5.3, выпущена 19 декабря 2016 г. Чтобы проверить версию Samba , запустите
Sudo smbstatus
Sudo smbd --version
Пример вывода:
Samba version 4.3.11-Ubuntu
Для того, чтобы проверить, запущена ли служба Samba, выполните следующие команды.
Systemctl status smbd systemctl status nmbd
Для запуска этих двух служб, выполните следующие команды:
Sudo systemctl start smbd sudo systemctl start nmbd
После запуска, smbd будет слушать на порту 139 и 445.
Редактирование файла конфигурации
Там только один конфигурационный файл, который необходимо отредактировать: /etc/samba/smb.conf .
Sudo nano /etc/samba/smb.conf
В разделе , убедитесь, что значение workgroup относиться к рабочей группе компьютеров Windows.
Workgroup = WORKGROUP
Прокрутите вниз к нижней части файла. (В текстовом редакторе nano, нажмите CTRL+W а затем CTRL+V .) Включите новый раздел, как показано ниже. Замените username на необходимое имя пользователя.
Comment = Home Public Folder path = /home/username/ writable = yes valid users = username
Home Share это имя папки, которое будет отображаться в сети Windows. Комментарием является описание общей папки. Следующие 3 строки указывают, что только указанный пользователь valid users имеет право доступа к каталогу /home/username/ , который также доступен для записи. Вышеуказанная конфигурация отключит анонимный доступ.
Сохраните и закройте файл, а затем выполните следующую команду, чтобы проверить, если есть синтаксические ошибки.
Testparm
Создание пользователя
Samba содержит по умолчанию user в качестве режима защиты, означает, что клиенты должны ввести имя пользователя и пароль для доступа к общей папке. Чтобы добавить пользователя в Ubuntu, выполните следующую команду:
Sudo adduser username
Вам будет предложено установить пароль Unix. Кроме того, необходимо установить отдельный Samba пароль для пользователя с помощью следующей команды:
Sudo smbpasswd -a username
Теперь все, что осталось сделать, это перезапустить демон smbd.
Sudo systemctl restart smbd
Доступ Samba к общей папки из Windows
На компьютере Windows, который находится в той же сети, откройте проводник и нажмите Сеть на левой панели. Вы увидите сервер самбы. Дважды щелкните общую папку и введите имя пользователя и пароль.
Доступ Samba к ресурсу папке с компьютера Ubuntu
В диспетчере файлов, перейдите на вкладку Сеть на левой панели и выберите Сеть Windows.
Выберите рабочую группу, сервер Samba и общую папку, а затем введите имя пользователя и пароль Samba.
Добавление нескольких пользователей или групп
Если нескольким учетным записям необходимо получение доступа к общей папке, то необходимо изменить правомерных пользователей, как показано ниже в файле /etc/samba/smb.conf .
Valid users = user1, user2, user3
Также используйте smbpasswd для установки пароля Samba для каждого из этих пользователей.
Sudo smbpasswd -a user1 sudo smbpasswd -a user2 sudo smbpasswd -a user3
Для того, чтобы разрешить группе пользователей получить доступ к общей папке, используйте следующую конфигурацию /etc/samba/smb.conf .
Valid users = @sambashare
Создайте группу.
Sudo groupadd sambashare
Затем добавьте в эту группу пользователей
Sudo gpasswd -a user1 sambashare sudo gpasswd -a user2 sambashare sudo gpasswd -a user3 sambashare
Группа должна иметь разрешение на запись в общую папку, которая может быть достигнута при следующих двух команд.
Набор sambashare как владельца группы общей папки:
Sudo chgrp sambashare /path/to/shared/folder -R
Предоставить право на запись в группе.
Sudo chmod g+w /path/to/shared/folder/ -R
Я надеюсь, что эта статья помогла вам настроить сервер Samba на Ubuntu 16.04. Как всегда, если вы нашли этот пост полезным, то отпишитесь в комментариях.
В данной статье речь пойдет о создании беспроводной локальной сети для устройств под управлением различных операционных систем Windows, Linux, Android с помощью Samba.
В наше время практически в каждой квартире есть сеть Wi-Fi, а также имеется большое количество разнообразных устройств (ноутбуки, смартфоны, планшеты, Android TV Box). В связи с этим рано или поздно назревает необходимость объединить все доступные для использования устройства в одну домашнюю сеть, чтобы беспрепятственно получить доступ к всевозможным файлам с любого гаджета.
Собственно об этом и пойдет речь в настоящем опусе. Итак, приступим.
Для сетестроительства воспользуемся готовым решением под названием Samba. Это пакет бесплатных программ с открытым исходным кодом, позволяющих подключаться к сетевым дискам, принтерам и прочему оборудованию на различных операциионных системах по собственному протоколу SMB/CIFS.
Программное обеспечение состоит из двух частей - серверной и клиентской. На одно из устройств, которое по определению будет главным, установим Samba server, на все остальные Samba клиент.
Установка серверной части Samba
В своем случае для серверного устройства я выбрал ноутбук, на котором паралельно установлены Windows 7 и Ubuntu Mate 16.04. Ниже подробно рассмотрим процесс установки и настройки Samba для обеих операционных систем.
Настройка samba server под Linux
По умолчанию в Ubuntu - Samba не установлена, поэтому прежде чем двигаться дальше, необходимо это сделать. Как вариант, чтобы не редактировать впоследствии конфигурационный файл Samba через терминал, установим программу Gadmin-Samba, включающую в себя помимо серверных пакетов Samba и графический интерфейс.
Для установки набираем в терминале:
Sudo apt install gadmin-samba
По окончанию установки запускаем Gadmin Samba. Интерфейс приложения не руссифицирован, но разобраться в настройках достаточно просто.
Настроек в программе много, но по большему счету, в нашем случае нас интересует вкладка "users". Переходим в нее и добавляем нового пользователя.
Нажимаем кнопку "New user", в обновившемся окне вводим имя пользователя, придумываем пароль, добавляем в группу (чтобы "не выдумывать велосипед", указываем существующую, а именно "sambausers") и устанавливаем домашнюю директорию для файлов. После этого жмем "Apply".
HD Videobox - новый пользователь
Для применения изменений перезапускаем сервер, кнопка "deactivate" и "activate", соответственно, расположенные в верхнем левом углу окна приложения.
Не забываем, также, установить права доступа на "расшаренные" для совместного доступа папки. Это можно сделать, как через терминал, так и через графический интерфейс проводника файлов наутилус.
Nautilus - изменение прав доступа
Nautilus - разрешение на запись файлов
Настройка samba server под Windows
В случае с Windows все гораздо прозаичней, так как Samba используется в данной операционной системе по умолчанию.
В принципе можно воспользоваться существующей учетной записью или же включить гостевой доступ. Как вариант можно создать еще одну учетную запись, данные которой будут использоваться для сетевого доступа
Для создания новой учетной записи необходимо зайти в "панель управления", выбрать пункт "управление учетных записей пользователей" и создать новый аккаунт с паролем.
Добавление новой учетной записи
При создании нового пользователя необходимо будет выбрать тип учетной записи, придумать имя и пароль.
На последнем этапе необходимо будет установить права для просмотра изменения "расшаренных" папок. Сделать это можно в стандартном проводнике Windows через пункт контекстного меню "свойства", применительно к нужной вам папке.
"Расшаривание" папки
Добавление пользователя и изменение прав папки
После процедуры создания нового пользователя обязательно сделать перевход для текущего сеанса, чтобы изменения вступили в силу.
Установка клиентской части Samba на Android
Для доступа к серверу Samba и, соответственно сетевым дискам, на устройствах под управлением Android рекомендую использовать приложение Root Explorer (ссылка на скачивание полной версии без рекламы в конце статьи).
- Японские телефоны Новый японский смартфон
- Lenovo G500S: характеристики, основные особенности
- Определяем серию продукта видеокарт Nvidia Характеристики карты nvidia 9800 gt
- А конкуренты у смартфона есть
- Что такое расширение файла TRZ?
- Не работает динамик в "айфоне"
- В чем разница внешнего вида защитных стекол для смартфона?