Меню Рубрики

Установка samba на линуксе

Установка samba на линуксе

В данной статье пойдет речь об установке и базовой настройке Samba в Ubuntu.

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

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

Установка и запуск Samba в Ubuntu.

Поскольку Samba присутствует в репозитории Ubuntu, сложностей с установкой возникнуть не должно. Выполните:

и затем подтвердите установку пакета со всеми зависимостями нажатием Y (или Д).

После установки будет автоматически запущен демон smbd, обеспечивающий доступ к файлам и принтерам. Давайте убедимся, что он уже работает:

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

Настройка Samba в Ubuntu. Конфигурационный файл /etc/samba/smb.conf.

Конфигурационный файл /etc/samba/smb.conf, о котором идет речь, содержит все основные настройки. Именно в нем прописывается:

  • какие именно папки и принтеры будут видны пользователям других машин в сети;
  • кто и при каких условиях будет иметь доступ к файлам и принтерам;
  • смогут ли клиенты не только читать, но и записывать данные;
  • будут ли пользователи иметь доступ к своим домашним директориям;
  • каким образом будут вестись логи;
  • каким образом будет осуществляться подключение и т. д.

Содержимое файла /etc/smb.conf делится на разделы, содержащие отдельные параметры и их значения. Взгляните сами:

Не пугайтесь большого количества текста. Строки, начинающиеся с символов «#» и «;» считаются комментариями и не учитываются интерпретатором при разборе файла. Название раздела заключено в квадратные скобки, далее следуют относящиеся к этому разделу параметры и их значения, разделенные знаком «=». Параметров, которые можно использовать, очень много, а вариантов их значений — еще больше.

Создаем общедоступную папку в Ubuntu с помощью Samba.

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

Если потребуется восстановить исходный файл, удалите smb.conf и дайте это имя файлу smb-default.conf.

Теперь создадим шару, доступную для чтения и записи всем желающим. Вставьте в /etc/samba/smb.conf:

Первая строка — название шары. Вторая — ее описание или любой комментарий создателя, доступный всем. Третья — путь к папке, доступ к которой мы открываем. Не забудьте убедиться, что такая директория существует и имеет подходящие права. Параметр guest ok со значением yes разрешает подключаться без логина и пароля, browseable определяет, будет ли наша шара видна внутри сети, writable разрешает запись, create mask и directory mask выставляют права, force user принудительно определяет каждого подключившегося как пользователя publicshare.

Теперь нам нужно создать указанного пользователя и передать ему /home/public_share :

Ключ —system означает, что мы создаем не простого пользователя, а системного. Пользователи из этой категории имеют минимум прав, добавляются в группу nogroup и обычно используются для запуска системных сервисов.

Вместо guest ok часто применяется параметр public. Это синонимы. Вы можете использовать любой из них с абсолютно одинаковым результатом. У многих других параметров также есть синонимы. Бывают и антонимы, например, read only является антонимом по отношению к writable.

Если у вас включен фаервол, необходимо добавить соответствующее разрешающее правило. Если вы настраивали UFW по одной из предыдущих статей, достаточно будет следующей команды:

Для проверки правильности smb.conf в пакет Samba входит утилита testparm. Просто запустите ее без каких-либо ключей:

Вы увидите результат проверки, а после повторного нажатия Enter — выжимку из конфига.

Обратите внимание: на втором скриншоте параметр writable = yes заменен аналогичным по смыслу read only = no. Отсутствие directory mask = 0755, вероятно, объясняется тем, что 0755 является для этого параметра значением по умолчанию, а потому указывать его нет смысла.

Теперь подключаемся (в Windows, например, для этого достаточно заглянуть в сетевое окружение) — и видим все доступные расшаренные папки.

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

В следующей статье поговорим про уровни доступа. Подписывайтесь на сайт, чтобы ничего не пропустить.

источник

Настройка samba в Ubuntu 18.04

Samba — это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows. Samba состоит из клиентской и серверной части. Клиентская часть позволяет получить доступ к сетевым папкам и ресурсам Windows, а серверная, в свою очередь, открывает общий доступ к папке Ubuntu для других машин, в том числе и Windows.

В этой небольшой инструкции будет рассмотрена простейшая настройка Samba Ubuntu 18.04, а также как настроить общий доступ к папке Ubuntu с несколькими уровнями привилегий.

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

