Нет папки www ubuntu
Обновлено: 07.07.2024
Начните с установки пакетов samba и smbclient.
В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:
В Arch Linux, BlackArch и их производных выполните команду:
Следующая команда не сработает, если отсутствует файл /etc/samba/smb.conf. Если у вас тоже нет этого файла, то создаёте его заглушку — к настройке самого файла smb.conf мы вернёмся позже:
Теперь нужно добавить пароль для пользователя Samba. Действует следующее правило: имя пользователя должно быть таким же, как у вашего текущего пользователя, а пароль можно установить иной, отличный от вашего системного пароля.
Для установки пароля Samba, выполните следующую команду:
Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.
Создайте папку, которая станет совместно используемой:
Узнаем абсолютный путь до папки
Откройте для редактирования файл /etc/samba/smb.conf:
Добавьте туда строки вида:
Обратите внимание, что все пробелы в строках выше являются обязательными.
Для моих данных это строки:
Теперь запустим службу SMB:
Для добавления службы в автозагрузку выполните:
Для подключения к этой общей сетевой папке на Linux нужно использовать IP адреса компьютера Linux.
Создадим файл, чтобы сетевая папка не была пустой:
Посмотрите локальный IP адрес компьютера, на котором запущена Linux:
У меня этим IP является 192.168.0.89, а папку, как мы помним, я создал с именем linuxshare, тогда в Windows я перехожу в проводнике во вкладку «Сеть» и подключаюсь к этой папке следующим образом:
Вводим учётные данные (которые мы установили командой smbpasswd):
Видим содержимое совместно используемой папки, размещённой на Linux с помощью SMB:
Для подключения к сетевой папке из консоли Linux, запустите команду вида:
Вы, наверное, не раз сталкивались с проблемой, что Ubuntu не видит сеть Windows или Windows не видит сетевую шару Linux. Такая проблема характерна для многих дистрибутивов с окружением Gnome. Ситуация довольно неоднозначная, раньше причиной этому был баг в GVFS, потом появилось ещё несколько осложняющих дело факторов.
В этой статье мы рассмотрим что делать если Ubuntu не видит шары Windows или Samba, как к ним всё таки подключится и можно ли решить проблему, сделать так чтобы Nautilus и Dolphin начали всё таки видеть сетевые ресурсы.
Почему Ubuntu не видит сеть Windows или Samba?
Нужно разобраться почему Ubuntu не может увидеть сеть Windows. Начиная с Windows 10 в компании Microsoft решили отказаться от старого протокола SMB1 и использовать только SMB2 и SMB3. Но в этих протоколах нет сетевого обнаружения. Для сетевого обнаружения в Windows теперь используется новый сервис WS-Discovery. В Nautilus для отображения сетевых ресурсов используется либо avahi либо протокол SMB1. Поэтому увидеть шару Windows не получится, не включив обратно устаревший протокол в реестре. Windows по умолчанию шары Samba тоже видеть не будет, потому что новый WS-Discovery в Samba не поддерживается. Ещё в 2015 году были предложены патчи для Samba добавляющие эту функциональность, но разработчики решили, что оно им не нужно. Поэтому если вы хотите чтобы Windows видела Samba, нужно отдельно установить сервис WSDD.
Но это ещё не всё. Начиная с версии Samba 4.11 разработчики решили, что они ничем не хуже Microsoft и отключили по умолчанию поддержку протокола SMB1. Теперь Nautils и Dolphin перестали видеть не только Windows шары, но и Linux тоже. Решается проблема либо установкой на Samba сервер Avahi, либо включением поддержки старого протокола SMB1 на сервере Samba.
Настойка сервера Samba
1. Включение протокола SMB1
Для того чтобы активировать протокол SMB1 в Samba необходимо добавить такие строчки в /etc/samba/smb.conf в секцию global:
sudo vi /etc/samba/smb.conf
server min protocol = NT1
client min protocol = NT1
min protocol = NT1
После этого надо перезапустить Samba.
sudo systemctl restart smbd
sudo systemctl restart nmbd
Хочу обратить ваше внимание, что у меня всё заработало только после того как я перезагрузил и сервер и клиент. Видимо что-то где-то кэшируется.
2. Настройка имени хоста
Имя хоста вашего компьютера, выводимое командой hostname должно совпадать со значением в файле /etc/hosts и со значением параметра netbios name в файле /etc/samba/smb.conf. Например:
Регистр букв не имеет значения.
3. Установка Avahi
Если предыдущий способ не поможет, то установка Avahi должна помочь. Samba не будет отображаться в сетях Windows, но зато появится в сетевом окружении в Nautilus. Для установки Avahi выполните:
sudo apt install avahi-daemon avahi-utils
После этого сервис стоит запустить и добавить в автозагрузку:
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon
Проверить доступные сервисы можно командой:
Среди них должна быть ваша шара, обозначенная как Microsoft Windows Network local.
4. Установка WSDD
Сервис WSDD нужен для того чтобы вашу шару было видно из Windows. Можно использовать сервис wsdd2 из этого репозитория. Его надо собрать из исходников, но в этом нет ничего сложного. Сначала склонируйте репозиторий:
Затем перейдите в папку с проектом:
Выполните make для сборки:
Затем установите программу, она только скопирует исполняемый файл и службу systemd в нужные директории:
sudo make install
Осталось запустить службу:
sudo systemctl daemon-reload
sudo systemctl enable --now wsdd2
Теперь Windows сможет видеть ваш сервер Samba. Таким образом если всё сделать правильно, то все всех будут видеть.
Настройка Windows
1. Общий доступ в Windows
Убедитесь, что в Windows общий доступ был включён. Если общий доступ отключен, то вы не сможете никак получить доступ к ресурсам. Откройте проводник и перейдите в пункт Сеть. Если сетевой доступ отключён, то система выдаст соответствующее предупреждение:
Кликните по нему чтобы включить общий доступ, затем выберите Включить сетевое обнаружение и общий доступ к файлам.
После этого система ещё раз спросит надо ли разрешить доступ для всех общественных сетей. Ответьте утвердительно:
После этого вы сможете получить доступ к общим ресурсам этого компьютера.
2. Включение SMB1 в Windows
Для того чтобы включить поддержку протокола SMB1 в Windows 10 откройте поиск и наберите Включение компонентов. Затем откройте утилиту Включение и выключение компонентов Windows:
Дальше найдите пункт SMB1.0 CIFS File Sharing Support и установите напротив него галочку:
Затем необходимо перезапустить компьютер:
После этого Ubuntu начнёт видеть вашу шару Windows и вы сможете к ней подключится.
Настройка клиента
1. Установить Samba
Если файловый сервер Samba у вас не установлен, то его надо установить для того чтобы был создан файл /etc/samba/smb.conf с параметрами по умолчанию. Они потом будут использоваться библиотекой libsmbclient и самой утилитой smbclient, которую вы можете применять для тестирования. Для установки выполните:
sudo apt install samba
Проверьте конфигурационный файл Samba на ошибки с помощью такой команды:
2. Рабочая группа
По умолчанию используется рабочая группа WORKGROUP. Убедитесь, что ваша рабочая группа имеет именно это имя, также убедитесь, что в /etc/samba/smb.conf задано правильное имя рабочей группы в параметре workgroup:
sudo vi /etc/samba/smb.conf
3. Версия протокола
В современных системах Windows для общего доступа к папкам используется файловая система CIFS, использующая современные версии протоколов SMB2 и SMB3. Эти протоколы не поддерживают обзор доступных общих папок так, как это ожидает получить Nautilus. Для того чтобы всё работало надо использовать старый протокол NT1. Чтобы его включить добавьте параметр client max protocol после параметра workgroup:
client max protocol = NT1
После этого сохраните изменения и перезагрузите компьютер и проверьте.
4. Правильный порядок разрешения имён
name resolve order = bcast lmhosts host wins
5. Не тот интерфейс
Если в вашем компьютере несколько сетевых интерфейсов, возможно smbclient пытается использовать не тот интерфейс. Чтобы посмотреть список интерфейсов используйте команду:
Затем найдите в /etc/samba/smb.conf параметр interface и замените в его значении eth0 на имя вашего интерфейса, который обеспечивает связь с нужной локальной сетью. Например на enp0s8:
interfaces = 127.0.0.0/8 enp0s8
После этого надо перезапустить службы Samba:
sudo systemctl restart smbd
sudo systemctl restart nmbd
6. Отладка
Если сеть Windows всё ещё не работает, вы можете попытаться отлаживать GVFS чтобы понять где именно возникает проблема и в чём её суть. Для этого надо завершить текущий сервер GVFS и запустить свой в терминале с включённой опцией отладки. Для этого выполните:
pkill gvfs; pkill nautilus
GVFS_DEBUG=all GVFS_SMB_DEBUG=10 $(find /usr/lib* -name gvfsd 2>/dev/null) --replace 2>&1 | tee gvfsd.log
7. Проблема в GVFS
Баг в GVFS, о котором я писал выше наблюдался для Samba версии 4.8 и ниже. Если сервер поддерживает протокол более высокого уровня, то клиент пытается использовать этот протокол, например SMB2 или SMB3, но на этих протоколах не работает отображение доступных ресурсов. Если у вас именно эта проблема, то для полного решения придется ждать обновления или использовать обходное решение описанное ниже.
8. Подключение напрямую
Даже если у вас не работает обнаружение сетевых ресурсов Windows, вы все ещё можете подключится к нужному компьютеру и получить с него файлы. Откройте пункт Другие места на левой панели Nautilus. Внизу окна вы увидите надпись Подключится к серверу введите smb://адрес_сервера в поле слева и нажмите Enter:
После этого система предложит ввести имя пользователя и пароль для доступа к общему ресурсу. Этот пользователь должен реально существовать на машине, к которой вы собираетесь подключится.
Введите пароль и вы увидите доступные общие папки:
Выводы
Если всё будет сделано правильно то Linux увидит вашу шару Windows или Samba:
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
В данной статье расскажу о настройке файлового обмена между Windows и Ubuntu. Мы научимся расшаривать папки (каталоги) в Ubuntu и подключаться к ним из Windows 10 и наоборот. В этой статье все действия мы будем выполнять без использования терминала.
Этой статьей я хочу развеять предрассудки, что шарить папки на Ubuntu очень сложно. Так как же расшарить папку в Ubuntu?
Настройка общего доступа папки в Ubuntu и подключение к ней из Windows.
Открываем файловый менеджер (Nautilus). Выбираем папку, которую хотим расшарить другим пользователям в локальной сети. Кликаем по ней правой кнопкой мыши, в контекстном меню выбираем "Свойства" и переходим на вкладку "Общедоступная папка по локальной сети":
Если проставить галочку "Опубликовать эту папку" и нажать кнопку "Применить", то наша папка станет доступна другим пользователям в локальной сети. И у эта папка будет подсвечена значком общего доступа:
Но есть нюансы. Не спешите закрывать статью.
Если мы это сделаем в первый раз, то система нам радушно предложит установить "Службу общего доступа к папкам":
Соглашаемся и жмём "Установить службу", появится окно, непосредственно, с установкой пакета Samba:
Устанавливаем и соглашаемся на перезапуск сеанса:
Давайте разберёмся подробнее с открытием общего доступа к папке.
Создадим какую-нибудь папку, к примеру, назовём её LinuxFiles. Проставим галочку "Опубликовать эту папку" и нажать "Применить":
В поле "Наименование" можно вписать имя сетевого ресурса, как оно будет отображаться у нас в сети.
К примеру, мы создаём название каталога с пробелами и прочими символами, а здесь, в поле "Наименование" указываем нормальное название сетевого ресурса латинскими буквами.
Как подключиться к расшаренной папке Ubuntu из Windows?
Для этого нам надо узнать наш ip или название устройства (hostname).
Это можно сделать в графическом интерфейсе через "Параметры" системы.
В пункте "Сеть" посмотреть подробности вашего подключения:
В пункте "Подробности" (О системе):
Тоже самое можно посмотреть и в терминале, выполнив следующие команды:
После чего в Windows подключаемся, введя в адресной строке Проводника два обратных слеша \\ , а затем ip адрес или имя устройства Ubuntu:
Отобразятся все расшаренные каталоги на Ubuntu машине. Но если мы попытаемся зайти в нашу папку LinuxFiles, то получим ошибку доступа:
Есть два пути решения данной проблемы.
Если хотите, чтобы любой имел доступ к вашей расшаренной папке, то надо в свойствах её общего доступа проставить галочку "Гостевой доступ" и нажать "Применить":
Если хотите подключаться к папке с помощью учетной записи вашего текущего пользователя Ubuntu, то придется задать ему Samba пароль и это сделать можно в терминале (да, я вас обманул, один раз придется в терминал зайти):
Теперь можно в Windows зайти в нашу расшаренную папку. Либо с вводом имени пользователя и пароля (вашего Ubuntu пользователя). Либо, если проставили галочку "Гостевого входа", то сразу.
Но если в Windows вы попытаетесь создать, изменить или удалить файл/папку, то получите ошибку:
У вас нет доступа на изменение в этом каталоге.
Если это проблема, и вы хотите, чтобы пользователи в локальной сети могли изменять файлы в этой папке, то для решения этой проблемы нужно в свойствах общего доступа папки проставить галочку "Разрешить другим пользователям изменять содержимое папки" и нажать "Применить":
После чего у вас будет запрошено подверждение на изменение прав на папку:
Соглашаемся на изменение прав на каталог.
Теперь пользователи локальной сети смогут изменять файлы внутри вашей расшаренной папки.
Стоит упомянуть, что не только пользователи Windows смогут подключаться к вашей расшаренной папке, но и пользователи Ubuntu или других дистрибутивов Linux, аналогично, как они бы подключались к расшаренной папке Windows.
Давайте теперь расшарим папку на Windows и подключимся к ней из Ubuntu.
Настройка общего доступа папки в Windows и подключение к ней из Ubuntu.
Создаём папку в Windows где-нибудь, кликаем правой кнопкой мыши, выбираем "Свойства" - "Доступ" и жмём "Расширенная настройка":
Далее проставляем галочку "Открыть общий доступ к этой папке" и нажимаем "Применить":
Всё, мы расшарили папку в Windows и к ней можно подключаться.
Как подключиться к расшаренной папке Windows из Ubuntu?
Нам нужно знать ip адрес или имя устройства (hostname).
Полный сетевой путь к расшаренной папке написан на вкладке "Доступ" в Свойствах папки:
Открываем файловый менеджер (Nautilus) в Ubuntu и слева выбираем пункт "Подключиться". Вводим smb и сетевой путь к папке Windows, не забывая развернуть слеши в другую сторону, и нажимаем "Подключиться":
После попытке подключения, если адрес ввели правильно, то будет запрошена авторизация:
В Windows есть несколько нюансов с настройкой общего доступа.
Если мы хотим подключаться с авторизацией, введя имя пользователя и пароль, то в Windows нужно создать локальную учетную запись с латинским логином и ввести пароль.
Если кто не знал, то в Windows 10 есть сетевые и локальные учетные записи. С сетевой учетной записью мы не сможем подключиться.
В расширенных настройках общего доступа папки Windows в "Разрешениях" по умолчанию выбрана группа "Все":
Но авторизация у нас запрашивается, и если мы попытаемся подключиться "Анонимно", то ничего не выйдет.
Как же подключиться без ввода пароля к Windows папке из Ubuntu?
Нужно в Windows открыть "Центр управления сетями и общим доступом", выбрать "Изменить дополнительные параметры общего доступа":
В пункте "Все сети" в самом низу будет пункт "Общий доступ с парольной защитой":
Надо отключить общий доступ с парольной защитой и "Сохранить изменения".
После чего можно будет заходить с Ubuntu в расшаренные папки Windows, на которых разрешен доступ для всех. Но только после перезагрузки Windows для применения этих изменений.
Для удобства и быстрого доступа к сетевому ресурсу, можно добавить его в закладки файлового менеджера (Nautilus) Ubuntu:
А если нужно защитить папку, то надо удалить группу "Все" и добавить своего пользователя в "Разрешения":
Вот и всё. В этой статье мы не правили никакие конфиги Samba и не пользовались терминалом. Простому пользователю этого более чем достаточно.
А в ближайших статьях мы более подробно разберем Samba, научимся конфигурировать эту службу.
В данной статье расскажу о настройке файлового обмена между Windows и Ubuntu. Мы научимся расшаривать папки (каталоги) в Ubuntu и подключаться к ним из Windows 10 и наоборот. В этой статье все действия мы будем выполнять без использования терминала.
Этой статьей я хочу развеять предрассудки, что шарить папки на Ubuntu очень сложно. Так как же расшарить папку в Ubuntu?
Настройка общего доступа папки в Ubuntu и подключение к ней из Windows.
Открываем файловый менеджер (Nautilus). Выбираем папку, которую хотим расшарить другим пользователям в локальной сети. Кликаем по ней правой кнопкой мыши, в контекстном меню выбираем "Свойства" и переходим на вкладку "Общедоступная папка по локальной сети":
Если проставить галочку "Опубликовать эту папку" и нажать кнопку "Применить", то наша папка станет доступна другим пользователям в локальной сети. И у эта папка будет подсвечена значком общего доступа:
Но есть нюансы. Не спешите закрывать статью.
Если мы это сделаем в первый раз, то система нам радушно предложит установить "Службу общего доступа к папкам":
Соглашаемся и жмём "Установить службу", появится окно, непосредственно, с установкой пакета Samba:
Устанавливаем и соглашаемся на перезапуск сеанса:
Давайте разберёмся подробнее с открытием общего доступа к папке.
Создадим какую-нибудь папку, к примеру, назовём её LinuxFiles. Проставим галочку "Опубликовать эту папку" и нажать "Применить":
В поле "Наименование" можно вписать имя сетевого ресурса, как оно будет отображаться у нас в сети.
К примеру, мы создаём название каталога с пробелами и прочими символами, а здесь, в поле "Наименование" указываем нормальное название сетевого ресурса латинскими буквами.
Как подключиться к расшаренной папке Ubuntu из Windows?
Для этого нам надо узнать наш ip или название устройства (hostname).
Это можно сделать в графическом интерфейсе через "Параметры" системы.
В пункте "Сеть" посмотреть подробности вашего подключения:
В пункте "Подробности" (О системе):
Тоже самое можно посмотреть и в терминале, выполнив следующие команды:
После чего в Windows подключаемся, введя в адресной строке Проводника два обратных слеша \\ , а затем ip адрес или имя устройства Ubuntu:
Отобразятся все расшаренные каталоги на Ubuntu машине. Но если мы попытаемся зайти в нашу папку LinuxFiles, то получим ошибку доступа:
Есть два пути решения данной проблемы.
Если хотите, чтобы любой имел доступ к вашей расшаренной папке, то надо в свойствах её общего доступа проставить галочку "Гостевой доступ" и нажать "Применить":
Если хотите подключаться к папке с помощью учетной записи вашего текущего пользователя Ubuntu, то придется задать ему Samba пароль и это сделать можно в терминале (да, я вас обманул, один раз придется в терминал зайти):
Теперь можно в Windows зайти в нашу расшаренную папку. Либо с вводом имени пользователя и пароля (вашего Ubuntu пользователя). Либо, если проставили галочку "Гостевого входа", то сразу.
Но если в Windows вы попытаетесь создать, изменить или удалить файл/папку, то получите ошибку:
У вас нет доступа на изменение в этом каталоге.
Если это проблема, и вы хотите, чтобы пользователи в локальной сети могли изменять файлы в этой папке, то для решения этой проблемы нужно в свойствах общего доступа папки проставить галочку "Разрешить другим пользователям изменять содержимое папки" и нажать "Применить":
После чего у вас будет запрошено подверждение на изменение прав на папку:
Соглашаемся на изменение прав на каталог.
Теперь пользователи локальной сети смогут изменять файлы внутри вашей расшаренной папки.
Стоит упомянуть, что не только пользователи Windows смогут подключаться к вашей расшаренной папке, но и пользователи Ubuntu или других дистрибутивов Linux, аналогично, как они бы подключались к расшаренной папке Windows.
Давайте теперь расшарим папку на Windows и подключимся к ней из Ubuntu.
Настройка общего доступа папки в Windows и подключение к ней из Ubuntu.
Создаём папку в Windows где-нибудь, кликаем правой кнопкой мыши, выбираем "Свойства" - "Доступ" и жмём "Расширенная настройка":
Далее проставляем галочку "Открыть общий доступ к этой папке" и нажимаем "Применить":
Всё, мы расшарили папку в Windows и к ней можно подключаться.
Как подключиться к расшаренной папке Windows из Ubuntu?
Нам нужно знать ip адрес или имя устройства (hostname).
Полный сетевой путь к расшаренной папке написан на вкладке "Доступ" в Свойствах папки:
Открываем файловый менеджер (Nautilus) в Ubuntu и слева выбираем пункт "Подключиться". Вводим smb и сетевой путь к папке Windows, не забывая развернуть слеши в другую сторону, и нажимаем "Подключиться":
После попытке подключения, если адрес ввели правильно, то будет запрошена авторизация:
В Windows есть несколько нюансов с настройкой общего доступа.
Если мы хотим подключаться с авторизацией, введя имя пользователя и пароль, то в Windows нужно создать локальную учетную запись с латинским логином и ввести пароль.
Если кто не знал, то в Windows 10 есть сетевые и локальные учетные записи. С сетевой учетной записью мы не сможем подключиться.
В расширенных настройках общего доступа папки Windows в "Разрешениях" по умолчанию выбрана группа "Все":
Но авторизация у нас запрашивается, и если мы попытаемся подключиться "Анонимно", то ничего не выйдет.
Как же подключиться без ввода пароля к Windows папке из Ubuntu?
Нужно в Windows открыть "Центр управления сетями и общим доступом", выбрать "Изменить дополнительные параметры общего доступа":
В пункте "Все сети" в самом низу будет пункт "Общий доступ с парольной защитой":
Надо отключить общий доступ с парольной защитой и "Сохранить изменения".
После чего можно будет заходить с Ubuntu в расшаренные папки Windows, на которых разрешен доступ для всех. Но только после перезагрузки Windows для применения этих изменений.
Для удобства и быстрого доступа к сетевому ресурсу, можно добавить его в закладки файлового менеджера (Nautilus) Ubuntu:
А если нужно защитить папку, то надо удалить группу "Все" и добавить своего пользователя в "Разрешения":
Вот и всё. В этой статье мы не правили никакие конфиги Samba и не пользовались терминалом. Простому пользователю этого более чем достаточно.
А в ближайших статьях мы более подробно разберем Samba, научимся конфигурировать эту службу.
Читайте также: