- Открываем общий доступ к папкам и файлам через Samba
- Установка и первоначальная настройка Samba
- Доступ без авторизации
- Доступ с авторизацией
- Samba настройка доступа по пользователю windows
- Быстрая и простая настройка samba
- Настройка сервера Samba – создание папок и установка доступа
- Настройка через терминал
- Настройки Windows
- Настройка серверной части Самба
- Создание общих папок
- Неизменяемые папки
- Папки с закрытым доступом
- Графический интерфейс System Config Samba
- Установка интерфейса
- Запуск
- Добавляем пользователей
- Настраиваем сервер
- Создаем папки
- Файловый менеджер Nautilus
- Установка
- Основные настройки
Открываем общий доступ к папкам и файлам через Samba
Установка и первоначальная настройка Samba
Установливаем samba через менеджер пакетов:
CentOS/RedHat
Debian/Ubuntu:
После установки открываем конфиг /etc/samba/smb.conf, и начинаем его править под свои нужды. В секции [Global] правим следующие параметры:
Если ваш компьютер является еще в добавок и маршрутизатором, и имеет более чем 1 сетевую карту, будет не лишним указать, какой из имеющихся интерфейсов слушать:
Указываем нужное имя рабочей группы. По умолчанию стоит WORKGROUP.
Проверяем, есть ли параметр security, если нет, то выставляем ему значение user.
Доступ без авторизации
Расшарим папку music по адресу /var/music для всех пользователей (авторизация не будет требоваться). Имя папки, с которым её будут видеть пользователи которые зашли на шару задается в квадратных скобках (в данном случае — Music).
В данную папку будет иметь доступ кто угодно, но не сможет записывать (загружать, заливать) и удалять файлы без авторизации. Для того, чтобы дать неавторизованному пользователю полный доступ для работы с файлами и папками, воспользуемся параметром force user . Данный параметр отвечает за то, под каким пользователем будут выполняться операции с файлами в данной директории — например, если мы создадим пользователя samba-guest, и выдадим ему полные права на данную папку, а в force user пропишем значение samba-guest, то дадим полный доступ к директории:
Доступ с авторизацией
Теперь перейдем к тому, чтобы разрешить доступ к папке только определенному пользователю — к примеру, пользователю crazysysadmin.
Samba как и большинство приложений Linux использует для своих нужд уже существующих пользователей системы, поэтому нужно использовать либо уже имеющуюся учетную запись, либо создать новую. Создать нового пользователя можно командой useradd:
Затем нужно добавить пользователя в Samba:
И активировать его:
Если нужно поменять пароль пользователю samba, то это можно сделать следующей командой:
Теперь сделаем доступ к шаре music только для чтения для неавторизованных пользователей, и полный доступ для пользователя crazysysadmin:
Как должно быть понятно из примера выше, то все отличие заключается в строчке admin users — туда задаются пользователи с правами полного доступа на директорию. Так же туда можно добавлять и целые группы из системы — для этого перед её именем нужно поставить символ @ — например @admins.
Если же нужно сделать так, чтобы никто кроме пользователя crazysysadmin не имел доступа к этому каталогу (даже на просмотр), то просто меняем параметр guest ok на no:
Samba настройка доступа по пользователю windows
Opening Windows to a Wider World. (слоган на www.samba.org)
Samba — реализация сетевых протоколов Server Message Block (SMB) и Common Internet File System (CIFS). Основное предназначение — расшаривание файлов и принтеров между Linux и Windows системами.
Samba состоит из нескольких демонов, работающих в фоновом режиме и предоставляющих сервисы и ряд инструментов командной строки для взаимодействия со службами Windows:
- smbd — демон, являющийся SMB-сервером файловых служб и служб печати;
- nmbd — демон, предоставляющий службы имен NetBIOS;
- smblient — утилита предоставляет доступ из командной строки к ресурсам SMB. Она также позволяет получить списки общих ресурсов на удаленных серверах и просматривать сетевое окружение;
- smb.conf — конфигурационный файл, содержащий настройки для всех инструментов Samba;
Список портов, используемых Samba
Порт | Протокол | Служба | Демон | Описание |
---|---|---|---|---|
137 | UDP | netbios-ns | nmbd | служба имен NetBIOS |
138 | UDP | netbios-dgm | nmbd | служба датаграмм NetBIOS |
139 | TCP | netbios-ssn | smbd | NetBIOS over TCP (служба сеансов) |
445 | TCP | microsoft-ds | smbd | NetBIOS over TCP (служба сеансов) |
Вводная статья про основные принципы расшаривания файлов и принтеров.
Установка и настройка сервера
Скопируем файл с настройками smb.conf
По умолчанию создаются ресурсы для домашних каталогов пользователей (раздел homes в smb.conf) и принтеров (раздел printers).
Доступ к ресурсу может быть по паролю или анонимный. Для первого способа есть пара моментов:
- пользователь должен существовать в системе (создан с помощью команды adduser username и установлен пароль passwd username );
- пользователь должен быть добавлен как пользователь Samba (с помощью команды sudo smbpasswd -a username );
Необходимо что-бы компьютеры принадлежали к одной рабочей группе, в Windows по умолчанию это WORKGROUP, вот её и будем использовать.
Ниже приведен пример простого файла smb.conf с настройками для анонимного доступа к директории /srv/samba/public.
Имена параметров не чувствительны к регистру. Для некоторых распространенных параметров существуют синонимы, а для некоторых – антонимы. Например, writable и writeable – это синонимы, а read only – антоним для них, т.е. опция read only = yes эквивалентна опции writable = no.
Проверим корректность настроек с помощью команды testparm
Опция -v указывает testparm выводить также значения по умолчанию.
Проверим подключению к Samba на порт 139 с помощью telnet
В Samba имеется ряд параметров, связанных с аутентификацией пользователей. Наиболее важным из них является параметр security, который может принимать пять различных значений источник:
- 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.
Выше был приведен пример с доступом для директории с общим доступом. Рассмотрим еще пример с приватной директорией, к которой доступ только по логину и паролю.
Создадим группу и добавим в нее пользователя
Создадим директорию для пользователя и установим права
Добавим в /etc/samba/smb.conf новый ресурс
Пример настройки ресурса в котором есть симлинк на папку пользователя (/srv/samba/media/video » /home/proft/video)
Просмотр общих ресурсов компьютера
Еще один способ подключения для анонимного пользователя с командной строкой
Если на сервере настроен более высокий уровень безопасности, то может потребоваться передать имя пользователя или домена с помощью параметров -W и -U соответственно.
Еще лучше пароли хранить в отдельном файле
Выставим права доступа 0600
Новая строка для монтирования
И пример для /etc/fstab
Открыть ресурс в файловом менеджере Nautilus/Nemo/etc можно по такому пути smb://192.268.24.101.
Если Nemo пишет Nemo cannot handle «smb» locations. значит не хватает пакета gvfs-smb.
Доступ к серверу с Windows и Android клиента
Под Windows узнать рабочую группу с консоли можно с помощью
Открыть ресурсы на удаленной машине можно набрав в строке Explorer (Проводник) или в Run (Start — Run) UNC-адрес: \192.168.24.101.
Под Android подключится к серверу можно с помощью ES File Explorer, на вкладке Network добавляем сервер, просто по IP (без указания схемы, smb). После чего можно открывать расшаренные ресурсы. Для статистики: HDRIP-фильм идет без подтормаживания.
Быстрая и простая настройка samba
Иногда нужно очень быстро на сервере настроить файловую шару и открыть на нее доступ. При этом нет необходимости городить какие-то сложные конфигурации, права доступа или что-то еще. Нужен просто оперативный доступ к информации без лишних вопросов.
Мне, к примеру, недавно подобное понадобилось, чтобы открыть доступ к резервным копиям, которые хранились на сервере. Самому разбираться и искать информацию не хотелось, нужно было быстро дать человеку доступ на чтение, чтобы он сам нашел все, что ему нужно.
Я не буду специально оперировать версиями операционных систем. У самбы конфиги одинаковые почти везде, где мне приходилось с ними работать, тем более в самых простых конфигурациях.
Итак, устанавливаем самбу любым подходящим способом для вашей операционной системы. Конфигурации справедливы для 3-й версии самбы. Дальше решаем, что нам нужно:
- доступ по пользователю и паролю,
- доступ по ip адресу,
- доступ всем подряд без ограничений.
В зависимости от этого настройки будут немного разные.
Для доступа по паролю рисуем такой конфиг:
Перезапускаем самбу. Дальше добавляем пользователя в систему примерно так:
Импортируем этого пользователя в самбу и задаем пароль:
И пробуем зайти на шару по адресу:
Чтоб организовать доступ в зависимости от ip адреса, делаем такие настройки в smb.conf:
В данном случае полный доступ будет у адреса 192.168.0.171. Чтобы добавить всю подсеть, то указать нужно следующее:
Комбинировать можно разные подсети и адреса, разделяя их пробелами. Для того, чтобы отключить доступ каким-то отдельным адресам из разрешенной подсети, можно сделать вот так:
Доступ будет разрешен всей подсети 192.168.0.0/24, кроме адреса 192.168.0.15.
Делаем перезапуск самбы и проверяем.
Если у вас установлена samba 4, то эта конфигурация не заработает и вы получите ошибку:
Чтобы доступ по ip нормально заработал, вам необходимо внести следующие изменения в приведенный выше конфиг:
Остальные параметры оставляете те же. После этого доступ по ip будет работать и на 4-й версии самбы.
Если доступ будет предоставлен всем без ограничений, то простейшая конфигурация самбы будет такой:
Не забываем сделать права для всех на папку:
Перезапускаем самбу и пробуем зайти. Должно пустить без лишних вопросов.
Вот так буквально за 5 минут можно организовать простейший файловый сервер с помощью samba. А часто сложнее и не надо. Для какой-нибудь файловой помойки подойдет самый последний вариант.
Для более сложных конфигураций у меня есть отдельные статьи:
Настройка сервера Samba – создание папок и установка доступа
При работе в локальной сети часто возникает необходимость в передаче файлов между компьютерами. В таких случаях незаменимым решением станет программа Самба, которая поможет в настройке общедоступных директорий. Однако настройка Samba имеет ряд особенностей.
Настройка через терминал
Сама Samba – это программа, которая предназначена для обращения к различным сетевым интерфейсам, в том числе принтерам, с помощью особого протокола «SMB/CIFS». Состоит из серверной (работающей на Linux, MAC и других Unix-подобных OS) и клиентской части, которую можно установить даже на Windows 7, 8, 10.
Поскольку серверная часть программы предназначена для ОС Ubuntu, рассмотрим порядок ее настройки, а также затронем настройки Windows для обеспечения доступа.
Настройки Windows
Для того, чтобы программа работала корректно, нужно убедиться в том, что все компьютеры сети подключены к одинаковой рабочей группе. Обычно, в поле «Название группы» внесено значение «WORKGROUP». Чтобы определить, в какую группу входит используемый ПК, необходимо использовать командную строку:
- Нажать на клавиатуре комбинацию клавиш «WIN+R». В открывшемся окне ввести «cmd».
- Далее, в окне консоли ввести «net config workstation».
Следует обратить внимание на пункт «Домен рабочей станции».
- Если на ПК с ОС Ubuntu выставлен статический ip-адрес, следует указать его в файле «hosts». Найти его можно в папке «etc», которая, в свою очередь хранится в папке «Windows\system32».
- После последнего адреса в списке написать нужный IP-адрес.
Настройка Виндоус окончена.
Настройка серверной части Самба
Теперь можно перейти к настройке операционной системы Samba на Ubuntu. В процессе будет использоваться консоль. Сам процесс настройки Samba Server несложен, но требует внимательности к деталям:
- По окончании инсталляции необходимо используя консоль вписать следующую команду, которая установит недостающие модули Самбы:
- Вслед за этим нужно сделать бэкап существующего файла конфигурации:
- Создать новый файл конфигурации:
- В открывшийся документ нужно внести следующую информацию:
- Сохранить изменения кликом по кнопке в правом верхнем углу.
Также следует откорректировать файл «limits.conf»:
- Открыть его с помощью текстового редактора:
- Прокрутить вниз и перед последней строчкой в документе добавить следующее:
- Сохранить изменения.
Результат:
Создание общих папок
Затем следует создать общие папки на сетевом файловом сервере Samba:
- Сперва следует создать обычную директорию, название которой может быть абсолютно любым. Команда для консоли:
- Задать права для того чтобы все пользователи смогли проводить операции над вложенными файлами. При этом следует указать точный путь:
- Открыть конфигурационный файл, чтобы добавить в него некоторые данные:
- После блока «Global» добавить следующее:
- Сохранить изменения. В результате должно получиться следующее:
- Перезапустить Самбу:
Найти созданную директорию на ПК с Windows можно через «Проводник» — «Сеть».
Неизменяемые папки
Если есть нужда в директории, над которой нельзя будет проводить операции редактирования – создается таковая с правами «Для чтения». Процедура идентична, за исключением некоторых параметров:
- Создать папку, назвать ее, например, «readonly». В терминале ввести:
- Дать папке необходимые права:
- Следующей командой открыть конфигурацию:
- Вновь добавить фрагмент текста в конец файла:
- Сохранить документ.
Папки с закрытым доступом
Для создания папки с аутентификацией и проверкой разрешений нужно:
- Создать папку, к примеру «Auth»:
- Задать права:
- Задать группу пользователей на свой выбор, а затем и пользователя, которому дать права доступа по авторизации.
- Добавить пользователя, например, «teacher»:
- Задать пароль для авторизации:
- Внести изменения в файл конфигурации, добавив фрагмент:
Графический интерфейс System Config Samba
Установка интерфейса
Для удобства управления настройками файлового сервера Samba можно подключить графический интерфейс:
- Для установки нужно ввести в консоли следующую команду:
- Вместе с этим установить все сопутствующие компоненты Самба:
- Перейти к запуску и настройке.
Запуск
Запустить System Config Samba из терминала:
- Нажать сочетание клавиш «CTRL+ALT+T».
- В окне консоли ввести:
- Нажать «Enter».
- Ввести системный пароль.
Добавляем пользователей
Перед настройкой папок нужно создать пользователей:
- На верхней панели выбрать вкладку «Настройка».
- Выбрать пункт «Пользователи Samba».
- В следующем окне выбрать пункт «Добавить пользователя».
- В выпадающем списке выбрать имя пользователя, которому может быть предоставлен доступ.
- Ввести имя пользователя в Windows.
- Ввести пароль с подтверждением.
- Нажать «ОК».
Настраиваем сервер
Настройка сервера упрощается через графический интерфейс:
- Выбрать вкладку «Настройки».
- Далее «Параметры сервера».
- Вкладка «Основной», ввести название группы в поле «Рабочая группа».
- Параметр описания не влияет ни на что, поэтому его значение можно не изменять.
- Перейти к вкладке «Безопасность».
- Выбрать режим аутентификации — «Пользователь».
- Выбрать в пункте «Шифровать пароли» вариант «Да».
- Выбрать учетную запись гостя.
- Нажать «ОК».
Создаем папки
Если папки не были созданы ранее, главное окно будет пустым. Для создания нужно провести ряд действий:
- Кликнуть по кнопке в виде плюса. Произойдет переход к окну создания.
- Нажать «Обзор» в открывшемся окне.
- Указать папку, к которой будет предоставлен общий доступ.
- Отметить галочками пункты «Виден» и «Общедоступен».
- Перейти к вкладке «Доступ».
- На данной вкладке выбрать пользователей, которые получат доступ к папке.
- Для создания общедоступной папки выбрать «Предоставить доступ всем».
- Нажать на «ОК».
В главном окне отобразится созданная директория.
Файловый менеджер Nautilus
Также эти операции можно провести в популярном файловом менеджере Nautilus.
Установка
Прежде всего необходимо выполнить установку:
- Открыть «Nautilus» кликом по иконке на панели задач.
- Перейти в расположение с директорией для общего доступа. Нажать правой кнопкой мыши и выбрать пункт «Свойства».
- Перейти на вкладку «Общедоступная папка локальной сети».
- Выбрать пункт «Опубликовать эту папку».
- Откроется окно, в котором кликнуть по кнопке «Установить службу» для начала установки Самбы.
- Будет открыто окно, в котором можно просмотреть описание устанавливаемых пакетов. Нажать «Установить».
- Ввести пароль пользователя для продолжения установки.
Дождаться завершения установки и перейти к настройке.
Основные настройки
Настройка Самба из Наутилуса намного упрощается, в сравнении с предыдущими способами.
Для добавления общедоступности директории нужно:
- Перейти на вкладку «Права».
- Определить права для всех типов пользователей.
- Для ограничения доступа какой-либо группе выбрать из списка «Нет».
- Далее перейти в меню «Изменить права на вложенные файлы».
- Точно также, как и во втором пункте определить права на взаимодействие с файлами.
- Нажать «Изменить», затем перейти к вкладке «Общедоступная папка локальной сети».
- Отметить галочкой вариант «Опубликовать эту папку».
- Ввести название папки.
- Поставить, либо убрать галочки, позволяющие проводить операции и предоставлять общий доступ пользователю без учетной записи.
- Нажать «Применить».
Стоит отметить, что без настройки Самбы папки могут не стать общедоступными.