Получить доступ к расшаренным папкам в Ubuntu смогут как Linux так и Widnows машины, с помощью любой программы для работающей по протоколу SMB.

Подготовка Windows

Для того чтобы все работало правильно, все машины должны состоять в одной рабочей группе, указанной на сервере Samba. По умолчанию для Windows, Linux и MacOS рабочая группа называется Workgroup. Чтобы узнать какая рабочая группа используется в вашей Windows откройте командную строку (Win+R, затем cmd) и выполните вот такую команду:

Читайте также:  Установка радиаторов биметаллических расценка в смете

Нужный нам параметр мы видим в строке Домен рабочей станции. Это и есть рабочая группа.

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

В открывшимся файле добавьте строчку с IP адресом компьютера, на который будет установлен Samba:

192.168.0.1 srvr1.domain.com srvr1

Теперь можно переходить к вопросу как расшарить папку Ubuntu.

Настройка Samba в Ubuntu 16.04

Начнем, как обычно, с установки. Установка Samba Ubuntu вместе со всеми необходимыми компонентами выполняется командой:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba

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

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

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

Сначала укажем глобальные настройки файлового сервера. Для этого вставьте в файл такие строки:

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes

Рассмотрим подробнее что значат эти строки.

  • workgroup — рабочая группа, как уже говорилось должна одинакова на всех машинах
  • netbios name — имя компьютера, которое будет отображаться в Windows;
  • log file — адрес файла, куда будут складываться сообщения об ошибках и другая информация;
  • security — по умолчанию выполнять аутентификацию на уровне пользователя;
  • name resolve order — очередность разрешения IP адресов по NetBIOS имени. bcast — означает отправить в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие находятся в одной сети этот вариант оптимальный;
  • passdb backend — способ хранения паролей пользователей;
  • unix password sync — синхронизация паролей пользователей samba с локальными паролями Unix;
  • map to guest — указывает, когда пользователю будет предоставляться гостевой доступ. Доступно три значения — never — никогда, bad user — когда такого пользователя не существует, bad password — когда пароль введен неверно,

Когда завершите создание конфигурационного файла, переходим к вопросу как расшарить папку Ubuntu для Windows.

Общий доступ к папке Ubuntu

Сначала давайте создадим общую папку доступную всем. То есть с анонимным доступом, без авторизации samba.

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

sudo mkdir -p /samba/allaccess

После того как папка создана, нужно сделать для нее правильные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody:

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

Следующим шагом будет описать папку allaccess в файле настройки samba:

[allaccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

Теперь ваш конфигурационный файл должен выглядеть вот так:

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes
#==============
[AllAccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

Рассмотрим подробнее опции, которые были здесь использованы:

  • path — путь к папке, которую нужно расшарить;
  • browsable — будет ли папка отображаться в списке доступных шар;
  • writable — будет ли папка доступна для записи;
  • read only — папка доступна только для чтения;
  • guest ok, public — будет ли разрешен гостевой доступ;
  • only guest — если установлено yes, то папка будет доступна только гостям;
  • hosts allow — ip адреса, с которых можно получить доступ к этому серверу;
  • valid users — по умолчанию могут авторизоваться все пользователи, если в этом параметре передать список пользователей, то авторизоваться смогут только они;
  • create mask — маска прав для создаваемых файлов.

Чтобы применить изменения, перезапустите сервер Samba:

sudo systemctl restart samba

Настройка Samba Ubuntu 16.04 для анонимного доступа завершена. Теперь вы можете проверить доступность общей папки allaccess из Windows, для этого нажмите Win+R и выполните:

Вы увидите нашу папку. Если не увидите, проверьте еще раз конфигурацию. Доступ к папке можно получить без авторизации samba. Настойка Samba шары с доступом без авторизации завершена.

Также вы можете подключится к этому серверу из Linux с помощью Nautilus для этого достаточно набрать адрес smb://ip-сервера, в разделе другие места:

Защищенный общий доступ к папке Ubuntu

Чтобы расшарить папку для Windows Ubuntu, к которой будут иметь доступ только пользователи из определенной группы, создадим отдельную папку и опишем ее в файле настройки Samba в Ubuntu.

sudo mkdir -p /samba/allaccess/secured

Дальше установим такие права, чтобы доступ к папке могли получить только пользователи из группы securegroup.

sudo addgroup securedgroup

cd /samba/allaccess
$ sudo chown -R richard:securedgroup secured
$ sudo chmod -R 0770 secured/

Последний шаг, добавляем настройки в конфигурационный файл samba:

[secured]
path = /samba/allaccess/secured
val > guest ok = no
writable = yes
browsable = yes

Перезапустите сервер Samba. Теперь доступ к общей папке в Ubuntu могут получить только пользователи группы securegroup.

Чтобы проверить как это работает добавим пользователя richard в нашу группу:

sudo usermod -a -G securedgroup richard

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

После ввода команды вам будет предложено ввести новый пароль. Для применения изменений не забудьте перезагрузить файловый сервер.

Читайте также:  Установка zver с hdd на

Если вы хотите чтобы общий доступ к папке Ubuntu мог получить доступ только определенный пользователь замените в конфигурационном файле @securegroup на имя пользователя. Также можно указать несколько пользователей через запятую или несколько групп.

Выводы

Вот и все. Теперь вы знаете как правильно выполняется установка Samba на Ubuntu 18.04, а также ее настройка. Кроме ручного редактирования конфигурационных файлов, для того чтобы расшарить папку в Ubuntu можно воспользоваться графической утилитой system-samba-config. Но после того как мы разобрали все низкоуровневые настройки, с этой утилитой вы справитесь без труда.

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

53 комментария

Вы думаете основная масса поняла? Расскажите лучше как пользоваться конфигурационной оболочкой. Кстати она в 16.04 даже не запускается))

