Как открыть общий доступ к папке в Linux

Обновлено: 21.11.2024

Что нужно знать

  • Откройте Диспетчер файлов, щелкните правой кнопкой мыши папку «Общие» и выберите «Свойства» > «Общий ресурс в локальной сети» > «Поделиться этой папкой».
  • Затем выберите «Установить службу» > «Установить», введите пароль пользователя и выберите «Аутентификация».
  • После завершения установки дайте папке общее имя и добавьте необязательный комментарий.

Если в качестве операционной системы выбрана Linux, вы можете совместно использовать папки, как в Windows и macOS. Процесс прост с дистрибутивом Linux Ubuntu и рабочим столом GNOME. Вот как можно поделиться папками в Linux без ручного редактирования файлов конфигурации.

Поделиться общей папкой

Во многих современных дистрибутивах Linux в домашнем каталоге есть папка Public. Эта папка не является общедоступной автоматически, но это отличное место для начала совместного использования (поскольку у нее есть необходимые разрешения, необходимые для совместного использования).

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

Откройте диспетчер файлов.

Щелкните правой кнопкой мыши общую папку и выберите "Свойства".

Выберите локальную сетевую папку.

Установите флажок "Поделиться этой папкой".

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

Введите пароль пользователя, затем выберите "Аутентификация".

Позвольте установке завершиться.

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

Следующий шаг — решить, какие разрешения вы хотите предоставить для папки.

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

Если вы беспокоитесь о безопасности, снимите флажок "Гостевой доступ", а затем создайте учетную запись пользователя для всех, кому требуется доступ к вашей общей папке. Нажмите «Создать общий ресурс», а затем при появлении запроса нажмите «Добавить разрешения автоматически».

После этого закройте окно общего доступа к папкам. Папка Public теперь доступна из вашей сети. Доступ пользователей к этому диску зависит от используемой операционной системы. Например, в Windows 10 общая папка находится в разделе «Сеть», а затем — имя машины, которая предоставляет общий доступ к папке.

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

Я пытаюсь предоставить общий доступ к папке на одном компьютере с Ubuntu другому компьютеру с Ubuntu в той же домашней сети. Когда я щелкаю правой кнопкой мыши по папке и выбираю «Параметры общего доступа», мне говорят, что мне нужно установить службы общего доступа к сети Windows, чтобы делиться папками. Какое отношение к этому имеет Windows? Я не пытаюсь поделиться с компьютером Windows.

9 ответов 9

При чем здесь Windows? Я не пытаюсь предоставить доступ к компьютеру с Windows.

Вы правы, это может сбивать с толку. Итак, позвольте мне сначала уточнить термины:

Способ обмена файлами и принтерами в Windows называется SMB. Люди из проекта SAMBA реализовали все протоколы и спецификации Microsoft для Linux. Таким образом, Ubuntu поддерживает тот же тип общего доступа к файлам, что и Windows, который называется Samba.

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

В качестве альтернативы вы можете использовать способ Linux для обмена файлами, то есть NFS (сетевая файловая система). Этот ответ на предыдущий вопрос объясняет, как это сделать. (но это скорее техническое)

Итак, когда в диалоговом окне «Параметры общего доступа» предлагается установить пакеты, вы на самом деле не устанавливаете какое-либо программное обеспечение Microsoft или что-то в этом роде. Давай, сделай это, это совершенно безопасно.

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

Спасибо за объяснение. Забавно, что я пытаюсь уйти от Microsoft, а получается, что даже Linux использует кусочки их наработок. Угу.

Ну, разработчики самбы внедрили протоколы Microsoft гораздо лучше, чем сами Microsoft. Немного утешения :-)

Я считаю, что SSHFS нативная, стабильная и чрезвычайно быстрая. У меня есть две машины xubuntu (18.04), совместно использующие / домашние папки, и Intel NUC в качестве USB-накопителя «dropbox». Повсюду через sshfs.

ОБНОВЛЕНИЕ 2020-07-12: я нашел SSHFS для Windows. Чистый красивый графический интерфейс, нулевая конфигурация и работа с ключами SSH от linux-машин.

