Использование Samba для совместного использования папок Linux с другим ПК или виртуальной машиной

Один из самых популярных вопросов Давних пользователей Linux спрашивают: « Как мне создать сетевой ресурс, который будет видеть Windows? », и на это есть веские причины. Создание общего сетевого ресурса в Linux — достаточно простое дело, но ваши знания о том, как выполнить тот же трюк в знаменитой ОС Редмонда, могут не слишком сильно помочь.

Лучшее решение для совместного использования папок Linux по сети — это программа, примерно такая же старая, как и сам Linux: Samba. Несмотря на то, что инструмент разработан для поддержки протокола SMB Windows, он давно стал популярным в Linux. Его слоган — «Открытие Windows в более широкий мир», и он как нельзя лучше подходит для того, что он делает.

Руководств по установке и использованию Samba — это дюжина Dogecoin, так что что я? м, надеясь добиться с помощью этого , — сделать его простым. Я также хотел бы привести несколько необычных примеров того, что с ним можно сделать, в том числе то, что можно сделать на виртуальной машине Windows.


Общие ресурсы Linux, отображаемые как сетевые диски в Windows

Samba — популярный инструмент Linux, и, скорее всего, он у вас уже установлен? Чтобы убедиться в этом, откройте терминал и проверьте, существует ли его папка конфигурации:

ls -l/etc/samba

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

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

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

В более редких случаях установки Samba может быть недостаточно. Необходимым аналогом является модуль ядра CIFS (общая файловая система Интернета), который, в свою очередь, требует поддержки FUSE (файловая система в пространстве пользователя). Скорее всего, обо всем этом позаботятся, следуя руководству по Samba для конкретного дистрибутива. Если нет, я бы рекомендовал зайти в поисковую систему и запросить «CIFS (Your Distro)» для получения дополнительной информации.

Настройка Samba

После установки Samba файл конфигурации по умолчанию с именем smb.conf.default можно найти в/etc/samba. Этот файл нужно скопировать в ту же папку с именем smb.conf , но перед этим стоит запустить тот же ls -l/etc /samba , как указано выше, чтобы узнать, есть ли в вашем дистрибутиве этот файл.. Если он не существует, это так же просто, как ввести sudo (или sudo -s, чтобы временно сохранить расширенные привилегии, или su для систем без sudo) и использовать файл по умолчанию:

cp/etc/samba/smb.conf.default/etc/samba/smb.conf

Вот реальный пример:

Конфигурация пользователя Samba определяется этим файлом smb.conf, поэтому его необходимо отредактировать для создания общих ресурсов. Для этого существует ряд графических инструментов, но я рекомендую отредактировать файл внутри терминала, используя «nano» или «vim». Обычно я стараюсь не рекомендовать терминал тем, кто предпочитает графический интерфейс, но здесь нечего бояться — это все простой текст и прямолинейно.

Использование nano: файл конфигурации Samba можно редактировать (как sudo, sudo -s или su) с помощью команды nano -w/etc/samba/smb .conf . nano работает как обычный текстовый редактор, поэтому удалите и добавьте. После этого нажмите Ctrl + X; когда появится запрос на сохранение, нажмите Y, а затем Enter.

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


Настройка общего ресурса Samba в KDE

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

  • Перейдите в центр управления вашей ОС и найдите параметры совместного использования или сети.
  • Перейдите в поисковую систему и введите, «(Your Distro) Samba GUI».
  • Откройте smb.conf в текстовом редакторе от имени пользователя root (или sudo). Запустите приложение через терминал.

Самая сложная часть настройки Samba — это не редактирование файла smb.conf, а понимание всех предоставляемых параметров. К счастью, файл конфигурации по умолчанию включает в себя тонну примеров, поэтому я настоятельно рекомендую просмотреть их, чтобы понять суть вещей. Я также рекомендую отредактировать параметр workgroup = VALUE в верхней части файла (я использую WORKGROUP).

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

[Имя общего ресурса]
path =/home/username/Share
option = value

[Имя общего ресурса] — это имя папки, которая будет доступна для просмотра после ввода имени сетевого хоста (например: \ LINUXPC Имя общего ресурса). Путь будет к папке Linux, которая будет доступна после входа в этот общий ресурс. Что касается вариантов, то их много. Как я уже упоминал выше, сам файл smb.conf содержит несколько примеров; для всех остальных есть огромная страница на официальном сайте, чтобы позаботиться обо всем остальном. Тем не менее, давайте рассмотрим несколько наиболее распространенных.

guest ok = yes
— гостевые учетные записи могут использовать общий ресурс; ака: без паролей.
только для гостей = да
Только гости могут использовать общий ресурс.
Writable = yes
— общая папка позволит записывать в нее файлы.
только для чтения = да
— файлы не могут быть записанным в общий ресурс, просто прочтите.
force user = username
— действовать от имени этого пользователя при доступе к общему ресурсу, даже если другой пользователь/пароль предоставлено.
force group = groupname
— действовать от имени этой группы пользователей при доступе к общему ресурсу. username = username, username2, @groupname
— если пароль совпадает с паролем одного из этих пользователей, доступ к общему ресурсу будет доступен.
допустимые пользователи = username, username2, @groupname
— Как и выше, но требует, чтобы пользователи вводили свое имя пользователя.

Вот несколько примеров общих ресурсов I используйте:

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

Каждый раз, когда файл smb.conf редактируется, Samba следует перезапускать, чтобы отразить изменения. В большинстве дистрибутивов выполнение этой команды от имени sudo (или su) должно позаботиться об этом:

/etc/init.d/samba restart

Для Ubuntu-based distros, возможно, потребуется использовать служебную команду. Как sudo:

service smbd restart

Если ни одна из этих команд не работает, обратитесь к документации вашего дистрибутива.

С Samba все настроено , давайте подключимся к нашим общим папкам!



Как просматривать и просматривать общие папки Windows во всей локальной сети?

Итак, как следует из названия, я ищу способ отобразить все общие папки на всех общих машинах в локальной сети MS Windows.

Я могу перечислить общие ресурсы на известная машина Windows с:

  smbclient -L//SERVER -U username  

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

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

У меня есть значок «Сеть Windows» в Thunar, но он показывает только мой собственный общий ресурс, который я настроил с помощью самба . В MS Windows можно увидеть все «соседние» машины, предлагающие общие папки, я могу легко их просматривать и т. Д.

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

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

Кроме того, smbtree ничего не показывает, но общие ресурсы Windows видны всем остальным Пользователи Windows.

Кроме того, avahi-browse -a также не возвращает ничего, кроме общих ресурсов, уже видимых в Thunar, а это далеко не все из них.


Для решения на основе терминала вы можете использовать

  nmblookup -S '*'  

, который показывает все общие ресурсы Samba в вашем широковещательном домене.

Больше можно найти здесь.


Я использую Manjaro 18 с xfce и файловый менеджер Thunar.

Я обнаружил, что ввод вручную:

  smb://SERVER_IP/...  

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

(выполняется ~ $ smb: //SERVER_IP в терминале также будет работать)

Оцените статью
clickpad.ru
Добавить комментарий