сроду линухи не настраивал, но по этой статье всё настроил.
хотя возникли и проблемы:
1. опечатки в конфиге))
2. множественный доступ из Виндовс к линукс.
вроде доступ настроен, а доступа к папке нет!
но разобрался, возможно стоит добавить об этом статью.
в Windows приходится сбрасывать подключения
net use * /delete

Присоединяюсь к Vladimir. В Xubuntu через GUI все настроил без проблем, в Ubintu 16.04.01 это просто какой-то геморрой, оболочка графическая не запускается, через терминал ничего не выходит. Блин, система, созданная для серваков, не может папку в два клика расшарить по локалке. Слов нет, одни маты.

Короче, сам спросил — сам отвечаю. Метод лечения графической оболочки Samba в Ubuntu 16.04 следующий:

$ gksu system-config-samba (при необходимости команду gksu устанавливаем)
2. Пишет, что отсутствует файл. Создаем его командой

$ sudo touch /etc/libuser.conf
3. Запускаем снова

После этого все работает, только если пользуете файервол, не забудьте в Gufw установить разрешения для Samba.

Alex, СПАСИБО Вам огромнейшее! Тоже не хотела графическая оболочка работать на 16.04 Ubuntu Mate . Онатам по умолчанию даже не была установлена, а после установки не хотела запускаться. Ну, и автору еще раз спасибо, что поднял данную тему.

Alex Огромное спасибо.Samba с помощью GUI настраивается в три щелчка.

Тру система для серваков Ред Хот или Центос и даже супер пупер ламерская Убунту ну никак не проиграет, что в два клика не шариться папка. Хотя б из соображений сякой-такой стабильности и априори безопасности. Сервак ‘то область отвественности, которая измерятся, иногда, в сотни долларов в секунуду. И уж никак не потому, что там папки разшарен’. Ваш взгляд на вещи просто дичь, уважаем’й с’р. Сотрите Ваш пост на уважаемом рессурсе.

Такая же проблема, согласен с Alex.

Сервер настроил, но Win 10 Pro не видит его и в ответ на команду: srvr1allaccess

Сервер Самба настроил и всё по инструкции сделала, но Win 10 отвечает на команду : «srvr1allaccess» «Не найдено сетевое имя» Подскажите, что делать.

to Юрий: «srvr1allaccess» это путь к папке для примера:), пропиши именно свой. и в samba.conf, тоже все свое, удачи!

имя твоего компа с убунтуимя твоей шары.

К сожалению не работает
была создана папка public, соответственно указан путь такой же с учетом регистра, сервер перезапущен. Результат нулевой.

Спасибо, самая понятная статья по самбе,
хорошая идея выделять команды окнами контрастного цвета,
новичку легко разобраться.

