Не работает шара на ubuntu

Обновлено: 05.07.2024

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

Подготовка сервера

1. Время

Для корректного отображения дат, необходимо позаботиться о синхронизации времени. Для этого будем использовать демон chrony. Установим его:

apt-get install chrony

Разрешим автозапуск сервиса:

systemctl enable chrony

2. Брандмауэр

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

iptables -I INPUT -p tcp --dport 445 -j ACCEPT

iptables -I INPUT -p udp --dport 137:138 -j ACCEPT

iptables -I INPUT -p tcp --dport 139 -j ACCEPT

* где порт 445 используется для samba, а порты 137, 138 и 139 — для работы NetBIOS (использование имени компьютера для доступа).

apt-get install iptables-persistent

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

Установка выполняется из репозитория одной командой:

apt-get install samba

Разрешаем автостарт сервиса:

systemctl enable smbd

И проверим, что сервис запустился:

systemctl status smbd

Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:

* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.

Если мы настроили сервер правильно, система откроет пустую папку. На данном этапе проверка закончена и мы можем переходить к созданию первой шары.

Создание первой шары и предоставление к ней гостевого доступа (анонимного)

Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.

Открываем на редактирование конфигурационный файл samba:

И добавляем настройку для общей папки:

[Общая папка]
comment = Public Folder
path = /data/public
public = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

  • [Общая папка] — имя общей папки, которое увидят пользователи, подключившись к серверу.
  • comment — свой комментарий для удобства.
  • path — путь на сервере, где будут храниться данные.
  • public — для общего доступа. Установите в yes, если хотите, чтобы все могли работать с ресурсом.
  • writable — разрешает запись в сетевую папку.
  • read only — только для чтения. Установите no, если у пользователей должна быть возможность создавать папки и файлы.
  • guest ok — разрешает доступ к папке гостевой учетной записи.
  • create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются указанные права. В нашем примере права будут полные.

Создаем каталог на сервере и назначим права:

mkdir -p /data/public

chmod 777 /data/public

Применяем настройки samba, перезагрузив сервис:

systemctl restart smbd

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

Доступ к папке по логину и паролю

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

Открываем конфигурационный файл samba:

Добавляем настройку для новой папки:

[Папка сотрудников]
comment = Staff Folder
path = /data/staff
public = no
writable = yes
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

* эти настройки, во многом, похожи на те, что использовались в примере выше. Вот основные различия:

  • path = /data/staff — используем новый путь до папки.
  • public = no — запрещаем публичный доступ.
  • guest ok = no — не разрешаем гостевое подключение.

Создаем каталог для новой папки:

Задаем права на созданный каталог:

chmod 777 /data/staff

Создаем пользователя в системе Linux:

* где staff1 — имя пользователя.

Задаем пароль для пользователя:

Теперь создадим пользователя в samba:

smbpasswd -a staff1

systemctl restart smbd

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

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

Доступ к папке определенным пользователям и группам

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

Открываем конфигурационный файл samba:

Добавляем настройку для новой папки:

[Приватная папка]
comment = Private Folder
path = /data/private
public = no
writable = no
read only = yes
guest ok = no
valid users = admin, staff2, staff3, @privateusers
write list = admin, staff2
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
inherit owner = yes

* стоит обратить внимание на следующие настройки:

  • path = /data/private — используем новый путь до папки.
  • writable = no и read only = yes — в данном примере мы разрешим запись в каталог только некоторым пользователям. Поэтому общие настройки, разрешающие запись в папку, должны быть запрещены.
  • valid users — список пользователей, которым разрешено подключаться к каталогу. В данном примере разрешения работают для пользователей admin, staff2 и staff3, а также для всех, кто входим в группу privateusers.
  • write list — список пользователей, которые имеют доступ к папке на чтение и запись. В данном примере мы разрешаем это только для пользователей admin и staff2.
  • inherit owner — опция позволяем включить наследование владельца при создании папок и файлов.

* если мы хотим, чтобы доступ к каталогу был полный у определенных пользователей (без разделения на тех, кто может только читать и тех, кто может также писать в папку), то опцию write list можно не указывать, а опции writable и read only оставить как в примерах выше.

Создаем каталог для новой папки:

Задаем права на созданный каталог:

chmod 777 /data/private

Для применения настроек перезапускаем samba:

systemctl restart smbd

Создать группу пользователей можно командой:

Добавить ранее созданного пользователя в эту группу:

usermod -a -G privateusers staff1

Проверяем возможность работы с новым каталогом.

Сетевая корзина

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

Открываем конфигурационный файл:

[Recycle]
comment = Snap Directories
path = /data/recycle
public = yes
browseable = yes
writable = yes
vfs objects = recycle
recycle:repository = .recycle/%U
recycle:keeptree = Yes
recycle:touch = Yes
recycle:versions = Yes
recycle:maxsize = 0
recycle:exclude = *.tmp,

  • vfs objects = recycle — использовать подсистему recycle.
  • recycle:repository — где хранить удаленные объекты. В данном примере удаленные файлы попадут в скрытый каталог .recycle к котором создастся каталог с именем пользователя, удалившего файл или папку.
  • recycle:keeptree — удалять объекты с сохранение дерева каталогов.
  • recycle:touch — изменить ли дату изменения файла при его перемещении в корзину.
  • recycle:versions — при удалении файлов с совпадающими именами, добавлять номер версии.
  • recycle:maxsize — не помещать в корзину файлы, размер которых больше заданного параметра (в байтах). В данном примере, помещать файлы любого размера.
  • recycle:exclude — исключить файлы.
  • recycle:exclude_dir — исключить каталог.

Создаем каталог и задаем права:

chmod 777 /data/recycle

systemctl restart smbd

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

Для автоматической чистки сетевой корзины можно создать скрипт:

/usr/bin/find $recyclePath -name "*" -ctime +$maxStoreDays -exec rm <> \;

* в данном скрипте мы ищем все файлы в каталоге /data/recycle/.recycle, которые старше 30 дней и удаляем их.

Разрешаем запуск скрипта:

chmod +x /scripts/cleanrecycle.sh

Создаем задание в планировщике:

0 5 * * * /scripts/cleanrecycle.sh

* в данном примере мы будем запускать скрипт по очистке сетевой корзины каждый день в 05:00.

Подключение к шаре

Теперь разберем примеры подключения к нашим шарам из разных систем.

Windows

Для разового подключения можно использовать проводник, прописав в нем адрес сервера через косые линии:

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

В открывшемся окне прописываем путь до сетевой папки и выбираем имя диска:

Сетевой диск настроен.

Но мы может сделать те же действия из командной строки:

net use x: \\samba.dmosk.local\AD ACL /persistent:yes

* где x: — имя сетевого диска; \\samba.dmosk.local\AD ACL — путь до сетевого каталога; persistent:yes — указывает на то, что нужно восстанавливать данный диск каждый раз при входе в систему.

Linux

Монтирование

В Linux мы можем монтировать удаленный каталог с помощью команды mount, например:

mount -t cifs "//192.168.1.15/ad" /mnt -o user=dmosk

* где 192.168.1.15 — IP-адрес сервера; mnt — каталог, куда монтируем сетевую шару; dmosk — пользователь, под которым выполняем подключение к сетевому каталогу.
** в систему должен быть установлен пакет cifs-utils.

Подробнее, процесс монтирования описан в инструкции Как в Linux монтировать шару CIFS.

SMB Browser

Также мы можем увидеть содержимое удаленных папок на samba при помощи клиента smb. Для начала установим данного клиента:

а) на Red Hat / CentOS / Fedora:

yum install samba-client

б) на Debian / Ubuntu / Mint:

apt-get install samba-client

После вводим команду:

smbclient -L 192.168.1.15 -U staff@dmosk.local

* где 192.168.1.15 — сервер samba, к которому мы пытаемся подключиться; staff@dmosk.local — учетная запись, под которой выполняется подключение.

. мы получим список каталогов, которые расшарены на сервере.

Также мы можем подключиться к конкретной папке, например:

smbclient \\\\192.168.1.15\\ad -U staff@dmosk.local

Мы подключимся клиентом samba — можно выполнить запрос на показ содержимого:

Или полный список возможных команд:

Некоторые опции Samba

Рассмотрим некоторые полезные опции, которые могут пригодится при настройке Samba.

1. hosts allow

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

Пример использования параметра.

hosts allow = comp1, 192.168.1., 192.168.160.0/255.255.252.0

* в нашем примере мы разрешим доступ только для компьютера comp1, компьютеров из сетей 192.168.1.0/24 и 192.168.160.0/22.

2. hosts deny

Параметр аналогичный hosts allow, только он наоборот — запрещает доступ для хостов и сетей. Например:

hosts deny = comp2, 192.168.2., 192.168.164.0/255.255.252.0

hosts deny = ALL EXCEPT 192.168.3.

3. interfaces

По умолчанию samba использует все сетевые интерфейсы, кроме локальной петли (127.0.0.1). Параметр interfaces позволит указать, на каком сетевом адаптере файловый сервер должен принимать запросы. Пример:

interfaces = ens32 192.168.1.15/24 192.168.2.15/255.255.255.0

