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

Как зайти на сетевую папку в linux

  • автор:

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

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

Монтирование сетевой папки Windows в Linux через fstab:

  1. yum install samba-client samba-common cifs-utils;
  2. mkdir /mnt/windows (или выбрать и создать любую другую папку, в которой будет доступна сетевая папка);
  3. Прописать в файле /etc/fstab (для автоматического монтирования при загрузке системы) //адрес_папки_в_сети/win/mnt/gsa cifs. iocharset=utf8,uid=500,gid=500,suid, workgroup=domain.local,credentials=/root/password.txt 0 0;

Допустим сетевая папка находится и доступна по адресу \\192.168.1.2\.

То мы получим такой вид записи : //192.168.1.2/win /mnt/gsa cifs iocharset=utf8,uid=500,gid=500,suid,workgroup=domain.local,credentials=/root/password.txt 0 0.

Монтирование сетевой папки Windows в Linux вручную:

mount -t cifs ‘\\адрес_в_сети\win’ /mnt/win -o sername=user1,password=password1,workgroup=company.local,rw,iocharset=utf8,uid=500,gid=500

Общие папки

4.Прописываем в smb.conf следующие параметры
Вводим команду, вставляем текст, нажимаем Enter и, затем, Ctrl+D.

cat >>/etc/samba/smb.conf
[global] dos charset = CP866 unix charset = utf8 display charset = cp1251 workgroup = WORKGROUP #имя рабочей группы server string = Filestore #имя сервера security = USER #группа пользователей map to guest = Bad User [Public] #имя ресурса path = /home/docstore #путь к папке read only = Yes guest ok = Yes browseable = yes writable = yes create mask = 0777 force create mask = 0777 directory mask = 0777

Перезапускаем сервис SMB:

service smb restart;service nmb restart
systemctl enable smb.service;systemctl enable nmb.service

Добавление второй папки

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

В первом примере у нас Public и папка docstore. Во втором будет Share и files.

mkdir /home/files;chmod 777 /home/files

2.Прописываем в smb.conf следующие параметры (без //комментариев)
Вводим команду, вставляем текст, нажимаем Enter и, затем, Ctrl+D.

cat >>/etc/samba/smb.conf
[Share] path = /home/files read only = Yes guest ok = Yes browseable = yes writable = yes create mask = 0777 force create mask = 0777 directory mask = 0777

3.Перезапускаем сервис SMB:

service smb restart;service nmb restart

Папка с паролем

Создадим пользователя в системе, имя пользователя share, его пароль 1q@W3e, при создании сделаем каталог пользователя (ключ -m) и зададим пароль (ключ -p).

# useradd -m share -p 1q@W3e

Назначим нового владельца, пользователя share, и несколько изменим разрешения:

mkdir /home/kadry;chmod 777 /home/kadry # chown -R share:users /home/kadry # chmod -R ugo+rwx /home/kadry

Примечание: Утилита smbpasswd находится в пакете samba-client

Добавляем пользователя в Samba (вводим пароль 1q@W3e):

smbpasswd -a share

Добавим в samba.cfg следущее:

[Kadry] comment = Кадры path = /home/kadry read only = no guest ok = no browseable= yes writable=yes create mask = 0777 directory mask = 0777 force user = share force group = users

Папка будет доступна пользователю share с паролем 1q@W3e.

Перезапускаем сервис SMB:

service smb restart;service nmb restart

Настройки соединения с сервером

GUI

Введите в адресной строке адрес хранилища:

smb://172.16.0.2

Введите, если нужно, пароль.

Примечание: при подключении с паролем автоматически прописывается рабочая группа WORKGROUP. Проверьте на сервере рабочую группу в файле /etc/samba/smb.conf.

Через командную строку

  • С паролем
mount -t cifs //172.16.0.2/kadry /mnt/share -o users,username=share,password="1q@W3e",file_mode=0777,dir_mode=0777
mount -t cifs //172.16.0.2/public /mnt/guest -o users,username=guest,password=,file_mode=0777,dir_mode=0777

Через Autofs

Источники:

  1. Общий каталог — создание, совместный доступ, подключение
  2. Простой Samba-сервер. Доступ всем на все.
  3. Samba доступ к папкам с паролем и без
  4. Включаем службу DHCP на ALT Linux 7.0 Server

Дополнительная информация

  1. Расшаривание каталогов обычным пользователем
  2. Пример настройки smb.conf для «файлопомойки»
  3. Монтирование_ресурса_Самбы_через_/etc/fstab
  4. Прозрачный доступ к samba-ресурсам с помощью smbnetfs
  5. Некоторые_типовые_проблемы_при_использовании_samba

Доступ к сетевой папке большого числа пользователей

Результатом будет медленная реакция интерфейса после щелчка мышкой по папке во fly-fm .

Решение

Ответ доступен с подключенной услугой «Техническая поддержка».

Внимание! Для авторизации используйте учетные данные Личного кабинета

Если учетная запись от новой версии личного кабинета отсутствует, просим писать на почту lk@astralinux.ru

  • Выполнить последовательность действий:
    1. Настроить в AD сетевую папку и доступ пользователю AD.
    2. Зайти под учетной записью пользователя AD.
    3. Подключить сетевую папку AD через меню fly-fm — Создать сетевое место.
    4. Зайти в сетевую папку.

Результатом будет медленная реакция интерфейса после щелчка мышкой по папке во fly-fm .

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

Как подключиться к сетевой папке в командной строке Linux

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

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

sudo apt install smbclient

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

sudo pacman -S smbclient

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

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

smbtree -N

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

WORKGROUP \\VYACHESLAV \\VYACHESLAV\Users \\VYACHESLAV\IPC$ Удаленный IPC \\VYACHESLAV\1 Для Принтера \\RT-N66U RT-N66U \\RT-N66U\IPC$ IPC Service (RT-N66U) \\HACKWARE-SERVER \\HACKWARE-MIAL

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

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

smbtree -U qqwee -N

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

sudo smbtree -N

то мне удавалось получить список файлов также и для компьютера \\HACKWARE-MIAL.

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

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

sudo smbclient -L \\ИМЯ-КОМПЬЮТЕРА -N

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

sudo smbclient -L \\HACKWARE-MIAL -N

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

В полученном выводе половину информации составляют сообщения о различных проблемах. Значимые данные:

Sharename Type Comment --------- ---- ------- ADMIN$ Disk Удаленный Admin C$ Disk Стандартный общий ресурс IPC$ IPC Удаленный IPC Share Disk Users Disk

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

Unable to initialize messaging context smbclient: Can't load /etc/samba/smb.conf - run testparm to debug it

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

Reconnecting with SMB1 for workgroup listing. protocol negotiation failed: NT_STATUS_CONNECTION_RESET Unable to connect with SMB1 -- no workgroup available

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

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

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

session setup failed: NT_STATUS_ACCESS_DENIED

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

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

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

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

sudo smbclient //ИМЯ-КОМПЬЮТЕРА/Папка -N

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

sudo smbclient //HACKWARE-MIAL/Share -N

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

sudo smbclient //HACKWARE-MIAL/Share -N -D NewFolder

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

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

sudo smbclient //ИМЯ-КОМПЬЮТЕРА/Папка -U ИМЯ-ПОЛЬЗОВАТЕЛЯ

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

sudo smbclient //HACKWARE-MIAL/ShareRestricted -U ShareOverlord

Команды SMB в Linux

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

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

help

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

help КОМАНДА

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

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

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

del ИМЯ_ФАЙЛА

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

rm ИМЯ_ФАЙЛА

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

deltree ШАБЛОН_ИМЕНИ

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

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

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

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

Скачать файлы с общей папки:

get [ЛОКАЛЬНОЕ_ИМЯ]

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

reget [ЛОКАЛЬНОЕ_ИМЯ]

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

mget ШАБЛОН_ИМЕНИ

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

mget "*.exe"

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

Get file ChromeSetup.exe? y

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

newer ФАЙЛ

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

put [ИМЯ_УДАЛЁННОГО_ФАЙЛА]

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

print ИМЯ_ФАЙЛА

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

reput [ИМЯ_УДАЛЁННОГО_ФАЙЛА]

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

mput ШАБЛОН_ИМЕНИ

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

mput "*.cap"

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

Put file wpa.cap? y putting file wpa.cap as \wpa.cap (335,2 kb/s) (average 277,8 kb/s) Put file wep.cap? y putting file wep.cap as \wep.cap (0,6 kb/s) (average 169,1 kb/s)

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

recurse

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

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

allinfo ФАЙЛ
allinfo all-databases.sql altname: ALL-DA~1.SQL create_time: Чт авг 29 12:29:51 2019 MSK access_time: Вс янв 5 23:31:47 2020 MSK write_time: Ср авг 1 09:51:25 2018 MSK change_time: Вс янв 5 19:48:36 2020 MSK attributes: A (20) stream: [::$DATA], 381945262 bytes

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

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

scopy

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

md ДИРЕКТОРИЯ
mkdir ДИРЕКТОРИЯ

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

rd ДИРЕКТОРИЯ
rmdir ДИРЕКТОРИЯ

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

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

rm МАСКА

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

del МАСКА

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

wdel АТРИБУТЫ МАСКА

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

rename ИСХОДНОЕ_ИМЯ НОВОЕ_ИМЯ

Ссылки

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

hardlink ИСТОЧНИК НАЗНАЧЕНИЕ

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

link СТАРОЕ_ИМЯ НОВОЕ_ИМЯ

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

symlink СТАРОЕ_ИМЯ НОВОЕ_ИМЯ

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

quit
exit

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

history

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

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

Current directory is \\HACKWARE-MIAL\Share\

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

Current directory is \

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

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

tar c АРХИВ.tar ФАЙЛ1 ФАЙЛ2 ФАЙЛ3

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

tar c all.tar all-databases.sql besside.log ChromeSetup.exe

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

tar x АРХИВ.tar

К примеру, я хочу отправить содержимое архива all.tar в общую папку:

tar x all.tar

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

tarmode

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

timeout

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

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

logon []

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

logoff

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

listconnect

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

showconnect

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

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

!КОМАНДА

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

!ls -l

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

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

sudo smbclient //HACKWARE-MIAL/Share -N -c "cd NewFolder; tar c captures.tar *.cap"

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

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

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

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