Ubuntu 16 это еще тот гемар. Сижу пока на 14той пока радует хотя и не всё.

Хорошо бы увидеть у вас хорошую статью по установке PDC (BDC) на Ubuntu 16.04.

Рабочий конфиг Самбы для доступа по паролю:
[share]
path = /mnt/shara
val > force group = users
create mask = 0660
directory mask = 0771
writable = yes
browseable = yes

Ну и зачем тут еще Ваш, для Ваших условий конфиг? Статья и так кривая (привязанная к конкретным папкам, именам), а Вы еще сильней запутать народ хотите? Кстати, создалось такое впечатление, что это пeреревод с какого-то импортного сайта (имя Ричард на Руси очень не типичное). Но автору все равно спасибо, — худо- бедно после двух часового экспериментирования получилось сконфигурить для своих условий.

БОЛЬШАЯ ПРОСЬБА: сделайте что-нибудь, чтобы страницы при печати (или при сохранении в PDF) имели удобочитаемый вид. Некоторые статьи удобно было бы сохранять в виде инструкций. Но в том виде, как они сохраняются (результат могу выслать) — пользоваться ими НЕВОЗМОЖНО. Хотя очень хочется.

Посмотрю что можно сделать.

Спасибо все работает, очень интересная статья еще бы добавить Информативности по больше ))) а так спасибо за проделанную работу

Первое:ваш сайт НЕВЕРОЯТНО ТЯЖЕЛЫЙ — современный комп на 64 бит проце и неплохой оперативой с трудом справляется. Сайт забит по-самые помидоры — флэшем и всякой ерундой. Второе:было сделано ВСЕ как написано — результат АБСОЛЮТНЫЙ НОЛЬ. Ни Windows ни Ubuntu не соединяются,не видят и вообще ничего НЕТ. Только Samba установилась плюс — поставил графическую — более человечную среду для нее : файл конфига просто отказывался вводить первые скобки и буквы — причины неизвестны,ну и по-х. сделал это через граф-среду : НАМНОГО УДОБНЕЕ вашего долбанутого терминала(ВСЕ должно быть проще — нажал кнопку — поставил — запустил — работает,как iPhone. ).Поэтому прекратите врать, что то о чем здесь написали — работает : это всего лишь очередной развод. Теперь из-за вашей поганенькой статейки — придется ВСЮ эту ерунду как-то вычищать с компа! Лучше бы делом занимались — электричество в отсталые районы давали бы.

Возможно добавить несколько рабочих групп к папке? Как это сделать ?

Спасибо за инструкцию. Все заработало с первой попытки.

в течении 2 недель ставлю сервером 16.04 переустанавливал заново 6 раз. Настроить самбу не могу. Что удивляет — если погуглить как настроить самбу — нет одинаковых решений, даже пакеты предлагают разные. НУ решил использовать данный мануал. У меня сеть с доменом. прописал все как тут прописано по доступу ВСЕХ. Машины из домена шару видят. Зайти не могут пишут разрешение на доступ \\192.168.1.101\allaccess отсутствует.
Всю голову сломал в чем дело ? настройки проверил по буквам , все в порядке, где еще копать ? ( сервер домена win 2008 r компы клиентов win 7 — 64 )
ПОМОГИТЕ КТО НИБУДЬ .

Читайте также:  Установка катушек 21124 вместо модуля зажигания

