Меню

Ubuntu samba настройка доступа без пароля



Как расшарить папку Linux без пароля

Настройка сети

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей 🙂

Или поделитесь ссылкой на эту статью со своими друзьями.

В этой статье будет рассмотрен наиболее простой случай настройки доступа к Linux файлам. Когда нужно предоставить анонимный доступ к общим ресурсам Linux. Это распространенная ситуация в домашних сетях и в сети небольшого офиса. Расшарить папку Linux по сети можно используя несколько протоколов. Но чаще всего это делается через сервер Samba с использованием протокола SMB (CIFS). Именно этот способ и будет описан в статье.

Частое использование Samba и протокола SMB связано с тем, что обычно нужно на Linux расшарить папку для Windows. А протокол SMB (CIFS) используется в операционных системах Windows для организации общего доступа к файлам и принтерам. Компьютер под управлением Linux, на котором установлен и настроен сервер Samba, в локальной сети выглядит точно так же как и компьютер под управлением Windows.

Итак, что, и в какой последовательности необходимо сделать для того чтобы в Linux предоставить сетевой доступ к папке и файлам?

Установка Samba

Это первый шаг. В некоторых дистрибутивах установку Samba можно указать в параметрах установщика, как например Alt Linux или Rosa Linux. Но в большинстве дистрибутивов Samba устанавливается отдельно, при необходимости. Например в Ubuntu установка Samba выполняется автоматически, если вы открываете общий доступ к папке через файловый менеджер Наутилус.

В общем случае установка Samba очень проста — обычно установочный пакет так и называется — samba. В каждом дистрибутиве Linux есть программа для управления программными пакетами. Которая показывает установленные пакеты и позволяет устанавливать новые пакеты. Например в дистрибутиве Ubuntu это три графические программы — Gdebi, Synaptic и Software-center. И две консольные — apt и dpkg.

Итак, шаг первый — проверить установлен ли сервер Samba и если нет тогда установить его.

Настройка доступа в Samba без пароля

Шаг второй. После установки сервера Samba необходимо его настроить. В самом простейшем случае нужно настроить две вещи:

  1. Указать папку, которая будет доступна по сети.
  2. Указать способ доступа к компьютеру через сеть (способ аутентификации для входа на компьютер через сеть).

С первым пунктом, я думаю, все понятно. Второй пункт чуть сложнее. Samba может предоставлять сетевой доступ к компьютеру Linux либо с авторизацией (с указанием логина и пароля) либо анонимно (без логина и пароля). Как и было написано в начале статьи, я опишу настройку анонимного доступа.

Настроить сервер Samba можно через GUI интерфейс или через непосредственное редактирование файла конфигурации Samba.

Настройка Samba через GUI интерфейс

Чаще всего для этого используется программа system-config-samba. Она есть во всех популярных дистрибутивах Linux. Но не во всех дистрибутивах она устанавливается автоматически (из коробки). Так что нужно проверять ее наличие и устанавливать, если ее нет. Эта программа позволяет не только указать общую папку, но и добавлять Samba-пользователей и управлять некоторыми параметрами сервера Samba.

Параметры, изменяемые через эту программу, записываются в файл глобальной настройки Samba — /etc/samba/smb.conf.

В графической оболочке GNOME есть файловый менеджер Наутилус в котором указать общий доступ к папке можно непосредственно в свойствах этой папки (пакет nautilus-share).

Параметры, изменяемые через файловый менеджер Наутилус, записываются в файл

/.gnome2/nautilus-share-modified-permissions и в папку /var/lib/samba/usershares.

Настройка Samba через файл конфигурации

Файл конфигурации Samba обычно находится в папке /etc/samba и называется smb.conf (полный путь к файлу /etc/samba/smb.conf). Через этот файл можно полностью управлять настройками сервера Samba. Однако редактировать этот файл нужно осторожно.

Samba — настройка доступа без пароля

На самом деле протокол SMB не дает анонимного доступа к файлам и папкам. Он предоставляет два способа авторизации:

  1. Авторизация при сетевом входе на компьютер.
  2. Авторизация при доступе к разделяемому ресурсу (папке, файлу).

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

Если настраивать Самба через файл smb.conf, тогда нужно, в секции [global], указать следующие параметры:

  • security = user
  • map to guest = bad user (или bad password)

В случае значения bad user, при сетевом входе, будет запрошено имя пользователя и пароль. Но их можно указать любые «от фонаря». И тем не менее вход будет выполнен. В случае значения bad password не будет запроса имени пользователя и пароля.

Параметр map to guest указывает Самбе, что всех кто не смог авторизоваться нужно тем не менее впускать в систему, но с правами гостя.

Читайте также:  Настройка прав доступа если нет

Далее в секции, которая описывает общую папку Linux, нужно указать четыре параметра:

  • [lan]
  • path = /home/user/lan
  • guest ok = yes
  • read only = no
  • create mask = 0777
  • directory mask = 0777