Вот как настроить sshfs и автоматическое повторное подключение после перезагрузки с помощью fstab без ввода пароля. Большое спасибо пользователю serverfault kubanczyk за то, как восстановить подключение после удаленной приостановки/возобновления.

Я буду использовать "Локальный компьютер — Surfbox" для компьютера, с которого вы подключаетесь, и "Удаленный компьютер – devbox" для компьютера, к которому вы подключаетесь.

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

ID группы: id -g localuser ID пользователя: id -u localuser

1. Получите IP-адреса ваших локальных и удаленных компьютеров.

Я буду использовать 192.168.1.150 для локальной машины ("surfbox") и 192.168.1.151 для удаленной машины ("devbox")

2. Установка пакетов на локальные и удаленные компьютеры

3. Создайте групповой предохранитель и добавьте в него localuser

Создать группу: sudo groupadd fuse

Добавить локального пользователя в группу: sudo usermod -a -G fuse $user

4. Включить «allow_other» в конфигурации предохранителей

Эта опция понадобится нам при монтировании в fstab

Отредактируйте файл /etc/fuse.conf в редакторе командной строки. Удалите хэштег перед user_allow_other и сохраните.

5. Создание ключей SSH на локальном компьютере

Не вводите пароль при появлении запроса. Просто нажмите Enter, чтобы оставить поле пустым.

Ключи хранятся в домашнем каталоге локального компьютера / папке .ssh

6. Перенесите публичный SSH-ключ локального компьютера на удаленный компьютер

ssh-copy-id -i ~/.ssh/id_rsa.pub remoteuser@192.168.1.151

Вам будет предложено ввести пароль для удаленного пользователя на удаленном компьютере. Открытый ключ локального компьютера теперь добавляется в файл ~/.ssh/authorized_keys на удаленном компьютере.

7. Создайте каталог на локальном компьютере /mnt, куда вы будете монтировать удаленный компьютер /home папку.

Выберите любое имя, подходящее для вашей удаленной машины.

sudo mkdir /mnt/devboxhome

8. Смонтируйте удаленный компьютер/домашний каталог из терминала

Синтаксис для sshfs

sshfs [пользователь@]хост:[каталог] точка монтирования [параметры]

sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa

пример: предполагается, что "steve" является именем пользователя как на локальном, так и на удаленном компьютере

sudo sshfs steve@192.168.1.151:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa

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

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

9. Проверка: просмотр удаленного компьютера/домашнего каталога

В терминале на локальном компьютере теперь можно перечислить удаленный компьютер/домашний каталог в /mnt/devboxhome

cd /mnt/devboxhome ls

или используйте Nautilus для просмотра каталога. Отлично.

10. Включить повторное подключение после перезагрузки

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

  • delay_connect заставляет ядро ​​ждать, пока сеть не заработает, пока оно не попытается смонтировать каталог на удаленной машине.
  • Поскольку мы работаем от имени пользователя root, во время загрузки мы должны указать ключевой файл, который хранится в домашнем каталоге локального пользователя.
  • allow_other — доступ к смонтированной файловой системе могут получить только пользователи, не выполняющие фактическое монтирование.
  • idmap=user — переводить только UID подключающегося пользователя
  • reconnect, ServerAliveInterval, ServerAliveCountMax — ssh отправляет эхо-запросы проверки активности. Если последовательные эхо-запросы ServerAliveCountMax завершаются неудачно, повторно подключитесь.

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

steve@192.168.1.151:/home/steve/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,ServerAliveInterval=15,ServerAliveCountmax=3,allow_other,identityfile=/home/steve/.ssh/id_rsa ,idmap=пользователь,uid=1000,gid=1000 0 0

ВАЖНО: косая черта после удаленного каталога: steve@192.168.1.151:/home/steve/

сохраните /etc/fstab и .

11. Перезагрузить

Теперь у вас должен быть доступ к каталогу удаленного компьютера /home на локальном компьютере /mnt/devboxhome. В Nautilus вы можете перетащить эту папку на панель меток

12. Повторить

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

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

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

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