4. Force User/Group

Опции force user и force group позволяют задать пользователя и группу, от которых будет работать подключение пользователя к samba. Параметр может оказаться полезным для создания шары из каталога с уже назначенным владельцем, которого мы не хотим менять.

Прописывается для шары:

force user = apache
force group = apache

* данная настройка позволит подключаться к шаре под пользователем apache.

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) и выполните вот такую команду:

net config workstation

share1

share

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

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

share3

И выполните команду:

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

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

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

Начнем, как обычно, с установки. Установка 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

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

sudo vi /etc/samba/smb.conf

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

[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

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

Когда завершите создание конфигурационного файла, переходим к вопросу как расшарить папку 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

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


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

  • 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 для анонимного доступа завершена. Теперь вы можете проверить доступность общей папки allaccess из Windows, для этого нажмите Win+R и выполните:

share5

Вы увидите нашу папку. Если не увидите, проверьте еще раз конфигурацию. Доступ к папке можно получить без авторизации 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:

sudo vi /etc/samba/smb.conf

[secured]
path = /samba/allaccess/secured
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes


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

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

sudo usermod -a -G securedgroup richard

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

sudo smbpasswd -a richard

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

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

Выводы

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




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

(22 оценок, среднее: 4,68 из 5)

Об авторе

65 комментариев

о, буду пробовать

Вы думаете основная масса поняла? Расскажите лучше как пользоваться конфигурационной оболочкой. Кстати она в 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
valid users = @users
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 )
ПОМОГИТЕ КТО НИБУДЬ .

Та же самая фигня, СТАРАЯ 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

Привет, ЛОР! Появилась следующая потребность. Есть софт, он установлен на сервере. Каталог с софтом, расшарен. Клиенту примонтировал через fstab:

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


Пробовал? Возможно стоит share заменить на samba, или поменять пару слов, но и так вроде что-то релевантное предлагает.

pam-mount не пробовал?

Используй autofs, Люк.

попробуй вместо fstab -> autofs


Да как-то в репозитории Astra Linux я его не наблюдаю

Сделай проверку на пустоту директории, делов-то.

Обратись в службу поддержки Астра линукс. Они же ее за деньги продают?

Неужели такого пакета нету там? Как то наверное можно средствами systemd сделать автомонтирование, но не знаю как.

Как то наверное можно средствами systemd сделать автомонтирование, но не знаю как.

Добавить x-systemd.automount к опциям монтирования.


как ни странно, но в версии 1.5 нету. Хотя man autofs есть, даже на русском:)

В небо. По словам automount поищите.


Вы вообще тему читаете с коментами? говорю же нету такого пакета. Из вне ставить - не наш профиль..


Эмм, по подробнее можно?

Не более чем предположил что поискать по другому названию.


Короче пакет нашел, поставил. куда мне прописывать мою строку?

А ты читаешь камменты? Позвонить в техподдержку и спросить там не судьба? Или времени свободного слишком много на форумах зависать?

while : ; do
проверяем директорию на пустоту любым способом && если пуста монтируем шару
done

пример из вики убунты

Ну и в /etc/auto.master должно быть такая строчка:



Номерок дашь позвонить?:) Писал. Да, времени в достатке. Завидно?


man этот бестолковый. Как работают сервисы и без этого понятно.

А вы внимательней почитайте.


Эм, у меня на сервере самба-ресурс //192.168.10.3/soft На клиенте поставил пакет autofs. Далее, создаю mkdir /mnt/soft

Перегружаю service autofs restart , но каталоги так и не монтируются. В чем может быть затык?


failed to read included master map auto.master пишет в логах

chmod 755 /etc/auto.soft


с правами все в порядке.

подкаталог /mnt/soft нужно удалить, он будет создан автоматом - имя каталога ты указываешь в auto.soft (опция в мастере --ghost создает пустой каталог).

мастер сделай так

/etc/auto.soft можно еще так сделать:


Именно так и сделал как Вы указали. Но df -h не отображает что смонтировано. команда mount выдает: auto.soft on /mnt type autofs(rw,relatime. ) Но в каталоге /mnt, подкаталога /soft не существует. Самба доступна и командой mount -t cifs //ip/soft /mnt -o user=Username монтируется. Что я делаю не так?

а в логах что пишет?

ищи по automount.

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


rumgot , kontranik В общем autofs это не решение против разрывов связи. Autofs это просто чтобы в fstab не писать либо чтоб ручками mount не делать и главное никакой магии против разрывов связи в нём нет. И с autofs с шарами будет ровно тоже самое что и без него.

Да. Но вы там держитесь.