Это пример такой секции в файле smb.conf. Заголовок секции определяет имя папки которое будет видно в сети. Параметр path определяет саму папку в файловой системе Linux. А параметры guest ok и read only разрешают запись в папку и гостевой доступ к папке. И последние параметры, create mask и directory mask, указывают, что все файлы и папки, которые будут там созданы через сеть (сетевыми пользователями) должны получить атрибуты полного доступа в файловой системе Linux.

Последние два параметра очень важны, чтобы у всех сетевых пользователей была возможность изменять файлы в этой сетевой папке Linux. Если не указать параметры create mask и directory mask, тогда новые файлы будут доступны только тем кто войдет в эту папку гостем. А например уже локальный пользователь Linux не сможет их изменять.

Вот минимальная конфигурация Samba для анонимного доступа к файлам Linux.

Разрешения Linux для доступа без пароля

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

Установить разрешения на файл (папку) в Linux можно через файловый менеджер (через свойства папки) или в терминале, программой chmod.

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

  1. если локальный пользователь Linux войдет в эту папку через файловый менеджер и создаст в ней новый файл;
  2. если локальный пользователь Linux скопирует в эту папку файл из другой своей локальной папки.

В обоих случаях новый файл будет недоступен для редактирования сетевыми пользователями. Почему это произойдет? Новый файл получит права доступа Linux 644, то есть полный доступ только для владельца файла. А если файл будет скопирован из другой папки, то он сохранит свои права и после копирования.

Что делать для решения этой проблемы?

Есть разные способы решения. Кто-то советует периодически (например по заданию cron) изменять права всем файлам в папке на 666 (права полного доступ для всех без исключения). Это работает, но на мой взгляд не вариант. Я считаю что такое присвоение прав должно происходит автоматически, без лишних телодвижений.

Другие люди советуют включить ACL на файловой системе Linux и затем указать ACL по умолчанию для сетевой папки (со значением 777).

Это работает, но только наполовину. Если локальный пользователь сам создаст новый файл, этот файл получит атрибуты 666. Но если локальный пользователь скопирует файл из другой папки, то файл сохранит свои старые атрибуты.

Однако есть два способа которые полностью решают проблему.

Первый способ, самый простой.

Локальному пользователю, нужно заходить в сетевую папку тоже через сеть! В этом случае все его операции в папке будут проходить через сервер Samba. А Самба настроена на полный доступ.

Достоинство этого способа в том, что ничего не нужно делать дополнительно. Недостатка два:

  1. Скорость файловых операций для локального пользователя будет ниже чем если бы он зашел в сетевую папку обычным образом.
  2. Локальный пользователь может забыть и войти в папку обычным образом.

Второй способ — настройка сетевого доступа через bindfs

Использовать bindfs. Для этого нужно установить этот пакет и затем вручную или автоматически смонтировать сетевую папку через bindfs.

Вот пример автоматического монтирования через fstab:

bindfs#/home/user/lan /home/user/lan fuse perms=0777 0 0

В примере папка монтируется сама в себя, но можно указать другую точку монтирования. Важно указать параметр монтирования perms=0777 — это полный доступ на все файлы и папки.

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

В этом случае параметры create mask и directory mask в файле smb.conf уже не нужны.

Резюме

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

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

Читайте также:  Удаленный доступ настройка при

Настройка доступа без пароля для других ОС

Если вы живете в г. Краснодар и вам необходимо настроить локальную сеть в Linux

Иван Сухов, 2015, 2018 г.

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей 🙂

Или поделитесь ссылкой на эту статью со своими друзьями.

Источник

Samba 4 — доступ к публичным шарам без логина/пароля

Paramtamtam · 2015.8.10 · 3 min

Наткнулся на одну интересную особенность Samba 4, связанную с анонимным доступом к публичным шарам. Делается это для того, чтоб пользователи могли спокойно заходить на файл-сервер и не запариваться с вводом, например, пользователя guest и пустого пароля (и в то же время существовали шары, доступ к которым возможен только после ввода пары логин:пароль ).

Ранее (до третьей версии включительно) для реализации данной задачи мы пользовались указанием в секции [global] директивы security = share , а в секции самой шары — просто guest ok = yes и всё работало как надо. Теперь же надо делать чуть-чуть иначе, а именно:

Необходимо использовать директивы security = user и map to guest = Bad Password в секции [global] , а так-же указывать guest ok = yes в секции шары.

Дело в том, что директивы security = share|server считаются устаревшими, именно поэтому нам и остается пользоваться security = user . Для отделения же пользователя от гостя применяется новая директива map to guest = Bad Password (смысл которой заключается в том, что если пользователь Samba существует в системе и введен неверный пароль, то вход этого пользователя отклоняется, если пользователя не существует, тогда ему присваивается статус гость). Ну а для того чтобы открыть доступ к общему ресурсу для гостей осталась старая добрая директива guest ok = yes которую необходимо указывать непосредственно в секции шары.

Ниже полный пример настройки моей самбы:

Для того, чтоб добавить в самбу пользователей можно воспользоваться smbpasswd :

А для проверки корректности конфигов самбы:

Все манипуляции проверялись на:

Источник

Настройка samba для доступа без пароля

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

Покажи вывод команд mount и ls -lad /home/idimash/Общедоступные

К слову, советую сменить map to guest на bad user

Хм, никакого криминала не вижу. Как я уже говорил попробуй задать bad user вместо bad password. Samba 4 или старая, 3.6?

Пробовал, не помогло.Samba 4

Говорит что нет доступа.

ставь log level побольше в секции global и давай сюда выхлоп при попытке авторизации

Когда шарю гостевую домашнюю папку то все работает. Пробовал сменить владельца на guest, не помогло

Только это совсем не комильфо

не надо так, сменил бы guest пользователя(guest account = idimash в секции где шара описана) и всё

sudo find /home/idimash/Общедоступные -type d -exec chmod 755 <> +
sudo find /home/idimash/Общедоступные -type f -exec chmod 644 <> +
sudo chown -R idimash:idimash /home/idimash/Общедоступные

Источник

Открываем общий доступ к папкам и файлам через 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:

Читайте также:  Dir 615 настройка режим точки доступа

Затем нужно добавить пользователя в Samba:

И активировать его:

Если нужно поменять пароль пользователю samba, то это можно сделать следующей командой:

Теперь сделаем доступ к шаре music только для чтения для неавторизованных пользователей, и полный доступ для пользователя crazysysadmin:

Как должно быть понятно из примера выше, то все отличие заключается в строчке admin users — туда задаются пользователи с правами полного доступа на директорию. Так же туда можно добавлять и целые группы из системы — для этого перед её именем нужно поставить символ @ — например @admins.

Если же нужно сделать так, чтобы никто кроме пользователя crazysysadmin не имел доступа к этому каталогу (даже на просмотр), то просто меняем параметр guest ok на no:

Источник

Ubuntu samba настройка доступа без пароля

В прошлой статье мы выполнили базовую настройку Samba. В результате все пользователи внутри нашей сети получили возможность читать и записывать любые данные в расшаренной папке. В этой статье я расскажу, как сделать директорию доступной (или, наоборот, недоступной) для определенных пользователей или ip-адресов внутри вашей сети. Кроме того, я покажу, как скрыть расшаренную нами папку от посторонних глаз.

О пользователях и паролях в Samba.

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

Пароль, в отличие от имени, необходимо установить отдельно. Делается это с помощью утилиты smbpasswd, с ее же помощью мы включаем (активируем) пользователя:

Вместо username подставьте имя нужного (и обязательно существующего!) пользователя Linux. В процессе потребуется дважды ввести пароль.

Если у вас или других пользователей есть компьютер с Windows, где имя пользователя отличается от используемого в Linux, очень удобно создать псевдоним (алиас), указав его в файле /etc/samba/smbusers. Эта же возможность пригодится и для того, чтобы позволить разным людям действовать от одного имени.

В Ubuntu 16.04 этот файл изначально отсутствует, но его легко создать самостоятельно. Внутрь нужно поместить строку примерно следующего содержания:

где user — имя пользователя на машине с Ubuntu, того самого, для которого мы только что создали пароль, а admin и vasiliy — псевдонимы, а точнее — имена пользователей на компьютерах с Windows. Теперь при подключении Samba будет знать, что admin — это известный ей пользователь user. Как видите, псевдонимов у каждого пользователя может быть несколько, а разделяются они пробелом.

После сохранения документа отредактируйте smb.conf, добавив в секции [global]:

иначе Samba ничего не узнает о добавленных псевдонимах.

В некоторых старых руководствах указывается, что пароли и имена пользователей Samba хранятся в файле /etc/samba/smbpasswd в зашифрованном виде. Однако на данный момент по умолчанию эти данные находятся в бинарном файле /var/lib/samba/private/passdb.tdb. Способ хранения этих данных определяет параметр passdb backend, расположенный в секции [global] в /etc/samba/smb.conf. Изменение его значения на smbpasswd заставит Samba снова использовать упомянутый выше текстовый файл. Можно также указать значение ldapsam и далее, через пробел — адрес хранилища, к которому нужно подключиться с помощью LDAP.

Создание скрытой сетевой папки с ограниченным доступом.

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

Если папка еще не существует, создайте ее и убедитесь, что она доступна для записи и чтения нужным пользователям. Теперь добавим новый раздел в наш smb.conf с примерно следующим содержанием (не забудьте подставить свои данные):

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

В примере выше есть несколько новых параметров:

  • read list — список пользователей, имеющих доступ только для чтения;
  • write list — пользователи, имеющие право записи;
  • valid users — ограничивает список пользователей, которые имеют право подключаться.

Таким образом, подключиться могут только user1, user2 и user3 и только при условии, что они знают о расшаренной папке, а user1 может только читать. Существует и способ запретить конкретным пользователям подключаться, для этого используйте опцию invalid users.

Если устройства в вашей сети имеют статические ip-адреса, можно указать их как разрешенные c помощью параметра hosts allow, либо, наоборот, запретить, прописав их после hosts deny.

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

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

Источник