Затем добавьте существующего пользователя, который будет иметь права на запись в каталог: /var/www/reports/ в групповой проект, как показано ниже.

  1. -a — добавляет пользователя в дополнительную группу.
  2. -G — указывает имя группы.
  3. проект — название группы.
  4. tecmint – существующее имя пользователя.

После этого перейдите к настройке соответствующих разрешений для каталога, где параметр -R разрешает рекурсивные операции с подкаталогами:

Объяснение разрешений 2775 в команде chmod выше:

  1. 2 — включает бит setGID, подразумевая, что вновь созданные подфайлы наследуют ту же группу, что и каталог, а вновь созданные подкаталоги наследуют установленный бит GID родительского каталога.
  2. 7 – предоставляет право доступа rwx для владельца.
  3. 7 – дает права доступа rwx для группы.
  4. 5 – предоставляет права приема другим пользователям.

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

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

Теперь вы можете создавать файлы/папки и делиться ими с другими пользователями в той же группе.

Вот оно! В этом руководстве мы рассмотрели, как разрешить доступ на запись для всех пользователей в определенном каталоге. Чтобы узнать больше о пользователях/группах в Linux, прочтите Как управлять правами доступа и атрибутами файлов пользователей/групп.

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

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

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint!для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

Похожие сообщения

15 мыслей о том, как создать общий каталог для всех пользователей в Linux

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

«Стандартное поведение для новых файлов и подкаталогов — ВСЕГДА получать ГРУППУ создателя» — RHCSA RHEL 8, А. Гори, 1-е издание. В примере из этого руководства я не понимаю, почему мы включили setgid для каталога, ПОСКОЛЬКУ все созданные системные пользователи (aaronkilik, john и ravi) принадлежат к той же группе (называемой «проект»), что и группа родительского каталога. «отчеты» (проект sudo chgrp -R /var/www/reports/).

Я имею в виду, что если пользователь aaronkilik или любой другой из двух пользователей создает файл или подкаталог в «отчетах», поскольку aaronkilik принадлежит к группе под названием «проект», созданный файл/подкаталог получает группа, как указано на первом этапе, то есть группа «проект».

Зачем нужно включать setgid для каталога «проект»? Может и есть причина, но я ее сейчас не вижу. Я мог видеть причину включения setgid в случае, если три созданных системных пользователя принадлежали к разным группам (в этом случае также потребуется chmod -R 2777 /var/www/reports/). Спасибо.

Нужна помощь в настройке нескольких общих каталогов для проектов через панель графического интерфейса пользователя в Ubuntu на работающем в данный момент сервере?

Что, если пользователь скопирует или переместит дерево каталогов из своего домашнего каталога в общий?
Я не думаю, что поддиректории волшебным образом изменят свою группу, пусть рекурсивно, потому что они не созданы заново…

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

Я думаю, что 2775 вам не нужен. Более безопасно использовать chmod -R 2770. В этом случае только нужные пользователи/группа могут получить доступ к этой общей папке, а любые другие не будут иметь доступа.

Да, вы правы, мы должны были использовать chmod -R 2770, другим пользователям системы будет заблокирован доступ к общему каталогу. Однако всегда устанавливайте разрешения в зависимости от потребностей вашей среды.

В моем случае мне нужно было, чтобы общая папка была доступна и для apache. Пришлось использовать «chmod -R 2775». Если бы я использовал «chmod -R 2770», apache не смог бы получить доступ к папкам.

Привет,
Спасибо, очень полезный материал,
Я создал общий каталог в /opt

Добро пожаловать и большое спасибо, что ответили нам.

Я предполагаю, что в вашем дистрибутиве Apache имеет базовый каталог в /var/www, в отличие от дистрибутива, такого как Fedora, который начинается в /var/www/html/. Это было бы хорошо для пользователей, которые хотят создать веб-сайт вместе или обмениваться общими отчетами через веб-сервер. Еще один хороший вариант — использовать ACL с командой facl.

Конечно, использование ACL также является надежным и эффективным вариантом. Спасибо за предложение.

@ray ACL не имеет ничего общего с разрешением setGID

Очень полезно для начинающего администратора.

