Linux mint настройка samba

Обновлено: 08.07.2024

18 фев 2018, 20:27

Который установит следующие пакеты в Cinnamon: Будут установлены следующие пакеты NEW:
python-dnspython samba python-dnspython python-ldb python-samba python-tdb samba samba-common-bin [2] Возможно, вы захотите воспользоваться другой возможностью, чтобы установить Ubuntu way: Будут установлены следующие пакеты NEW:
libaio1 python-dnspython samba samba-dsdb-modules samba-vfs-modules libaio1 python-dnspython python-ldb python-samba python-tdb samba
samba-common-bin samba-dsdb-modules samba-vfs-modules

Разница путей (way?) в том, что когда Mint устанавливает данное приложение, он не всегда тянет во всех зависимостях, в то время как Ubuntu делает это, потому что он использует "рекомендованные" зависимости по умолчанию .

БОНУСНАЯ ИНФОРМАЦИЯ 1 :
Ubuntu не устанавливает компоненты сервера samba по умолчанию, но когда пользователь переходит в Nautilus> щелкните правой кнопкой мыши папку> Local Network Share, его спросят, хочет ли он установить его:

Если вы сделаете то же самое в Mint Cinnamon, вы получите эту сумасшедшую вещь (crazy thing):

Специальное примечание для всех пользователей MATE : для создания акций samba из вашего файлового менеджера вам необходимо установить этот пакет:

БОНУСНАЯ ИНФОРМАЦИЯ 2 :
Некоторые люди устанавливают пакет: system-config-samba в качестве графического интерфейса для администрирования Samba. Этот пакет не обновлялся годами, поэтому он не запускается, пока вы не выполните это в первую очередь: Из-за этого age (?) system-config-samba позволяет пользователю устанавливать определенные параметры, которые были текущими в Версии 2 или 3 Samba, но в Samba 4 фактически отключит самбу. Например, если вы используете настройку «Режим проверки подлинности» для «Share» или «Server», samba не будет работать, поэтому будьте осторожны с этой штукой.
(т.е. нужно проверить версию самбы? (прим. переводчика))

(что, видимо, означает, что при версиях самбы 4 и выше, необходимо сносить system-config-samba? (прим. переводчика))

Что подсказывало этот мини-подход, я уже видел вещи в Интернете для Mint 18, где люди предлагают установить кучу других вещей, таких как winbind, или создать собственный interocitor, или запустить свой собственный персональный спутник связи на низкую земную орбиту. Это не должно быть связано с этим.

Linux mint 19 не работает samba

Все привет появилась такая проблема в операционной системе linux mint 19 не работает samba в этой статье разберем настройку и установку samba а также рассмотрим несколько ошибок при которых не запускается samba .

Установка и настройка Samba на Linux Mint 19

Чтобы установить Samba на Linux Mint, войдите в командную строку и введите следующую команду:

Введите свой пароль для аутентификации, и apt загрузит и установит Samba и его вспомогательные утилиты для вас. Главное, что нужно знать о Samba, заключается в том, что он хранит собственный набор учетных записей пользователей, отдельно от основных учетных записей, в файле / etc / samba / smbpasswd. Это означает, что вам нужно создать отдельный пароль Samba для каждого пользователя, которому вы хотите получить доступ к общим папкам. Вы создаете этот пароль, используя команду smbpasswd. Вот как должна выглядеть команда для создания учетной записи Samba для учетной записи пользователя, называемой camalas:

sudo smbpasswd -a camalas

Обязательно дайте учетной записи Samba Camalas надлежащим образом надежный пароль (включая прописные, строчные, пунктуационные и цифры). Как только будет создан пароль camalas, следующим шагом будет создание каталога для ее совместного использования. Начните с создания папки с именем «test» в папке camalas, которую мы будем использовать для нашей первой общей папки:

mkdir / home / camalas / test

(ПРИМЕЧАНИЕ. НЕ используйте sudo для создания папки, потому что тогда владелец и группа будут установлены как «root», что означает, что вы не сможете получить доступ к папке, используя ваше имя пользователя и пароль Samba.)

