Перейти к содержимому

Как расшарить папку в linux mint

  • автор:

Как расшарить папку в Linux Mint (Olivia 15)?

Перешёл недавно с Ubuntu на Mint, т.к. достали уже глюки и тормоза Unity. В Ubuntu расшарить папку было проще простого, в Свойствах папок был пунктик «Общий доступ». В Mint`e же стоит, во-первых, другой файловый менеджер (Caja 1.6.1), а во-вторых, в предлагаемом меню Свойств папки нет ничего, похожего на «Общий доступ» — даже близко. неужели в таком классном дистре как Linux Mint (DE — Mate) нет такой нужной функции по умолчанию? Подскажите, как настроить общий доступ? Есть гарантия того, что я, скачав пакет samba4 из репы, получу заветный пунктик в Свойствах папок??

Desmond_Hume ★★★★★
21.05.13 09:46:21 MSK

Есть гарантия того, что я, скачав пакет samba4 из репы, получу заветный пунктик в Свойствах папок??

Вы 100 процентов получите samba и сможете отредактировав конфигурационный файл /etc/samba/smb.conf «расшарить» любую папку.

kostik87 ★★★★★
( 21.05.13 09:47:54 MSK )
Последнее исправление: kostik87 21.05.13 09:48:15 MSK (всего исправлений: 1)

Ответ на: комментарий от kostik87 21.05.13 09:47:54 MSK

Ещё бы знать, как. что там надо написать?

Как сделать общую сетевую папку в Linux (настройка SMB в Linux)

Начните с установки пакетов samba и smbclient.

В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:

sudo apt install samba smbclient

В Arch Linux, BlackArch и их производных выполните команду:

sudo pacman -S samba smbclient

Следующая команда не сработает, если отсутствует файл /etc/samba/smb.conf. Если у вас тоже нет этого файла, то создаёте его заглушку — к настройке самого файла smb.conf мы вернёмся позже:

sudo touch /etc/samba/smb.conf

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

Для установки пароля Samba, выполните следующую команду:

sudo smbpasswd -a $USER

Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.

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

mkdir ~/linuxshare

Узнаем абсолютный путь до папки ~/linuxshare:

realpath ~/linuxshare
/home/mial/linuxshare

Откройте для редактирования файл /etc/samba/smb.conf:

sudo gedit /etc/samba/smb.conf

Добавьте туда строки вида:

[ИМЯ_ПАПКИ] comment = Samba на Linux path = /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/ИМЯ_ПАПКИ valid users = ИМЯ_ПОЛЬЗОВАТЕЛЯ read only = no browsable = yes

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

Для моих данных это строки:

[linuxshare] comment = Samba на Linux path = /home/mial/linuxshare valid users = mial read only = no browsable = yes

Теперь запустим службу SMB:

sudo systemctl start smb.service

Для добавления службы в автозагрузку выполните:

sudo systemctl enable smb.service

Для подключения к этой общей сетевой папке на Linux нужно использовать IP адреса компьютера Linux.

Создадим файл, чтобы сетевая папка не была пустой:

echo "Документ на Linux" > ~/linuxshare/document.txt

Посмотрите локальный IP адрес компьютера, на котором запущена Linux:

ip a

У меня этим IP является 192.168.0.89, а папку, как мы помним, я создал с именем linuxshare, тогда в Windows я перехожу в проводнике во вкладку «Сеть» и подключаюсь к этой папке следующим образом:

\\192.168.0.89\linuxshare

Вводим учётные данные (которые мы установили командой smbpasswd):

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

Для подключения к сетевой папке из консоли Linux, запустите команду вида:

sudo smbclient //IP_АДРЕС/Папка -U ПОЛЬЗОВАТЕЛЬ

Для моего примера это:

sudo smbclient //192.168.0.89/linuxshare -U mial

После ввода пароля нам становится доступным содержимое сетевой папки.

Связанные статьи:

  • Как смонтировать сетевую папку Windows/Samba в Linux (100%)
  • Как подключиться к сетевой папке в командной строке Linux (100%)
  • Где Samba хранит пароли. Как извлечь имена пользователей и паролей Samba (РЕШЕНО) (60.5%)
  • Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
  • Как в Linux определяется порядок источников для разрешения имён (приоритет файла hosts и DNS) (50%)
  • 4 способа узнать, какие порты прослушиваются в Linux (RANDOM — 27.2%)

Рекомендуемые статьи:

3 Комментарии

Андрей 22.07.2023 в 18:23

Здравствуйте. Во первых после ввода комманды sudo systemctl start smb.service получаю ошибку Failed to start smb.service: Unit smb.service not found.
Наверное правильнее smbd.service. Поэтому и комманда sudo systemctl enable smb.service тоже не правильная. Во вторых. После всех действий не подключается из Widows 10, после ввода пароля. Пишет нет доступа. Папка видна, но не открывается. Использую Linux Mint 21.2 xfce

Alexey (Автор записи) 24.07.2023 в 05:23

Наверное правильнее smbd.service.

Приветствую! Название служб в дистрибутивах на основе Debian (как у вас) и на основе Arch Linux (который я использую для инструкций) может различаться. Я проверил в последней версии Debian: работают оба названия smb и smbd (то есть со временем это «нововведение» доберётся и до Linux Mint, которая основывается на Ubuntu, которая основывается на Debian). Если в вашей ОС работает только smbd, то используйте это имя службы — это одно и то же. Что касается ошибки,

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

То попробуйте в Windows выполнить команды:

net stop workstation /y net start workstation

Либо если вы предпочитаете PowerShell то выполните команду:

Get-Service workstation | Restart-Service -Force

Как расшарить папку в Linux

uchet-jkh.ru

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

Для расшаривания папки в Linux мы будем использовать протокол SMB (Server Message Block), который позволяет обмениваться файлами и папками между различными операционными системами. Он широко поддерживается как в Linux, так и в Windows.

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

Установка необходимых компонентов

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

  1. Установите пакет Samba с помощью менеджера пакетов вашей системы. Например, для дистрибутивов на базе Debian используйте команду: sudo apt-get install samba. Для дистрибутивов на базе Red Hat используйте команду: sudo dnf install samba.
  2. Убедитесь, что у вас установлен пакет smbclient, который является клиентом для работы с Samba. Если его нет, установите его с помощью менеджера пакетов. Для Debian: sudo apt-get install smbclient, для Red Hat: sudo dnf install smbclient.
  3. Проверьте наличие пакета cifs-utils, который нужен для работы с файловыми системами CIFS (Common Internet File System). Если он не установлен, установите его аналогичным образом. Для Debian: sudo apt-get install cifs-utils, для Red Hat: sudo dnf install cifs-utils.

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

Создание новой директории для расшаривания

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

Следуйте этим шагам для создания новой директории:

  1. Откройте терминал или командную строку.
  2. При необходимости перейдите в нужную директорию, где вы хотите создать новую директорию. Например, если вы хотите создать новую директорию в домашней папке, выполните команду cd ~ .
  3. Выполните следующую команду для создания новой директории:

Замените НАЗВАНИЕ_ДИРЕКТОРИИ на желаемое имя для вашей новой директории.

Например, если вы хотите создать директорию с именем «public», выполните команду mkdir public .

Теперь у вас есть новая директория, которую вы можете использовать для расшаривания файлов и папок в Linux.

Настройка прав доступа к папке

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

Чтобы настроить права доступа к папке в Linux, необходимо использовать команду chmod (изменение прав доступа). Команда chmod позволяет устанавливать, изменять и снимать разрешения на чтение (r), запись (w) и выполнение (x) для владельца, группы и остальных пользователей.

Синтаксис команды chmod:

chmod установка_прав доступа файл/папка

Установка прав доступа может быть выполнена с использованием символов или числовых значений:

Использование символов:

  • u (user) — владелец файла или папки.
  • g (group) — группа пользователей или группа, к которой принадлежит файл или папка.
  • o (others) — все остальные пользователи, не являющиеся владельцем и не входящие в группу.
  • a (all) — все пользователи, включая владельца, группу и остальных пользователей.
  • +/- (add/remove) — добавить или удалить разрешение.
  • r (read) — разрешение на чтение.
  • w (write) — разрешение на запись.
  • x (execute) — разрешение на выполнение (для папок) или запуск (для файлов).

Использование числовых значений:

  • 0 — нет разрешений.
  • 1 — разрешение на выполнение.
  • 2 — разрешение на запись.
  • 3 — разрешение на запись и выполнение.
  • 4 — разрешение на чтение.
  • 5 — разрешение на чтение и выполнение.
  • 6 — разрешение на чтение и запись.
  • 7 — полные разрешения на чтение, запись и выполнение.

Примеры использования команды chmod:

1. Установка разрешений для владельца файла или папки:

chmod u+rwx папка

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

2. Установка разрешений для группы пользователей:

chmod g+rw папка

Эта команда устанавливает разрешение на чтение и запись для группы пользователей папки.

3. Установка разрешений для остальных пользователей:

Эта команда устанавливает разрешение на выполнение для остальных пользователей файла.

4. Установка разрешений с использованием числовых значений:

chmod 755 папка

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

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

Создание нового пользователя для доступа к папке

Чтобы предоставить доступ к папке другому пользователю, необходимо создать нового пользователя в системе Linux с соответствующими правами доступа.

  1. Откройте терминал.
  2. Введите команду sudo adduser имя_пользователя , где имя_пользователя — это имя нового пользователя, которому нужно предоставить доступ к папке.
  3. Следуйте указаниям на экране для задания пароля и другой информации о новом пользователе. Можно оставить некоторые поля пустыми, нажав клавишу Enter для использования значений по умолчанию.
  4. После завершения этого процесса новый пользователь будет создан.

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

  1. Определите путь к папке, например, /путь/к/папке.
  2. Введите команду sudo chown -R имя_пользователя:имя_пользователя /путь/к/папке , где имя_пользователя — это имя нового пользователя. Эта команда изменит владельца папки на нового пользователя.
  3. Введите команду sudo chmod -R 755 /путь/к/папке , чтобы настроить права доступа к папке. Эта команда разрешит чтение, запись и выполнение для владельца и только чтение для остальных пользователей.

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

Настройка сетевого доступа к папке

Для того чтобы расшарить папку на Linux и предоставить к ней доступ в локальной сети, необходимо выполнить следующие шаги:

  1. Установить и настроить сервис Samba на вашей операционной системе Linux. Samba позволяет обеспечить совместимость сетевого протокола SMB, используемого в системах Windows. Установить Samba можно с помощью менеджера пакетов вашей дистрибутивы Linux.
  2. Настроить файл конфигурации Samba (обычно располагается в файле /etc/samba/smb.conf). В этом файле нужно указать имя вашей расшаренной папки, разрешить анонимный доступ или настроить аутентификацию пользователей.
  3. Перезапустить сервис Samba для применения изменений в файле конфигурации.
  4. Установить права доступа к папке таким образом, чтобы пользователи из локальной сети имели возможность ее видеть и открывать. Для этого можно воспользоваться командой chmod и указать нужные права.

После выполнения указанных выше шагов, ваша папка будет расшарена и доступна для использования в локальной сети. Пользователи с системами Windows смогут видеть вашу папку, если они откроют проводник и введут адрес общего ресурса в формате \\ip-адрес\имя_папки.

Вопрос-ответ

Как расшарить папку в Linux?

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

Как установить Samba на Linux?

Установка Samba на Linux может отличаться в зависимости от вашего дистрибутива. Но в большинстве случаев вы можете установить Samba с помощью менеджера пакетов вашей системы. Например, для Ubuntu и других дистрибутивов на основе Debian вы можете использовать команду: «sudo apt-get install samba». После завершения установки вы можете перейти к настройке Samba для расшаривания папки.

Какой файл нужно настроить для расшаривания папки в Linux?

Для настройки расшаривания папки в Linux вы должны изменить конфигурационный файл Samba, который называется smb.conf. Этот файл обычно располагается в директории /etc/samba/. Вы можете открыть файл в любом текстовом редакторе и внести необходимые изменения, такие как указание пути к расшариваемой папке и определение разрешений доступа для пользователей.

Настройка Linux Mint, часть 2: диски и сетевые папки

С одной стороны в Linux с открытием диcковых носителей и сетевых папок всё очень неплохо — стандартный файловый менеджер их отображает в левой части в разделе «Носители» и их можно щелчком мыши открыть (примонтировать в терминах Linux):

И если мы, например, щёлкнем по носителю с именем DATA — у нас откроется окно с данными этого диска. Система автоматически создаст точку монтирования в своей файловой системе (в каталоге /media) и присоединит туда этот дисковый том. Всё происходит незаметно для пользователя и ему не надо писать команды типа mount.

С другой стороны, это работает только в рамках одного сеанса работы с ОС. То есть, после перезагрузки мы должны будем перед первым использованием этого тома опять его открывать в проводнике. При обычном использовании данных это нормально — при открытии файла мы всё равно пойдем открывать этот том, а при сохранении можно выбрать «Другие места» и там выбрать этот том и уже туда сохранять. Но вот при использовании данных на этом диске без его подсоединения придётся забыть и, например, если у нас в музыкальном плеере есть композиции расположенные на этом томе, то при попытке проигрывания мы получим ошибку (ну и индексации музыкальной библиотеки можно тоже не ждать). Т.е. не происходит прозрачного подключения без использования файлового менеджера и, если мы хотим чтобы устройство было всегда доступно — надо настроить автоматическое подключение при старте системы.

Издавна в Linux существует специальный конфигурационный файл, который отвечает за подмонтирование устройств при загрузке ОС: /etc/fstab. Однако, неподготовленный пользователь вряд ли сможет внести туда корректные значения, поскольку он весьма «не юзер-френдли» и весьма непросто разобраться во всех хитросплетениях параметров. Зато в Linux Mint есть программа «Диски», с помощью которой нужную строку в etc/fstab можно вставить с помощью графического интерфейса:

Выбрав нужный диск и нужный раздел, мы нажимаем «шестеренки» и выбираем команду «Изменить параметры подключения». В открывшемся окне отключаем параметры по умолчанию для сеанса пользователя и ставим галку «Подключать при запуске системы»:

И указываем нужную точку подключения. Это должен быть каталог в файловой системе Linux, на который у пользователя есть полномочия. Можно было бы указать любой каталог в каталоге пользователя (/home/имя пользователя), благо у пользователя там есть полномочия и на чтение и на запись, но тогда другие пользователи (кроме root) данной ОС не смогут открыть это устройство — у них нет полномочий на папки других пользователей. Поэтому лучше всего создавать каталог в специальном месте и, если нам надо, чтобы другие пользователи могли обращаться к нему, предоставлять соответствующие полномочия. Ничего сложно и в этом нет. Каталог лучше всего создавать в папках специально предназначенных для подключения устройств — /mnt или /media (сюда подмонтируются устройства по умолчанию). В файловом менеджере у обычного пользователя не получится создать папку в этих каталогах, поскольку у него не будет прав на это. Нам потребуются права суперпользователя (root), однако не обязательно для этого заходить в терминал и писать команду sudo mkdir /media/data. Можно щелкнуть правой кнопкой мыши на рабочем столе и выбрать команду «Открыть как root»:

Откроется окно файлового менеджера с повышенными привилегиями:

Далее открываем файловую систему и заходим в каталог media, в котором обычным способом создаем нужный нам каталог. Потом щелкаем по нему правой кнопкой мыши и выбираем команду «Свойства», в открывшемся окне переходим к вкладке «Права» и определяем полномочия следующим образом:

Это даст полномочия всем пользователям читать и писать в данный каталог.

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

/dev/disk/by-uuid/cbf9b7fc-fabb-4dec-a5d9-2cb30c7b5a42 /media/data auto nosuid,nodev,nofail,x-gvfs-show 0 0

Где, как видно, все данные полностью повторяют скриншот параметров подключения. Таким образом, мы полностью обошлись без использования командной строки, хотя запустить пару команд в терминале и отредактировать файл /etc/fstab было бы, пожалуй, быстрее… Но только в том случае, если бы мы чётко представляли что делаем и каким образом.

Сетевые папки

А вот с использованием сетевых папок ситуация оказалась печальнее. Во-первых, у меня сразу возникли проблемы из-за моего роутера. К роутеру у меня через USB 3.0 подключен внешний диск, который роутер расшаривает по протоколу SAMBA, но почему-то версии 1.0, которая сейчас по умолчанию в Linux Mint отключена (видимо по причине его небезопасности). Поэтому расшаренные папки отлично видны — но не подключаются: имя и пароль не проходит. Вот тут мне пришлось лезть в конфигурационные файлы и разрешать использование данного протокола. В Windows 10 мне пришлось бы установить дополнительный компонент системы (SMB 1.0/CIFS Client):

А в Linux мне пришлось открыть файл /etc/samba/smb.conf на редактирование (всё с помощью того же файлового менеджера с повышенными привилегиями) и добавить туда две строки в раздел [global]:

client min protocol = NT1 client use spnego = no client ntlmv2 auth = no

После этого мои расшаренные папки на роутере стали открываться.

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

И открываем нужную папку. Система запросит ввод логина и пароля (если мы до этого не сохраняли эту информацию) и откроет нужный ресурс. Но надо понимать, что он будет находится по адресу протокола SAMBA: вида smb://rt-n18u-becc/backup/ (для папки BACKUP на ресурсе RT-N18U-BECC). Данный ресурс не подсоединён к файловой системе Linux и мы, соответственно, получаем ту же картину, что и с дисковым томом до этого: пока мы не подключили данный ресурс, обратиться к нему по имени у нас не получится: мы получим ошибку, что указанный адрес не подключён.

В этом случае нам на помощь опять приходит конфигурационный файл /etc/fstab, но вот тут возникает проблема — я не знаю ни одного GUI, с помощью которого можно было бы прописать туда подключение сетевого диска. Поэтому придётся действовать с помощью ручного редактирования данного файла:

В который мы добавили три строки для каждой из расшаренных папок:

//rt-n18u-becc/video /media/video cifs vers=1.0,credentials=/home/duke/.smbpasswd,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0 //rt-n18u-becc/music /media/music cifs vers=1.0,credentials=/home/duke/.smbpasswd,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0 //rt-n18u-becc/audiobook /media/audiobook cifs vers=1.0,credentials=/home/duke/.smbpasswd,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

Вначале идёт название сетевого ресурса (расшаренной папки), потом точка монтирования (создаём заранее как описано выше), протокол (cifs), набор опций и два нуля. Опции определяют параметры подключения и, самое главное, логин и пароль, с которым мы подключаемся к ресурсу. Чтобы не прописывать в файле /etc/fstab логин и пароль, можно заранее прописать их в определённом файле (лучше в папке пользователя, например .smbpasswd) и указывать этот файл (опция credentials), в котором в первой строке указан имя пользователя, а во второй — пароль:

Для использования протокола SMB версии 1.0 мне пришлось добавить опцию vers=1.0, без неё папки не монтировались.

Но если мы попробуем подключить сетевые папки по пути с названием (типа //rt-n18u-becc) мы получим следующую ошибку: could not resolve address for rt-n18u-becc, поскольку наша ОС ещё не представляет какой конкретно IP-адрес соответствует данному имени. Это можно поправить, если в файл /etc/hosts внести наше имя с конкретным IP-адресом (в случае с роутером мы его знаем и поменяться он может только при смене его настроек):

После этого перезагружаем ПК (или в терминале выполняем команду sudo mount -a) и получаем наши сетевые папки подмонтированными по тем путям, которые мы указали. И в дальнейшем можно пользоваться всеми преимуществами файловой системы — в любое время обращаться к данным в них, использовать их в библиотеках видео/аудио плееров.

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

С другой стороны, командную строку мы пока ещё не открывали, ну а правка конфигурационных файлов не такая уж редкость и для Windows.

В следующей части рассмотрим настройку шрифтов и ещё кое-чего.

P.S. Эта статья из цикла «Linux обычного пользователя» и, если она вас заинтересовала, то вы можете прочитать и другие статьи по этой теме.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://alkogolizm-zhi.vyvod-iz-zapoya-na-domu-sankt-peterburg-abc.ru/