Возможно, вам следует подчеркнуть, что /var/www не является подходящим местом для того, чтобы «обычные пользователи» могли хранить данные, если только вы не можете гарантировать, что они находятся в другой файловой системе, чем /var; если пользователь решит заполнить его, файлы системного журнала больше не будут записываться

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

Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ

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

Если вы работаете с разными операционными системами, удобно иметь возможность обмениваться файлами между ними. В этой статье объясняется, как настроить доступ к файлам между Linux (Fedora 33) и Windows 10 с помощью Samba и mount.cifs.

Samba — это реализация протокола SMB/CIFS для Linux, обеспечивающая прямой доступ к общим папкам и принтерам по сети. Mount.cifs является частью пакета Samba и позволяет монтировать файловую систему CIFS в Linux.

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

Доступ к Linux из Windows

В этом разделе объясняется, как получить доступ к домашнему каталогу пользователя Linux из Проводника Windows.

1. Установите и настройте Samba

Начните в своей системе Linux с установки Samba:

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

Подробное описание параметров можно найти в разделе smb.conf на сайте проекта.

2. Изменить LinuxSE

Если ваш дистрибутив Linux защищен SELinux (как и Fedora), вы должны разрешить Samba получить доступ к домашнему каталогу пользователя:

Убедитесь, что значение задано, введя:

Ваш вывод должен выглядеть следующим образом:

3. Включите своего пользователя

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

Вам будет предложено ввести пароль. Это совершенно новый пароль; это не текущий пароль для вашей учетной записи. Введите пароль, который вы хотите использовать для входа в Samba.

Чтобы получить список разрешенных типов пользователей:

Удалите пользователя, введя:

4. Запустить самбу

Поскольку Samba — это системный демон, вы можете запустить его в Fedora с помощью:

Это запускает Samba для текущего сеанса. Если вы хотите, чтобы Samba запускалась автоматически при запуске системы, введите:

В некоторых системах демон Samba зарегистрирован как smbd .

4. Настройте брандмауэр

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

Вы можете сделать это в командной строке с помощью:

Или вы можете сделать это графически с помощью инструмента настройки брандмауэра:

5. Доступ к Samba из Windows

В Windows откройте Проводник. В адресной строке введите две обратные косые черты, а затем адрес вашего компьютера с Linux (IP-адрес или имя хоста):

Вам будет предложено ввести данные для входа. Введите комбинацию имени пользователя и пароля из шага 3. Теперь вы сможете получить доступ к своему домашнему каталогу на компьютере с Linux:

Доступ к Windows из Linux

Следующие шаги объясняют, как получить доступ к общей папке Windows из Linux. Для их реализации вам потребуются права администратора в вашей учетной записи пользователя Windows.

1. Включить общий доступ к файлам

Откройте Центр управления сетями и общим доступом, нажав кнопку

Кнопка Windows > Настройки > Сеть и Интернет

или щелкнув правой кнопкой мыши значок маленького монитора в правом нижнем углу панели задач:

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

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

Запомните свой сетевой профиль и нажмите Изменить дополнительные параметры общего доступа:

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

2. Определите общую папку

Откройте контекстное меню, щелкнув правой кнопкой мыши папку, к которой вы хотите предоставить общий доступ, перейдите к Предоставить доступ и выберите Конкретные люди. :

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

Вы можете отобразить список всех общих папок, введя \\localhost в адресной строке Проводника:

3. Смонтируйте общую папку под Linux

Монтирование общих ресурсов Windows выполняется с помощью файла mount.cifs, который должен быть установлен по умолчанию. Чтобы временно смонтировать общую папку, используйте:

В этой команде:

Вам будет предложено ввести пароль Windows. Введите его, и вы сможете получить доступ к общей папке в Windows с обычным пользователем Linux.

Чтобы размонтировать общую папку:

Дополнительные ресурсы по Linux

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

Обзор

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

Отправляйте отсканированные изображения на компьютер Linux по сети

Настройте общий ресурс Samba, чтобы сделать сканер легко доступным для компьютера Linux по сети.

5 альтернатив Dropbox с открытым исходным кодом

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

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