Войти
Android, Windows, Apple, Ликбез. Социальные сети. Драйверы
  • Японские телефоны Новый японский смартфон
  • Lenovo G500S: характеристики, основные особенности
  • Определяем серию продукта видеокарт Nvidia Характеристики карты nvidia 9800 gt
  • А конкуренты у смартфона есть
  • Что такое расширение файла TRZ?
  • Не работает динамик в "айфоне"
  • Создание домашней сети с помощью Samba для устройств под управлением ОС Windows, Linux, Android. Файловый сервер Samba Samba команды

    Создание домашней сети с помощью 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-фильм идет без подтормаживания.

    Дополнительное чтиво

    Сейчас уже довольно часто в одной локальной сети можно встретить компьютеры под управлением Linux и Windows. Причины такого симбиоза могут быть разными: например, у владельцев интернет-кафе не хватило средств на приобретение лицензионной ОС для всех компьютеров, или системного администратора просто привлекли положительные стороны Linux. Популярность операционных систем от Microsoft во многом определятся клиентским ПО для Windows. Не секрет, что этот сектор программного обеспечения развит очень сильно. Множество фирм приложили к этому серьезные усилия и создали действительно хорошие, а главное, удобные в использовании программы, которые без труда может освоить даже рядовой пользователь. Зато в качестве сервера позиция Windows уже не так однозначна. Сервер под управлением Unix традиционно отличается надежностью, стабильностью в работе, безопасностью и зачастую меньшими требованиями к системным ресурсам. Но в любом случае, просто подключив компьютеры с разными программными платформами в сеть, мы не получим ожидаемого результата. Вся проблема в том, что у этих двух систем используются разные принципы организации сетевых ресурсов, несовместимые между собой.
    Так как милости Microsoft ждать не приходится, и Windows вряд ли научится работать с сетевой файловой системой Unix (NFS) стандартными средствами , а программ сторонних производителей, если честно, я не знаю, то наиболее популярным способом является попытка научить Unix «притворяться», будто бы он - Windows NT.

    Взаимодействие в сети компьютеров под управлением Windows построено на использовании протокола SMB (Server Message Block) - блоках серверных сообщений. Он обеспечивает выполнение всех необходимых в этих случаях задач по открытию и закрытию, чтению и записи, поиску файлов, созданию и удалению каталогов, постановке задания на печать и удалению его оттуда. Все необходимые для этого действия реализуются в Unix-подобных операционных системах посредством использования пакета SAMBA . Возможности его условно можно разделить на две категории: предоставление ресурсов (под коими понимается доступ к системе принтеров и файлам) для клиентов Windows и доступ к ресурсам клиентов. То есть, компьютер под управлением Linux может выступать как в роли сервера, так и клиента. Для начала рассмотрим вариант SAMBA-сервера.

    Что же должен обеспечить SAMBA для нормальной работы в сети Windows-машин? Во-первых, контроль доступа, который может быть реализован либо на уровне ресурсов (share level), когда какому-либо ресурсу в сети назначается пароль и соответствующие правила использования (например, «только для чтения»), при этом имя пользователя не имеет абсолютно никакого значения; либо же более совершенную и гибкую организацию на уровне пользователя, когда для каждого пользователя создается учетная запись , где помимо имени и пароля содержится вся необходимая информация о правах доступа к ресурсу. Прежде чем получить доступ к требуемому ресурсу, каждый пользователь проходит аутентификацию, после чего ему и предоставляются права согласно учетным записям. Во-вторых, необходима эмуляция прав доступа, определяемых файловой системой. Все дело в том, что у рассматриваемых систем права доступа к файлам и каталогам на диске организованы по-разному. В Unix традиционно существует три категории пользователей файлов: владелец (owner) , группа (group) и остальные (other) . Каждому из этих субъектов могут быть предоставлены права на чтение (read) , запись (write) и выполнение (execute) . В Windows NT система доступа несколько гибче, доступ предоставляется нескольким группам или пользователям, причем соответствующие права доступа определяются раздельно для каждого субъекта. Поэтому полноценно эмулировать средствами SAMBA права доступа, заложенные в NTFS, невозможно.

    С клиентами, работающими под управлением Windows 9x , дело обстоит иначе. Еще со времен дедушки ДОСа, по причине того, что система однопользовательская и о никаких пользователях и тем более группах и не могло быть речи, для файловой системы FAT определено всего четыре атрибута - только чтение (read only), системный (system), архивный (archive) и скрытый (hidden) . Плюс ко всему в Windows, в отличие от Unix, имеет особое значение расширение файла - те, что предназначены для выполнения, имеют расширения.exe, .com или.bat. При копировании файлов с Unix-машин на компьютеры под управлением Windows атрибуты устанавливаются так:

    только для чтения - чтение, запись для владельца;

    архивный - выполнение для владельца;

    системный - выполнение для группы;

    скрытый - выполнение для группы.

    Сеть Windows-машин может быть организована как рабочая группа (workgroup), когда компьютеры независимы друг от друга и на каждом имеется своя база паролей и логинов со своей политикой безопасности, а также как домен NT. Вся база для аутентификации пользователей и компьютеров управляется главным контролером домена (PDC, Primary Domain Controler) , т.е. централизовано. Samba позволяет ограничивать доступ на всех этих уровнях и выполняет функции «главного браузера» в контексте рабочей группы или контролера домена.

    С общеорганизационными вопросами разобрались. Давайте посмотрим теперь конкретно на реализацию и настройку SAMBA-сервера в Linux. Для работы Samba-сервера необходимо, чтобы были запущены два демона: smbd , обеспечивающий работу службы печати и разделения файлов для клиентов Samba (таких как Windows всех мастей), и nmbd , обеспечивающий работу службы имен NetBIOS (он может использоваться и для запроса других демонов служб имен). Для доступа к клиентам используется протокол TCP/IP . Как правило, Samba устанавливается вместе с дистрибутивом Linux . Как проверить? Просто дайте команду:

    и вы должны получить что-то вроде этого:

    Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

    Если его не окажется в стандартной поставке, то добро пожаловать на ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz или практически на любой сервер с программами для Linux. Пакет прост в установке, поэтому, чтобы не занимать места, будем считать, что он у вас установлен. Теперь давайте проверим, запущен ли демон:

    $ ps -aux | grep smbd root 1122 0.0 0.6 4440 380 ? S 16:36 0:00 smbd -D

    У меня уже, как видите, запущен. Если у вас нет, а вы хотите, чтобы он запускался при загрузке системы, то в Linux Mandrake, например, отметьте нужный пункт в DrakConf - стартовые сервисы или в Red Hat Сontrol-panel - Servise Configuration , обычно этого бывает достаточно. Или запускайте вручную: ./etc/rc.d/init.d/smb start. Единственный конфигурационный файл Samba называется smb.conf и обычно находится в каталоге /еtc (хотя в AltLinux, например, он лежит в каталоге /etc/samba). Сервис SAMBA считывает его каждые 60 секунд, поэтому изменения, внесенные в конфигурацию, вступают в силу без перезагрузки, но не распространяются на уже установленные соединения.

    Вот за что я люблю Linux, это за то, что конфигурационные файлы являются обычными текстовыми (к тому же хорошо комментированными внутри), и для того чтобы задействовать большинство параметров, достаточно только раскомментировать соответствующую строчку. Файл smb.conf - не исключение. Он состоит из именованных разделов, начинающихся с имени раздела, заключенного в квадратные скобки. Внутри каждого раздела находится ряд параметров в виде key=value. Файл конфигурации содержит четыре специальных раздела: , и отдельные ресурсы (shares). Как следует из названия, раздел содержит наиболее общие характеристики, которые будут применяться везде, но которые, впрочем, затем можно переопределить в секциях для отдельных ресурсов. Некоторые параметры этого раздела имеют отношение и к настройке клиентской части Samba.

    Значения типичных параметров секции global :

    Workgroup = имя_группы # название рабочей группы в сети Windows netbios name = имя сервера в сети server string = комментарий, который виден в окне свойств просмотра сети guest ok = yes # разрешение гостевого входа (guest ok = no - гостевой вход запрещен) guest account = nobody # имя, под которым разрешен гостевой вход в систему security = user # Уровень доступа. user - на уровне пользователя, security = share - аутентификация на основе имени и пароля. При хранении базы паролей на другом SMB-сервере используется значения security = server и password server = name_server_NT. В случае, если сервер является членом домена, используется значение security = domain, пароль для доступа указывается в файле, определенном с помощью опции smb passwd file = /path/to/file.

    Кроме того, при регистрации могут использоваться шифрованные (encrypted) и незашифрованные (plain-text) пароли . Последние используются в старых Windows (Windows for Workgroups, Windows 95 (OSR2), всех версиях Windows NT 3.x, Windows NT 4 (до Service Pack 3)). Для включения варианта использования шифрованного пароля используется опция encrypt password = yes. Прошу обратить особое внимание на эту опцию. В старых дистрибутивах Linux, которые создавались в эпоху Windows 95 (и с более старой версией Samba) по умолчанию шифрование паролей отключено, а samba до версии 2.0 данного режима вообще не поддерживает (кстати, эта опция и подобные ей - те, что не касаются доступа к конкретным ресурсам - используются и в клиенте).

    Для правильного отображения русских имен файлов нужны следующие опции: client code page = 866 и character set = koi8-r. В дистрибутивах с хорошей локализацией, например, производных от Mandrake и русских эта строка уже есть, иногда ее достаточно просто раскоментировать, но в большинстве других ее надо дописать самому.

    Опция interfaces = 192.168.0.1/24 указывает, в какой сети (интерфейсе) должна работать программа, если сервер подключен сразу к нескольким сетям. При установке параметра bind interfaces only = yes сервер будет отвечать на запросы только из этих сетей.

    hosts allow = 192.168.1. 192.168.2. 127. - определяет клиентов, для которых разрешен доступ к сервису.

    В секции global возможно использование различных переменных для более гибкой настройки работы сервера. После установки соединения вместо них подставляются реальные значения. Например, в директиве log file = /var/log/samba/%m.log, параметр %m помогает определить отдельный лог-файл для каждой клиентской машины. Вот наиболее употребительные переменные используемые в секции global:

    %a - архитектура ОС на клиентской машине (возможные значения - Win95, Win NT, UNKNOWN и т.д.);

    %m - NetBIOS-имя компьютера клиента;

    %L - NetBIOS-имя сервера SAMBA;

    %v - версия SAMBA;

    %I - IP-адрес компьютера клиента;

    %T - дата и время;

    %u - имя пользователя, работающего с сервисом;

    %H - домашняя директория пользователя %u.

    Также для более гибкой настройки применяется директива include, использующая приведенные выше переменные. Например: include = /etc/samba/smb.conf.%m - теперь при запросе с компьютера sales при наличии файла /etc/samba/smb.conf.sales конфигурация будет взята из этого файла. Если отдельного файла для какой-то машины не будет, то для работы с ней задействуется общий файл.

    # 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. Вам необходимо знать, как настроить Samba на Ubuntu Server , если вы желаете сделать из своего компьютера базу данных или файловое хранилище.

    Установка Samba на Ubuntu Server дает возможность создать базу данных.

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

    Для чего нужна?

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

    • Позволяет соединить друг с другом Unix-подобную систему, т. е. любую систему на Linux, и Windows. Причём не только Windows. Программа очень «всеядна»: MacOS , Solaris и другие ОС разной степени популярности.
    • Самба даёт возможность пользователям Виндовс использовать компьютеры на Ubuntu в качестве сервера. То есть пользоваться файлами, к которым налажен доступ, а также частью подключённых устройств.
    • Поддерживает доменную структуру NT Domain, управляет пользователями NT, поддерживает функции участника, первичного контроллера.

    Наверное, для многих главное из этого - связь с машинами на Windows. Они в этом случае выступают в качестве клиента, а компьютер на Ubuntu - в качестве сервера. С другой стороны, пользователь Ubuntu также может получить доступ к сетевым папкам Windows.


    Samba производится аж с 1992 года. И, что главное, новые версии выходят до сих пор. Последняя была выпущена седьмого марта 2017. С каждым годом разработчики стараются наладить совместимость большим количеством различных версий операционных систем, но главной фишкой остаётся соединение Linux-систем с Microsoft . В сравнении с Windows Server Samba может уступать ей из-за отсутствия поддержки части протоколов и инфраструктуры узлов. Однако многие утверждают, что скорость работы Самбы гораздо выше.

    Настраиваем Samba

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

    sudo apt-get install samba


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

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

    $ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

    $ sudo vi /etc/samba/smb.conf

    Либо редактируем существующий. В этом файле содержатся основные установки сервера Самбы. Чтобы разобраться, что мы будем делать дальше, нужно понимать, что означают различные строки.

    • Workgroup - рабочая группа. Значение этого параметра также часто будет Workgroup, поскольку в Виндовс домен рабочей группы по умолчанию выглядит именно так.
    • Netbios name - имя компьютера Ubuntu, которое видят пользователи Windows . Здесь можно вводить значение на своё усмотрение.
    • Security - режим авторизации пользователей. По умолчанию стоит User, то есть аутентификация на уровне пользователя. Пока что лучше так и оставить.
    • Os level - указывает приоритет, который имеет Samba над другими клиентами (ПК) в локальной или интернет-сети.
    • Name resolve order - очерёдность разрешения IP-адресов по NetBIOS имени.
    • Read only - привилегия чтения или записи каталога. Значение может быть «yes» - исключительно чтение, «no» - запись.

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

    Это простейшее действие, с которого можно начинать работу с Самбой.


    Добавляем пользователя в самой ОС:

    $ useradd -M -l -s /sbin/nologin username

    Создаём для него пароль:

    Занесём нашего пользователя в базу Samba:

    $ smbpasswd -a username


    При помощи команды $ smbpasswd можно выполнять другие различные действия:

    • $ smbpasswd username - смена пароля
    • $ smbpasswd -x username - удаление пользователя
    • $ smbpasswd -d username - бан пользователя

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

    $ systemctl restart smb

    Это базовые настройки Samba. Теперь можно попробовать применить программу на практике.

    Доступ к папке

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

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

    $ sudo mkdir -p /samba/access

    Теперь делаем для этой папки расширенный доступ, чтобы её мог открыть любой клиент нашей локальной сети:

    $ cd /samba
    $ sudo chmod -R 0755 access
    $ sudo chown -R nobody:nogroup access/

    Владельцем согласно коду является nobody.


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

    Workgroup = WORKGROUP
    server string = Samba Server %v
    netbios name = srvr1
    security = user
    map to guest = bad user
    name resolve order = bcast host
    dns proxy = no
    #==============
    И второй, содержащий данные о папке access:

    Path = /samba/access
    browsable =yes
    writable = yes
    guest ok = yes
    read only = no

    Следуют разделы друг за другом в таком же порядке.

    Обновляем изменения сервера:

    $ sudo service smbd restart

    Действия с компьютером на Windows

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

    1. Открываем командную строку. Желательно делать это с расширенными правами, т. е. от имени администратора.
    2. Выполняем команду:
    3. notepad C:\Windows\System32\drivers\etc\hosts
    4. Открывается файл, в котором вводим следующую строчку:
    5. 168.0.1 srvr1.domain.com srvr1
      Благодаря ей папка станет доступна.
    6. Открыть её можно при помощи строки «Выполнить». Жмём Win + R, вводим: После этого нам откроется папка.


    Закрытая папка

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

    Делаем папку с названием «Closed»:

    $ sudo mkdir -p /samba/allaccess/closed

    Делаем специальную группу, которая может иметь доступ к этой папке:

    $ sudo addgroup securedgroup

    Создаём особые права для разных групп:

    $ cd /samba/access
    $ sudo chown -R richard:securedgroup closed
    $ sudo chmod -R 0770 closed/

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

    Path = /samba/access/closed
    valid users = @securedgroup
    guest ok = no
    writable = yes
    browsable = yes

    Перезапускаем сервер.

    Как можно понять, мы сделали папку Closed внутри Access. Таким образом Access может открыть каждый пользователь локальной сети, но чтобы смотреть и редактировать Closed, нужно обладать особыми правами.

    Чтобы убедиться, что всё работает именно так, как мы это задали в командном файле , можно выполнить несколько простых действий.

    Основной файл настройки 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 (ссылка на скачивание полной версии без рекламы в конце статьи).