и какое решение тогда есть если не autofs?


autofs это о другом. Что autofs действительно может: автоматически находить шары в локалке; автоматически монтировать шары по событиям; по таймауту отключать неиспользуемые шары.

Кратко говоря оно для упрощения того же mount/fstab. Можно самому аналогичное на bash с mount на коленке поделать просто зачем?

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

и какое решение тогда есть если не autofs?

Не терять связи?

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


Вообщем chmod -X /etc/auto.soft решило проблему. Каталоги стали появляться. Эм, допустим теперь я отключаю сервак с самбой. На клиенте шара пропадает. Потом сервак запускается, autofs автоматом заного примонтирует? Или надо указывать доп параметры?


Допустим, разрыв связи произошел из-за того что сервак выпилился, шара не доступна. Из холодного резерва, включается резервный узел, autofs на клиенте при обращении к шаре, заного примонтирует её?


Выдерни из сетевухи шнурок и проверь. Но скорее всего да.

у меня ситуация наоборот сеть проподает на лаптопе (вайфай), когда связь востанавливается или подсоединяю через кабель, шара становится доступна.

если часто происходят разрывы то желательно таймаут в мастер-файле выставлять.

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


тогда в /etc/auto.master опцию --timeout=60 можно не выставлять? Требуется чтобы шара всегда была доступна пользователю, как например с использованием fstab.

да, думаю можно обойтись и без таймаута

Есть разрыв, будет ошибка, далее(когда сеть восстановится) обратишься к ресурсу он будет смонтирован и можно использовать(это про autofs). А в случае fstab нужно вручную через консоль. Так что autofs - это для разрывов подходит.


Есть разрыв, будет ошибка, далее(когда сеть восстановится) обратишься к ресурсу он будет смонтирован и можно использовать(это про autofs).

В теории. А на практике это всё пислами по воде виляно. Зависеть будет от столь многих факторов что я не был бы так уверен в том, что autofs вот так прям возьмёт и смонтирует да ещё и без проблем. Почему? Да потому что я сам юзал autofs и у меня достаточно опыта для того чтоб заявлять то, что я сам наблюдал. autofs это не защита от обрывов связи а костыль облегчающий работу с шарами.

А мой опыт позволяет утверждать, что в большинстве случаев autofs - простой и удобный механизм и защита от обрывов.

Но так и не пришло понимания, как корректно и без глюков настроить доступ межу ОСями по сети.

Главная задача - доступ к шаре на Ubuntu с WinXP с аутентификацией по логину-паролю или IP. Пока не получается, появляется окно аутентификации, но что-там вводить, и где на линуксе прописывать пользователя не ясно.

Есть ли нормальные мануалы по вопросу, а не ещё одна полезная тонна документации, которую в реальной ситуации не применить.


- правишь дефолтный конфиг самбы /etc/samba/smb.conf, добавив конец секцию

все, директорию /home/public ты расшарил. дай на нее права пользователю <username>, и соединяйся из винды под этим пользователем.

для старта должно хватить.


Спасибо. А username это виртуальные пользователи для сетевого доступа, или это такой же юзер, как и мой собственный аккаунт на линуксе username@hostname:

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

<username> - это реальный пользователь системы (линуксовый пользователь). хомяка для него заводить необязательно. можно вообще ему шелл сделать /bin/false. главное, чтобы права на шаре были для этого пользователя обозначены, как нужно. шара тоже может лежать, где угодно ,необязательно в /home.


Насчёт вашего пояснения имею наводящий вопрос:

Пробовал добавлять шару из-под sudo system-config-samba

Я не совсем понял смысл полей: Имя пользователя unix Имя пользователя Windows

Для unix я указал своего юзера на машине с samba. Для Windows имя юзера на ней. Получается, можно привязать вход к своему (или лучше к одному дополнительному, в целях безопасности) аккаунту? А не плодить на каждого юзера по акку на машине?

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

А не плодить на каждого юзера по акку на машине?

нет, плодить придется.

для домена все немного иначе - там база пользователей хранится в сети и доступна всем машинам домена. но это не твой случай, видимо.

впрочем, у самбы есть разные режимы работы. почитай про параметр security в smb.conf. я описываю ситуацию для security = user. это наиболее приемлемая ситуация, в т.ч. и с точки зрения безопасности.

Пользую sudo service smbd restart. Выдаёт smbd stop/waiting smbd start/running, process 4147.

это норамльно, означает, что самба рестартанула, что и требовалось

conalex ★★★ ( 09.03.16 07:35:13 )
Последнее исправление: conalex 09.03.16 07:43:03 (всего исправлений: 5)