Та же самая фигня, СТАРАЯ SAMBA на других компах (работающая давным давно) отлично работает с любыми Виндами от XP до Windows 7 и такими же старыми SAMBA-ми как и она сама — доступ полный до расшареных папок и т.д. короче все работает, НО! после версии SAMBA 2:4.1.6 а это точно про Ubuntu 16.04 в ней даже эту старую версию не вернуть, так как ее уже УДАЛИЛИ из Репозиториев, но именно она. та старая версия самая работоспособная в отличии от всех что после нее выходили. короче не работает Ubuntu 16.04 Samba — имена компов в сети видит — зайти на них не может даже если Юзернейм и Пасс прописать совершенно одинаковый везде, хорть с паролем хоть без (хотя на вышеупомянутую старую Runtu со старой самбой даже Виндовые машины заходят без паролей — так потому что настроено и так надо!) не заходят никак вообще — Окно с паролем и доменом просто перезагружается до бесконечности как будто параметры не верные были введены — короче я ТОЖЕ еще не победил этот ИДИОТИЗМ и чем дальше тем больше разочарования от Линукса. МЛЯТЬ НУ НЕ ДОЛЖНО ЛОМАТЬСЯ ТО ЧТО РАНЬШЕ РАБОТАЛО КАК ЧАСЫ. мне стыдно за профессию программист, это бег по кругу, и мне стыдно за Линукс, эти ДОЛБОЕБЫ котрые считают себя программистами которые ЛОМАЮТ с каждым годом все больше и больше просто ОПОЗОРИЛИ Линукс с ног до головы, раньше Линукс считался чуть ли не эталоном Отказоустойчивой и работоспособной системы — сейчас глюк на глюке, дырка на дырке, проблема на проблеме, дошло до того что ОДНА И ТА ЖЕ СБОРКА с одной и той же флешке установленая на ДВА разных ноутбука — НЕ ВИДЯТ ДРУГ ДРУГА никаким образом, но стоит установить какую нибудь старую версию 10 ил 12 4-5 летней давности — все впорядке с сеткой (простой одноранговой) — работает как это говорят «из коробки». Новые — НЕТ, не работают. Я знаю что это проблема чаще индивидуальная, но меня БЕСИТ что умудряются сломать ТО что раньше РАБОТАЛО как часы. Я все сказал.

map to guest = Bad User в секцию [global] — и будет гостевой доступ в новых версиях. Иначе не пустит, будет ругать за пустой или неверный (если что-то ввели) логин. Насчет user-level авторизации — для WORKGROUP сойдет вход по учетке на linux, для домена лучше изучить статью Setting up a Share Using Windows ACLs на офсайте Samba.

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

Linuxmint 8 версии и несколько последующих, работали без проблем. 17 — 18 видит расшаренную папку но сервер не принимает пароль. Что с этим делать гугл не знает. Кругом доморощенные эксперты предлагают 10 совершенно разных способов настроить сервер и требуют конфиги. Сервер РАБОТАЕТ. Работают клиенты в Винде, даже в Андройде! Но в Linux, в этой сетевой системе, сломалось то что не должно ломатьсяю. Что читать какие логи? Как настроить клиент? Он вообще настраивается? Live дистрибутив тоже не может войти в папку. Читать 200 страничные мануалы не имею возможности, мне платят за другую работу. Если кто-то решил подобную проблему, прошу поделиться мудростью.

Мне помогло ntlm auth = yes в конфиге. А до этого выявил причину, задав log level = 2.
Причина в старом способе аутентификации WinXP:
ntlm_password_check: NTLMv1 passwords NOT PERMITTED for user

2Николай. Респектище тебе, мээээн. Большое спасибоооо. :))))) Мы весь моск сломали на тему почему после переезда на новую самбу все тачки с ХР и МФУ («сканирование в папку smb») перестали авторизовываться по smb. Данные строчки проблему решили, всё ок. Ещё раз спасибо. С нас пыво 😉

Как подключиться к диску на Винде C: или D: c Линукса по сети? На винде нет расшариных папок, но например я с компа с виндой могу зайти на другой комп с виндовс по пути например //192.168.1.2/C$/, зная логин и пароль админа, а так же с андроида тоже захожу. А как с линукса зайти? С линуксом я только знакомлюсь. Расшаривать папки на винде не нужно, мне нужен доступ полностью к разделу диска, зная пароль админа.

Спасибо большое! Всё получилось с первого раза!
Задача: подключить диск SATA / USB 3.0 к Ubuntu и расшарить его в локальной сети, чтобы заходить с Windows7. Раньше делал общий доступ через «Общедоступная папка локальной сети»->»Опубликовать папку». Потом после переустановки Ubuntu (16.04 LTS), жмешь «Опубликовать папку»->Устанавливаешь предложенные пакеты Samba->Папка опубликована и даже в Windows7 видна, а доступа к ней нет. Chmod и chown запускал от superuser-а, но разрешения для дисков не менялись!
Решение: sudo apt-get purge samba. И дальше всё по инструкции написанной выше. Автору респект!

как добавить вторую папку?
типа
[AllAccess]
path = /media/admin/Мульт/
path = /media/admin/Фильмы/

writeable = yes
available = yes
; browseable = yes
public = yes
guest ok = yes
force user = root
force group = plugdev

источник

Добавить комментарий