Следующим шагом будет отредактировать файл /etc/samba/smb.conf, основной файл конфигурации для Samba. Как всегда, сделайте безопасную резервную копию исходного файла smb.conf в домашней папке, если вы сделаете ошибку:

Теперь используйте vi для редактирования файла /etc/samba/smb.conf:

sudo vi /etc/samba/smb.conf

Файл smb.conf длинный и довольно сложный, но для целей этой демонстрации вы можете игнорировать большинство из них. Нажмите до самого конца файла и вставьте этот текст:

path = /home/camalas/test

available = yes

valid users = camalas

read only = no

browseable = yes

public = yes

writable = yes

(Между строками не должно быть пробелов, и также обратите внимание, что должно быть одно пространство как до, так и после каждого из равных знаков.)

Вот что означают некоторые из наиболее важных параметров конфигурации.

test - дает имя файла.

path - указывает местоположение папки для совместного использования.

available - указывает, что общий доступ к файлам доступен для клиентов в сети.

valid users - указывает пользователям, которым разрешен доступ к файловому ресурсу. В этом случае мы установили его так, чтобы доступ к нему мог получить только учетная запись camalas. Вы можете добавить дополнительные учетные записи здесь, если хотите.

read only - указывает, не разрешается ли клиентам писать в общий ресурс файла.

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

Настройки, указанные выше, будут совместно использоваться тестовой папкой, которую мы создали ранее, и даем имя пользователя camalas и только имя пользователя camalas для чтения и записи в папку. После ввода изменений сохраните smb.conf, выйдите из vi и перезапустите Samba с помощью этой команды:

sudo samba restart

(Это заставит Samba перезагрузиться, перечитав файлы конфигурации и активировав только что созданную вами.) После перезапуска Samba используйте эту команду, чтобы проверить smb.conf для любых синтаксических ошибок:

sudo testparm

Если вы передадите команду testparm, Samba должна работать.

Linux mint 19 не работает samba

Решение. Переустановил все пакеты, относящиеся к самбе заново, и выполнил Код: sudo touch /etc/libuser.confкак посоветовал fisher74. Не знаю, что именно из этого помогло, но теперь графический интерфейс запускается. Кстати, libuser.conf пустой.

Проблема. Не стартует smbd При проверке статуса пишет:smbd service smb status smbd is dead, but stale PID file exists

Решение. Уберите passdb backend из параметров.

Проблема. Не обнаруживается принтер в сети

Решение . Запустил компьютер с живой загрузочной версией Mint 18.3. Вся работа в сети, обнаружение принтера работало, поэтому я скопировал файл smb.conf из папки / etc / samba. Затем перезагрузили установленный Mint 19 (где обнаружение сети / принтера не сработало) и заменил файл /etc/samba/smb.conf версией, скопированной с Linux mint 18.3. Затем я перезагрузил систему. При перезагрузке обнаружение сетевого принтера работало, но просмотр файлового менеджера не выполнялся. Затем я добавил протокол клиентского интерфейса max = NT1 после того, как WORKGROUP = WORKGROUP снова перезагрузил систему, и все сработало, включая просмотр файлового менеджера.

Этичный хакинг и тестирование на проникновение, информационная безопасность

Книга по SMB и Samba на русском языке. Оглавление

Samba — это SMB для Linux

Далее мы будем говорить про Samba, но мы затронем только вопросы SMB.

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

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

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

Как в Linux увидеть все компьютеры Windows с совместными ресурсами

Для показа всех совместных сетевых ресурсов Windows выполните команду:

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


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

Как можно увидеть выше, для компьютера \\VYACHESLAV получен список совместно используемых ресурсов, а для компьютера \\HACKWARE-MIAL — нет. При этом если я включал на компьютере \\HACKWARE-MIAL поддержку протокола SMB 1, а при запуске команды указывал хоть какое-то имя пользователя, например:

либо просто запускал smbtree с правами администратора:

то мне удавалось получить список файлов также и для компьютера \\HACKWARE-MIAL. UDP: видимо, такое поведение в том, что совпадали имена польозвателей на компьютерах с Linux и Windows.

Как в Linux вывести доступные по сети ресурсы (совместные папки и принтеры Windows)

Предыдущая команда показала нам несколько компьютеров с сетевыми папками. Предположим, меня интересует компьютер \\HACKWARE-MIAL, чтобы вывести его сетевые папки я запускаю команду вида:

в моём случае это:


Кстати, вместо имени компьютера можно указать IP адрес.

В полученном выводе Share и Users являются общими сетевыми папками.

исчезнут, если создать файл /etc/samba/smb.conf.

пропадут, если на компьютере с сетевой папкой включить поддержку протокола SMB1.

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

Как и для smbtree, для smbclient необязательно использовать sudo, но без sudo для некоторых компьютеров программа срабатывает нормально, а для некоторых завершается ошибкой:

Как подключиться к сетевой папке Windows из Linux

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

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

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

Например, я хочу подключиться к компьютеру //HACKWARE-MIAL/ и выполнить действия с файлами в сетевой папке Share, тогда моя команда следующая:

Если вы хотите, чтобы при подключении была изменена текущая рабочая директория в сетевой папке, то есть чтобы была открыта другая папка, то используйте опцию -D. К примеру, я хочу подключиться к папке NewFolder, тогда команда следующая:

Подключение к SMB папке, требующий авторизации

К примеру, на компьютере //HACKWARE-MIAL/ имеется сетевая папка ShareRestricted, права на просмотр которой есть у пользователя ShareOverlord. Для просмотра шары, защищённой паролем, нужно использовать команду вида:

В моём случае это команда:


Команды SMB в Linux

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

Выводит все доступные команды:

Для показа справки по определённой команде, выполните

Переход в другой каталог (смена текущей рабочей директории) на удалённой системе:

Переход в другую директорию на локальной системе:

Удаление файла в шаре:

Имеется псевдоним этой команды:

И ещё одна команда со схожей функцией:

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

Показ файлов и папок в текущей папке:


Имеется псевдоним этой команды:

И ещё один, даже более короткий псевдоним:

Для повторного скачивания файла:

Для скачивания всех файлов, чьём имя совпадает с шаблоном:

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

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

Также имеется команда newer, которая скачивает файлы (mget), которые новее, чем указанный локальный файл. Используется она так:

Выгрузка файла на общую папку:

Следующая команда скопирует локальный файл в шару:

Повторная закачка файла:

Для закачки всех файлов, чьём имя совпадает с шаблоном:

К примеру, чтобы закачать в шару все файлы (из локальной текущей рабочей директории), которые имеют расширение *.cap, нужно запустить команду:

Для каждого файла, совпавшего с шаблоном, будет выполнен запрос подтверждения, если вы действительно хотите его закачать, то нажмите клавишу «y»:


Включение и отключение рекурсии

Можно включать и отключать рекурсивный режим для mget и mput.

Показ всей возможной информации о файле:


В выводимой информации можно увидеть альтернативное (DOS) имя, временные метки (дата создания, доступа, записи и изменения файла), атрибуты.

Копирование файла на сервере:

Создание директории:

Удаление директории:

Удаление файлов

Следующая команда удалит все совпавшие с МАСКОЙ файлы:

Псевдоним команды для удаления файлов:

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

Переименование файлов:

Ссылки

Создание жёсткой ссылки Windows:

Создание жёсткой ссылки UNIX:

Создание символьной ссылки UNIX:

Выход с сервера:

Вывод истории команд текущей сессии:

Просмотр содержимого текстового файла:

Показ текущей рабочей директории:

Другой вариант показа текущей рабочей директории — это команда cd без аргументов:

Создание и извлечение архивов tar

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

К примеру, я хочу скачать файлы all-databases.sql besside.log ChromeSetup.exe из совместной папки и объединить их в архив all.tar, тогда моя команда следующая:

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

Установка таймаута операций:

Таймаут устанавливается в секундах и по умолчанию равен 20.

Установка нового соединения:

Закрытие сессии, выход:

Вывод списка открытых подключений:

Отображение текущего активного подкючения:

Изменение удалённой директории (переход на одну папку выше):

Выполнение команд в локальной системе:

Чтобы команда выполнялась не на удалённой системе, а на локальной, поставьте перед ней ! (восклицательный знак), например^

Автоматическое выполнение команд в сетевой папке Windows

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

Как смонтировать общую папку Windows/Samba в Linux

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

Начните с установки пакета cifs-utils.

В Debian, Linux Mint, Ubuntu, Kali Linux и производных выполните:

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

Предыдущие команды smbtree и smbclient понимали имена компьютеров Windows, такие имена как HACKWARE-MIAL. Монтирование выполняется с помощью команды mount, которая такие имена не умеет обрабатывать без помощи преобразования имён DNS. Поэтому при монтировании можно либо:

  1. Использовать вместо имён компьютеров IP адрес. В этом случае у компьютера с сетевой папкой должен быть постоянный (статичный) IP адрес
  2. Либо настроить преобразование имён для компьютеров Windows. Это можно сделать, например, с помощью файла /etc/hosts. Кстати, в этом случае у компьютера с общей папкой также должен быть постоянный IP адрес (смотрите Как настроить локальный DNS используя файл /etc/hosts в Linux)

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

Если вы хотите настроить преобразование имён с помощью файла /etc/hosts, то откройте его:

И добавьте туда запись вида

Например, у меня IP_АДРЕС это 192.168.0.101, а именем компьютера является HACKWARE-MIAL, тогда я добавляю следующую запись:

Пингуем по имени компьютера Windows, чтобы убедиться, что всё сработало:

Чтобы не возникало проблем с правами доступа, папка, куда монтируется шара (например, /mnt/share/), должна принадлежать текущему пользователю Linux — если вы создавали папку без sudo, то она уже принадлежит обычному пользователю. Но если вы создавали папку с sudo (например, иначе это невозможно сделать в /mnt/), то вам нужно поменять её владельца командой вида::

Например, чтобы поменять владельца папки /mnt/share/ на текущего пользователя:

Теперь для монтирования сетевой шары Windows нужно запустить команду вида:

В этой команде вы должны вставить свои значения для

Значение других элементов команды:

  • sudo — монтировать шару можно и без прав суперпользователя, но использовать опцию -o, после которой указываются опции для монтирования, можно только с правами root
  • -t cifs выбор файловой системы для монтирования
  • -o означает, что после этой опции будут перечислены опции для монтирования:
  • username=guest,password= - произвольное имя пользователя без пароля — используется для подключение к общей папки, для которой не требуется вход. Вместо этой конструкции можно указать просто guest, но в этом случае на некоторых системах всё равно запрашивается пароль. По моим наблюдениям, пароль запрашивается когда имя текущего пользователя на Linux совпадает с именем пользователя на Windows
  • uid=1000 — в качестве владельцев всех файлов в шаре будет указан текущий пользователь Linux
  • iocharset=utf8 — эта кодировка позволяет работать с именами файлов, в которых используются не только латинские буквы

К примеру, путь до сетевой шары у меня //HACKWARE-MIAL/Share, её я хочу смотрировать в папку /mnt/share, тогда команда будет следующей:

Вид сетевой папки Windows в Double Commander:


Вид сетевой папки в стандартном проводнике Linux:


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

Напомню, что в предыдущей части я не только настроил папку для входа без пароля, но на том же самом компьютере и настроил вторую папку с именем ShareRestricted. У этой папки владелец ShareOverlord, а пароль для входа 1234. Для подключения папки, доступ к которой возможен только по паролю, используется та же самая команда, но нужно указать реальные учётные данные:

Чуть дальше очень похожий набор опций, в том числе пароль в открытом виде, мы будем использовать в файле /etc/fstab для настройки автоматического монтирования сетевой папки. Файл /etc/fstab доступен для чтения всем а, следовательно, также доступен всем ваш пароль от Windows в нём. Чтобы обойти эту проблему, можно использовать файл с учётными данными. Это файл содержит только имя пользователя и пароль.

Используя текстовый редактор, создайте файл с учётными данными для входа на ваш удалённый сервер:

В этот файл введите имя пользователя и пароль от Windows:

В моём примере это:

Сохраните файл и закройте редактор.

Измените права доступа к этому файлу, чтобы предотвратить нежелательный доступ к вашим учётным данным:

Посмотрите абсолютный путь до этого файла:

В моём случае абсолютный путь:

Теперь вместо двух опций:

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

Моя команда стала выглядеть так:

Настройка автоматического монтирования сетевой папки в Linux

Автоматически монтируемые файловые системы прописываются в файле /etc/fstab. Откроем этот файл:

Теперь в него нужно добавить строку вида:

Мы добавили опцию nofail, чтобы ОС нормально загружалась даже если не удалось смонтировать данную файловую систему. Ещё добавьте опцию _netdev, эта опция означает, что файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть).

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

Сохраним и закроем этот файл. Для проверки выполним:

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

Если нужно смонтировать папку для входа в которую не требуется пароль, то используйте в качестве опции учётные данные «username=guest,password=»:

Либо можно по-прежнему использовать файл .smbcredentials, как это было показано выше:

/.smbcredentials запишите следующее:

Как создать общую сетевую папку в Samba

Если в этой статье вы пропустили предыдущие части, так как вам нужно только настроить файловый сервер на Linux, то начните с установки пакета samba.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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


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


среда, 22 мая 2013 г.

Локальная сеть между Windows 7 и Linux Mint


1. Вариант установки пакетов каждый выбирает сам для себя (Synaptic или Terminal).



Все должно пройти гладко и вопросов по установке, в принципе, не возникнет.

2. Далее, нам нужно отредактировать файл конфигурации samba. Для этого в Терминале пишем следующее:



Здесь необходимо указать группу, в которой будут состоять компьютеры. Можете указать дефолтную для Windows (WORKGROUP), но я решил ее поменять. Название я указывал через Caps Lock, но, потом заметил, что регистр для записи неважен.

3. После того, как имя группы указано, сохраняем файл и перезагружаем samba следующей командой:


4. Теперь, если группа была указана дефолтная, в сетевом окружении должны опознаться оба компьютера. Если этого не произошло, проверяем имя рабочей группы в Windows:


В случае, если оно не совпадает с той, что была указана выше в файле smb.conf, то, прописываем правильное, нажав на Изменить параметры -> Изменить . Перегружаем компьютер. Заходим в сетевое окружение. Компьютеры подружились? Отлично. Нет? Проверяем пошагово корректность проделанных манипуляций.



5. Теперь нам необходимо научить системы правильно шарить ресурсы. Возвращаемся в Mint и запускаем Samba:

либо же ищем ее списке установленных приложений. Появится окно, в котором уже, возможно, будут какие-то записи. Добавляем свою шару, клацнув на зеленый плюсик.


На первой вкладке указываем ресурс для расшаривания

Не забываем ставить галочки на двух пермиссиях внизу. Затем идем в настройки Samba.


Эти же действия можно выполнить через Terminal, с помощью команд:



Осталось расшарить какую-либо папку. Делаем это правой кнопкой мыши (ПКМ) -> Sharing Options.





ПРЕДУПРЕЖДАЮ! Выполнение нижеследующих операций может повлечь за собой недоступность всех сетевых ресурсов и может нанести вред Вашему компьютеру. Рекомендовано только для опытных пользователей. Перед всеми операциями сделайте резервную копию реестра.

Путь: HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters .

В него добавляются два DWORD (32 бита) параметра: AutoShareServer и AutoShareWks со значениями 0 .


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

P.S: Единственный нюанс я заметил во всей этой канители: внезапный обрыв доступа к расшаренной папке. Лечилось это все двумя способами: монтированием нужного диска или перешариванием недоступной папки (ПКМ -> Sharing Options). Правда, фигня эта проявлялась только один день. Сегодня сбоев не было.

P.S 2: вариант решения проблем с отсутствием видимости шары :

В случае, когда Mint требует пароль на открытие расшаренных ресурсов Windows:

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