Скажите, как быть. У меня на 2й машине пользователь с тем же именем, что и на самба сервере, но другим паролем. Я не могу создать этой машине для доступа такого же юзера через sudo useradd -M -N -r -s /bin/false ИМЯ

Пробовал вводить в окне запроса к серверу оба пароля - не пускает!

Есть ли вариант без смены пароля и имени юзера машины?

Всё никак не организовать нормальный доступ.

для тестов полезно поставить в дополнение к самбе smbclient и проверять валидность самба-юзеров прямо на машине с самбой:

если речь идет о том, чтобы разрешить виндовому юзеру заходить на самба-шару, то на самбе нужно завести пользователя с таким же именем и _самба-паролем_ (таким же как в винде).


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

А как быть ноуту с полки, у него такое же имя пользователя, как и у меня на сервере.

1) Можно ли что сделать, или лучше переименовать его? 2) как переименновать пользователя в линуксе, чтобы никакие настройки софтов не слетели? Это ведь домашняя папка, папка в /media, и куча упоминаний в конфигах. Как изменить, чтобы везде сразу?


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

$ smbclient -L localhost -U username Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)

[global] workgroup = mikoshi netbios name = Server server string = Linux Server bind interfaces only = true interfaces = eth0 192.168.1.1 printcap name = /etc/printcap printing = cups cups options = raw log file = /var/log/samba/log.smbd max log size = 50 debug level = 5 security = user encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192 local master = yes preferred master = yes domain master = no wins support = no dns proxy = no guest ok = yes guest account = username unix charset = utf8 dos charset = cp1251 browseable = yes

[printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes ; guest ok = no ; read only = yes create mask = 0700

[Dist] comment = WRepository path = /media/name/WRepository/Dist writable = no guest ok = yes create mask = 0666 directory mask = 0777 read only = yes browseable = yes

пользователя переименовывать не нужно. нужно в линуксе добавить существующего пользователя в самбу через smbpasswd.


Просидел всю ночь, играя на бубне, и без результата(((((

Как же я ЗАДОЛБАЛСЯ. ну может есть гарантированный пошаговый мануал, чтобы сделал, и все бы заработало?

такое чаще всего бывает, если самба просто не запущена. проверяй.

ps aux|grep smb или sudo service smbd status

conalex ★★★ ( 22.03.16 07:21:16 )
Последнее исправление: conalex 22.03.16 07:21:28 (всего исправлений: 1)


У меня на трех компах одно имя юзера, но разные пароли, ОСи.

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

1.написать конфиг, указав валидные параметры

2.добавить пользователя в самбу через smbpasswd


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


Существующего где? На ПК-1, ПК-2, или ПК-3? При том, что username существует на всех трех под одним именем, но разными паролями. sudo useradd -M -N -r -s /bin/false username sudo smbpasswd -a username sudo gedit /etc/samba/smb.conf sudo /etc/init.d/samba restart

проверяй пользователя на линуксе же через smbclient. если работает - должно и с винды заработать.


smbclient -L localhost -U username всё ок.

[public13] comment = public folder path = /media/hikikomori/WRepository/Dist/ read only = yes locking = no browsable = yes guest ok = yes force user = username force group = username

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


Попробовал по инструкциям с нуля создать конфиг:

[global] workgroup = mikoshi netbios name = Arkham server string = Forgotten warehouse

[WRepository] path = /media/hikikomori/WRepository/Dist/ comment = Бухгалтерия browseable = no writable = yes create mask = 0644 directory mask = 0775

Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[WRepository]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions

sudo groupadd sambausers sudo useradd -M -G sambausers -r -s /bin/false nobody sudo gpasswd -a nobody sambausers

sudo /etc/init.d/smbd restart sudo /etc/init.d/nmbd restart sudo /etc/init.d/winbind restart

или sudo /etc/init.d/samba restart

И нет доступа, нет. Почему??

проверь права на всем пути к целевой папке твоей шары /media/hikikomori/WRepository/Dist. нужно ,чтобы юзер, который коннектится имел права на чтение на каждый каталог в пути, иначе не зайдет. путь сам проверь, убедись, что правильно все написал, целевой каталог есть и с ним все в проядке.

ресурсы самба показывает в винде? когда с винды заходишь в шару - пароль спрашивает? если вводишь имя/пароль - принимает?

посмотри /var/log/samba, там лежат логи демонов и клиентов.

юзер nobody - системный пользователь линукса, зачем его добавлять через useradd и затем еще в самбу? потом, самба по дефолту может отмапить nobody в гостя и слать его лесом, если специально не разрешить принимать гостей.

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

ок. попробуй так.

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

Читайте также: