Создать ярлык на сетевую папку astra linux

Обновлено: 04.07.2024

Офис переходит с Windows на linux mint 18.2. Есть задача, нужно создать ярлык сетевой папки на рабочий стол, чтоб сотрудникам было проще добираться до сетевого ресурса, а также доступ должен осуществляться без ввода логина и пароля (сквозная авторизация). В Windows данная задача решается просто созданием ярлыка на рабочий стол нажатием правой клавишей мышки на папку. Сквозная авторизация также не проблема.

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

Создавал кнопку запуска с командой nemo smb://share, это работает, но на каждом компьютере каждого пользователя создавать кнопки не удобно, кроме того появляются еще одни ярлыки на рабочем столе + никакой сквозной авторизации, в общем это не вариант.

//share/share /media/share cifs noauto,rw,user,sec=krb5 0 0

Если убрать из fstab sec=krb5, то всё работает, папка монтируется, но приходиться вводить пароль для пользователя, это не хорошо. Но с sec=krb5 должно всё работать без ввода пароля, а мне выдает такую ошибку:

:( Вот что говорит syslog:

Как быть, с чем могут быть проблемы? Заранее спасибо.

P. S. Samba, Kerberos, Winbind всё работает, но когда дело доходит до сквозной авторизации выдается ошибка.

В дальнейшем планировал изменить опцию noauto на auto, чтоб монтирование происходило сразу после входа в систему или прописать скрипт автовыполнения команды, но это другая история.

То что хотел сделать я через файл etc/fstab и предложенный варинт с pam_mount, во первых у меня так ничего и не получилось, а потом еще и мысли пришли.

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

Сейчас практически в каждом доме в каждой организации есть свое сетевое хранилище. С помощью которого происходит обмен данными и хранение их. Поэтому подключить сетевой диск должен уметь каждый пользователь. Как подключить общею папку в Windows знают наверно практически все, а вот в Linux сделать это сможет далеко не каждый. Поэтому сегодня расскажу как можно подключить общею сетевую папку в Astra Linux редакции Orel.

Рекомендую прочитать следующие статьи на тему настройки операционной системы Astra Linux.

Как подключить общею папку в Astra Linux редакции Orel

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

Astra подключение share

Как в Astra Linux подключить сетевую папку

В этом случае нужно придется воспользоваться терминалом.

Как в Astra Linux запустить терминал

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

Как в Astra Linux как запустить mc с правами суперпользователя

После чего переходим в каталог /mnt/ нажимаем на клавиатуре клавишу F7 вводим имя папки например, FS и создаем её.

Astra Linux как создать каталог через терминал

Теперь вводим команду для монтирования сетевого диска.

sudo mount -t cifs //10.0.0.248/share /mnt/fs -o username=guest

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

Теперь открываем файловый менеджер и проверяем подключился ли сетевой диск.

Astra Linux подключение общей папки

На этом подключение сетевого диска в Astra Linux завершено. Мы подключили общею папку доступ к которой открыть всем пользователям.


Создать ссылку на сетевой ресурс может понадобиться в случае использования централизованной раздачи учебного материала, раздачи тестов, использования материалов, хранящихся на другом компьютере. Задача в случае ОС Windows весьма несложная, однако, в OC Linux могут быть некоторые нюансы, разобраться в которых начинающему пользователю такой системы не всегда просто. В данной короткой статье попытаюсь помочь Вам разобраться с этим вопросом. Ситуация несколько осложняется тем, что различные дистрибутивы Linux могут иметь различные окружения рабочего стола. Например, дистрибутивы под общим названием AltLinux Школьный 5.0 существуют со следующими окружениями: LXDE, XFCE, Gnome 2, KDE 4. И в каждом случае ссылка создаётся по разному. Кроме того в других дистрибутивах могут использоваться и другие DE, например Unitu3D, Gnome3 и т. д. Я последовательно рассмотрю все случаи наиболее популярных сред рабочего стола, которые применяются в дистрибутивах Linux, пригодных для использования в образовании. Прежде чем рассматривать конкретные среды, давайте определимся с адресами сетевых ресурсов. Чаще всего доступ осуществляется по протоколам smb и ftp.
Кроме протокола нужно знать сетевое имя компьютера с материалами и (или) его IP-адрес в сети. Предположим, что компьютер , на котором находятся задания для учащихся имеет имя kt ( teacher -учитель , то есть kt — компьютер учителя) и адрес 192.168.1.100. Папка с заданиями называется Zadaniya, и к ней открыт общий доступ.

1. Создание ссылку в среде рабочего стола Gnome2:

Кликаем правой кнопкой мыши на свободном месте рабочего стола,

Выбирам в контекстном меню Создать кнопку запуска
Тип: Адрес!
Имя: на ваше усмотрение, у меня просто «Задания»
Адрес: Ваш адрес, например s mb://kt/zadaniya

Нажав на значок в левом верхнем углу можно изменить иконку ссылки.

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

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

выберите папку pixmaps и подберите значок, который удовлетворяет вашим требованиям.
Нажимаем <Открыть> , затем <Закрыть>.
Всё, ссылка создана.

2. Создаём ссылку в среде рабочего стола KDE.
Кликаем правой кнопкой мыши на свободном месте рабочего стола,
Выбирам в контекстном меню Создать Адрес Интернета.

Рабочее пространство

Имя файла : на ваше усмотрение, у меня просто «задания»
Адрес в Интернете: s mb://kt/zadaniya

Если Вас не устраивает значок ссылки, то кликните по ней правой кнопкой мыши и выберите в контекстном меню Свойства

Кликните левой кнопкой мыши по изображению значка, в появившемся окне выберите подходящий значок, .

3. Создаём ссылку в среде рабочего стола XFCE.
Кликаем правой кнопкой мыши на свободном месте рабочего стола,
Выбираем в контекстном меню Создать ссылку:

Имя: задания
URL-адрес: s mb://kt/zadaniya
Значок выбираем при необходимости как в случае предыдущей среды рабочего стола.
Выбрать можно сразу, до создания, кликнув на значок.
4a. Создаём ссылку в среде рабочего стола LXDE.
Способ 1.
Кликаем правой кнопкой мыши на свободном месте рабочего стола,
Выбираем в контекстном меню Создать новый ярлык.

Тут же даём ему имя: например «Задания».
И нажимаем
Появляется следующее окно.

Type=Link
Icon=folder-remote-smb
URL= smb://kt/zadaniya
Сохраняем на рабочий стол под именем задания.desktop (текущая локаль UTF-8) После этого появляется ссылка на ресурс, если значок не нравится, меняем. Клик по значку правой кнопкой, Свойства .

Клик левой кнопкой по значку, выберите папку pixmaps и подберите значок, который удовлетворяет вашим требованиям.
Нажимаем <Открыть> , затем <Закрыть>.


-75%

Тонкости SAMBA обязательно нужно знать и начнем с общих папок. Предлагаю начать с создания настроек samba с нуля . В дальнейшем легче будет постигать более сложные настройки которые предоставляют разработчики. Итак..

Как предоставить общий доступ из Windows к сетевой папке на Linux по логину и паролю?

Установили Линукс в качестве сервера и хотели привычно открыть доступ к его сетевым папкам для компьютеров сети Windows. А в папку не попасть?

Давайте разбираться. Для начала текущий конфигурационный файл с настройками скопируем куда нибудь в другое место (еще пригодится),а вместо него создадим пустой и настроим его нуля самостоятельно.

Вызовем терминал ( Alt+t ). Запустим Midnight Commander с наивысшими правами:

..найдем файл smb.conf в папке /etc/samba/smb.conf и переместим его в другую папку, например в /tls того же каталога:


sudo touch /etc/samba/smb.conf

Чуть позже начнем наполнять его настройками; сейчас сначала добавим пользователей файлового сервера samba. В нашем примере имя пользователя самба должно совпадать с именем учетной записи пользователя Линукс. А пароль не должен совпадать с паролем учетной записи. Добавим:

sudo smbpasswd -a superuser

Чтобы удалить пароль, введите:

sudo smbpasswd -n superuser

Активируем созданного пользователя samba:

sudo mkdir /media/soft

Обязательно сменим владельца и группу (папка создана в корневой файловой системе) на superuser:

sudo chown superuser:superuser /media/soft

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

sudochmod 777 /media/soft

Далее, начнем заполнять наш конфигурационный файл в текстовом редакторе; откроем его программой kate (с наивысшими правами):

sudo kate /etc/samba/smb.conf

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

[global] workgroup = office
server string = server Астра Линукс 2,12 Орел
interfaces = 127.0.0.0/8, 192.168.1.2/24, 192.168.1.3/24

map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
security = user
usershare allow guests = yes

[soft] comment = пользовательский прикладной софт
path = /media/soft
create mask = 0775
directory mask = 0775
read only = no
browseable = yes
guest only = no
public = yes
valid users = admin, superuser
writeable = yes


Сохраняем содержимое; теперь нужно перезапустить сервисы samba, чтобы изменения вступили в силу:

sudo service smbd restart sudo service nmbd restart

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

sudo adduser admin


Далее создать нового пользователя сервера samba под тем же именем:

sudo smbpasswd -a admih

Включить (активировать) его:

sudo smbpasswd -e admih

sudo kate /etc/hosts


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

В компьютере с Windows вбиваем в проводник имя компьютера \\homeastra\soft , вводим имя пользователя и пароль. Можно для автоматического подключения при загрузке подключить нашу папку в качестве сетевого диска:


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

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

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

Сначала создадим гостевую папку для общего доступа:

Нужно изменить владельца папки на nobody и назначить соответствующую группу nogroup. По умолчанию самба воспринимает эти имена как гостевые. Один из способов команда chown:

sudo chown nobody:nogroup /media/gostevaya

и командой chmod предоставим полные права на содержимое :

sudo chmod 777 /media/gostevaya

Теперь в настройках файла smb.conf создаем еще одну секцию [gostevaya] со следующими параметрами.

global] workgroup = office
server string = server . . 2,12 .
netbios aliases = s800 s801 s802 s803
interfaces = 127.0.0.0/8, 192.168.1.4/24, 192.168.1.5./24
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
security = user
usershare allow guests = yes

[gostevaya] comment = публичная папка
path = /media/gostevaya
read only = no
guest ok = yes
browseable = yes

[soft] comment = папка с софтом
path = /media/soft
create mask = 0775
directory mask = 0775
read only = no
browseable = yes
guest only = no
public = yes
valid users = admin,superuser
writeable = yes

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

При взаимодействии с сетью Windows (а так же при запуске приложений Skype и других) Astra Linux каждый раз будет требовать ввода пароля для проверки легальности запуска того или иного потенциально опасного приложения. В качестве такой проверки нужно каждый раз вводить пароль.


sudo apt install seahorse


Как увидеть и подключить общую сетевую папку Windows в Линукс Астра?

Если samba установлен, то можно вывести список ВСЕХ общих папок командой в терминале:

либо СПИСОК открытых ресурсов на какой либо конкретной станции в сети:

sudo smbclient -L \\homeastra -n (если вход без пароля)
sudo smbclient -L \\homeastra -u username (если вход по паролю)


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

Как настроить автоматические монтирование сетевой папки в Астра Линукс?

sudo mount -t cifs -o username=Иван,password=123,uid=1000,iocharset=utf8 //192.168.1.22/Сетевая папка /media/22

Чтобы избежать ошибки BAD UNC при монтировании, перед IP адресом или именем компьютера обязательно должна быть двойная косая черта!

Далее, надо сделать автоматическое монтирование сетевой папки при загрузке . Для этого размонтируем пока нашу шару:

sudo umount /media/mar

И внесем изменения в файл /etc/fstab. Данные пользователей и пароли принято прятать. Файл fstab может открыть посторонний и легко получить пароли других компьютеров. Нужно создать текстовый файл samba22

sudo kate /samba22

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

Узнаем путь до файла:

В моем примере файл находится в папке home/superuser/samba22

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

sudo chmod 600 /home/superuser/samba22

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

//192.168.1.22/Сетевая папка /media/22 cifs credentials=/home/superuser/samba22,uid=1000,iocharset=utf8,nofail 0 0

Откроем на редактирование файл /etc/fstab

sudo kate /etc/fstab

И вставим нашу строку в этот файл. После внесенных изменений выполним команду:

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

Вот и все на сегодня. В одной небольшой статье не охватить все тонкости настроек общих принтеров и папок. Для справки планирую перевод документации по samba в нескольких статьях на блоге! Удачи!

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

Книга по 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 как сетевой диск, как это было показано в первой части.

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