Linux
1 Minute
При работе в Windows средах часто необходимо подключить имеющуюся общую папку Windows в Linux сервер. Данная инструкция покажет как это сделать.
Данная инструкция подойдет не только для Astra Linux, но и для Ubuntu, Debian etc.
Подготовка
Для монтирования smb шары в Линукс необходимо установить пакет cifs-utils:apt-get install cifs-utils
После этого в системе появится команда mount.cifs (так же можно использовать просто mount с указанием типа системы -t cifs)
Пример монтирования:mount.cifs //10.10.0.1/share /mnt/fileshare -o username=tom,password=123
где: //10.10.0.1/share — путь и имя сетевой шары/mnt/fileshare — путь куда монтируем шару-o username=tom,password=123 — опции монтирования, в данном случае указывается имя пользователя и пароль.
Полный набор опций можно посмотреть выполнив:man mount.cifs
Наиболее часто используемые:domain=factory.local — указание доменаvers=2.0 — указание версии протокола SMBrw\ro — указание режим монтирования либо на чтение , либо на чтение и запись
Включение автомонтирования при загрузке
Для автомонтирования создадим systemd unit.
в каталоге /etc/systemd/system/ создадим файл mnt-fileshare.mount:nano /etc/systemd/system/mnt-fileshare.mount
при этом имя данного юнита должно отражать путь до точки монтирования. Если мы хотим монтировать в /mnt/some/file имя модулю должно быть mnt-some-file.mount
Вставим в данный файл следующий текст:[Unit]
Description=Cifs mount
Requires=network-online.target
After=network-online.service
[Mount]
What=//10.10.0.1/share
Where=/mnt/fileshare
Options=username=tom,password=123
Type=cifs
[Install]
WantedBy=multi-user.target
обновляем конфигурацию systemdsystemctl daemon-reload
выполняем монтирование:systemctl start mnt-fileshare.mount
Проверяем:ls /mnt/fileshare
должны увидеть содержимое диска.
Включаем монтирование при загрузке:systemctl enable mnt-fileshare.mount
В данной инструкции имя пользователя и пароль передается в качестве опции в открытом виде, что не безопасно. Для cifs предусмотрена возможность вынести данные реквизиты в отдельный файл с ограниченным доступом.
пример:
создаем файл:nano /root/.smbcred
заполняем файл реквизитами доступа:username=tom
password=123
вносим изменения в systemd unit mnt-fileshare.mount:[Unit]
Description=Cifs mount
Requires=network-online.target
After=network-online.service
[Mount]
What=//10.10.0.1/share
Where=/mnt/fileshare
Options=credentials=/root/.smbcred
Type=cifs
[Install]
WantedBy=multi-user.target
обновляем конфигцрацию systemdsystemctl daemon-reload
монтируем директорию:systemctll start mnt-fileshare.mount
Полезные ссылки:
https://www.freedesktop.org/software/systemd/man/systemd.mount.html
https://linux.die.net/man/8/mount.cifs
Опубликовано
Сейчас практически в каждом доме в каждой организации есть свое сетевое хранилище. С помощью которого происходит обмен данными и хранение их. Поэтому подключить сетевой диск должен уметь каждый пользователь. Как подключить общею папку в Windows знают наверно практически все, а вот в Linux сделать это сможет далеко не каждый. Поэтому сегодня расскажу как можно подключить общею сетевую папку в Astra Linux редакции Orel.
Рекомендую прочитать следующие статьи на тему настройки операционной системы Astra Linux.
Как изменить тему экрана блокировки
Как настроить электропитание
Как настроить менеджер файлов
Горячие клавиши для управления менеджером файлов
Изменение параметров мыши
Как подключить общею папку в Astra Linux редакции Orel
Для начала необходимо создать папку к которой будем монтировать сетевой диск. Сделать это можно через графическую оболочку. Обычно диски монтирую в каталог /mnt/.

Если вы видите сообщение «Невозможно создать папку» значить у вас нет на это права.

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

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

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

Теперь вводим команду для монтирования сетевого диска.
sudo mount -t cifs //10.0.0.248/share /mnt/fs -o username=guest
10.0.0.248 — адрес сервера где расположена сетевая папка
share — название папки которую подключаем
/mnt/fs — каталог в Astra Linux к которому будет смонтирован сетевой диск

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

На этом подключение сетевого диска в Astra Linux завершено. Мы подключили общею папку доступ к которой открыть всем пользователям.
Должен стоять SAMBA клиент. Смотря какой Windows (точнее версия SMB)
Можно узнать версию SMB в windows, если подключиться к шаре, запустить powershell от администратора, get-smbconnection покажет версию в колонке Dialect.
В linux подключить win шару:
1) не win 10 sudo mount.cifs ///<расшареннаяпапка> -o user=username /media
2) win 10 sudo mount.cifs /// -o user=username,vers=3.0 /media
(win 10 имею ввиду SMB=3, в других win тоже может быть отключен SMB 1)
А если вбить адрес вручную в программе обзора папокsmb://192.168.0.140/share/
Автоматический поиск компьютеров и их ресурсов не всегда хорошо работает.
Для того чтобы примонтировать сетевой диск samba необходимо отредактировать файл /etc/fstab
//192.168.0.76/obmen /media/obmen cifs _netdev,noauto,users,user=human,password=04-fadetoblack,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
//192.168.0.76/obmen- место шары в сети.
готово.
После перезагрузки должен монтироваться по клику на папку
Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов.
Если Вам нужно подключить/примонтировать жесткий диск с файловой системой NTFS или ext2, ext3 к компьютеру на базе операционной системы Linux, то Вы читаете правильную статью.
Зачем делать это руками, если современные desktop-системы Линукс делают автоматически?
Есть отдельные случаи когда система Linux не может автоматически примонтировать/подключить диск в силу каких-то логических сбоев диска, вирусов, которыми заражены NTFS/FAT разделах или из-за еще чего-то аномального. Для этого настоящие системные администраторы делают это руками. И делают это командой mount.
Команда mount в линуксе является очень гибким инструментом в руках системного администратора. С помощью команды mount можно подключить сетевой диск, раздел жесткого диска или USB-накопитель.
Данная статья не является полным, исчерпывающим описанием команды mount (полное описание команды mount можно найти выполнив в консоли команду man mount), но стремиться к этому. Статья по описанию команды mount постоянно дорабатывается и видоизменяется. Все пожелания по статье можете оставлять в комментариях.
Устройства, которые в данный момент подключены к компьютеру, можно посмотреть набрав в консоли:
# sudo fdisk -l
Эта команда показывает все устройства, которые подключенны. Они могут быть не примонтированы, но подключены. На экране Вы увидите примерно это:
Диск /dev/sda: 40.0 ГБ, 40020664320 байт
255 heads, 63 sectors/track, 4865 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x815aa99a
| Устр-во | Загр | Начало | Конец | Блоки | Id | Система |
| /dev/sda1* | 1 | 1824 | 14651248+ | 83 | Linux | |
| /dev/sda2 | 4742 | 4865 | 996030 | 82 | Linux | своп / Solaris |
| /dev/sda3 | 1825 | 4741 | 23430802+ | 83 | Linux |
Пункты таблицы разделов расположены не в дисковом порядке
Диск /dev/sdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x973248ad
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 * 1 9729 78148161 83 Linux
Диск /dev/sdc: 1027 МБ, 1027604480 байт
32 heads, 62 sectors/track, 1011 cylinders
Units = цилиндры of 1984 * 512 = 1015808 bytes
Disk identifier: 0x6f20736b
Из листинга выше видно, что к операционной системе подключено:
- два жестких диска: /dev/sda — операционная система и /dev/sdb — «файловая помойка»
- сменный USB-носитель: /dev/sdc
Просмотр примонтированых устройств осуществляется командой:
# sudo mount
После этого на экране можно увидеть:
/dev/sda1 on / type reiserfs (rw,relatime,notail) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.27-14-generic/volatile type tmpfs (rw,mode=755)
/dev/sda3 on /home type ext3 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/user/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=user)
/dev/sdc on /media/USBFlash type vfat (rw,nosuid,nodev,uhelper=hal, shortname=mixed,uid=1000,utf8, umask=077,flush)
- в первой строке сообщается, что в качестве корневой ФС выступает файловая система reiserfs с параметрами монтирования: доступ на чтение и запись (rw)
- /dev/sda3 — это раздел диска /home
- /dev/sdc — это примонтированное сменное USB-устройство
Этого же результата можно достигнуть посмотрев содержимое файла /etc/mtab (в некоторых системах Linux файл называется /etc/mnt/tab)
# cat /etc/mtab
Монтирование разделов жесткого диска
Наверх
Из приведенного примера видно, что жесткий диск /dev/sdb подключен, но не примонтирован. Примонтируем раздел жесткого диска /dev/sdb1 к диску /dev/sda. Точку монтирования выберем, к примеру — /home/user/Видео. Точку монтирования можно взять любую.
# sudo mount /dev/sdb1 /home/user/Видео
где user — это название Вашего имени пользователя.
Все очень просто, сначала пишется команда mount, потом пишется то, что нужно присоединять (цифра показывает номер раздела, у нас он всего один), а потом куда присоединять. Почти всегда этого достаточно. Диск, командой mount, монтируется в указанную папку. В некоторых случаях, когда имеются логические ошибки на разделах подключаемого жесткого диска, нужно дополнительно указать тип файловой системы. В данном случае у нас ext3.
# sudo mount -t ext3 /dev/sdb1 /home/user/Видео
Так же этот параметр может принимать значения:
- -t ntfsили -t ntfs-3g
- -t vfat
- -t iso9660
Соответственно для NTFS, FAT и CD-дисков файловых систем. Последний нужен только для подключения CD/DVD-ROM устройств и образа диска .iso.
Чтобы вручную задать параметры доступа к примонтированному разделу следует указать параметр:
- -o rw
- -o ro
Первый разрешает чтение и запись, второй только чтение. Ну например, так:
# sudo mount -t ext3 -o rw /dev/sdb1 /home/user/Видео
Дополнительные параметры, которые помогают в некоторых случаях:
# sudo mount -t ext3 -o rw,iocharset=utf8,codepage=866 /dev/sdb1 /home/user/Видео
Первый явно задает кодировку системной локали, в нашем случае это utf8 (для разных дистрибутивов она своя, но чаще utf8), а другая добавляет поддержку русского языка.
Если все же жесткий диск отказывается монтироваться в операционной системе Linux, то можно примонтировать его вручную. Параметр -o force позволяет принудительно монтировать разделы жесткого диска в линуксе. Ну, к примеру, так:
# sudo mount -t ext3 -o force /dev/sdb1 /home/user/Видео
У меня, к примеру, раздел жесткого диска не хотел монтироваться после подключения к Windows-машине, которая была заражена вирусами. Так получилось, что вирус кинул autorun.exe в корень моего раздела и Linux из-за этого не хотел монтировать этот раздел. Данный выше параметр команды mount помог примонтировать инфицированный раздел. После чего вирус успешно был удален вручную.
Есть в Linux уникальная возможность указать зеркало папки, которое получает все права и доступные над папкой действия. Допустим, раздел /dev/sdb1 применяется еще и для хранения документов. Зеркалим его в /home/user/Документы:
# sudo mount —bind /home/user/Видео /home/user/Документы
Действие команды mount —bind напоминает DOS-овский subst.
Посмотреть полную информацию(доступный объем диска, свободное место) о примонтированных устройствах можно командой:
# df -h
Отмонтироватние устройства производится командой:
# sudo umount /dev/sdb1
или
# sudo umount /home/user/Видео
Монтирование дисков CD/DVD-ROM
Наверх
Если Вам нужно примонтировать CD/DVD-ROM, то монтирование CD/DVD-ROM осуществляется точно так же, той же командой mount, которая были приведены выше:
# sudo mount -t iso9660 -o ro /dev/cdrom /cd
Только при монтировании CD-ROM нужно указать тип файловой системы iso9660.
Монтирование образов диска ISO
Наверх
Если Вы хотите примонтировать образ диска ISO, то это тоже достаточно просто сделать командой mount:
# sudo mount -t iso9660 -o loop /home/file.iso /home/iso
Где /home/file.iso — путь и имя файла ISO
/home/iso — точка монтирования
Добавился только параметр -o loop, который указывает, что используется файл .iso.
Монтирование сетевых дисков SMB
Наверх
В некоторых случаях необходимо примонтировать удаленный сетевой диск. В некоторых дистрибутивах Linux, он так же монтируется автоматически (например в Ubuntu) при открытии его по сети. Можно примонтировать его вручную командой mount через консоль. Можно сделать ярлык и поместив его на рабочем столе активировать его когда нужен удаленный доступ к сетевому ресурсу. Ну или мало еще для чего.
# sudo mount -t smbfs -o username=vasja,password=pupkin //pupkin_v/Video /home/user/video
Где username=vasja,password=pupkin — это имя и пароль доступа к удаленному сетевому ресурсу, а //pupkin_v/Video — имя сетевого ресурса, /home/user/video — точка монтирования
Графические инструменты монтирования в Linux
Наверх
Есть альтернатива — графические инструменты монтирования в Linux. На просторах Internet`a можно найти много графических инструментов монтирования в Linux, но самым, наверное, продвинутым можно назвать — Mount Manager (Mount Manager — графический инструмент монтирования). Это продукт некоммерческой организации ViaLinx. Интерфейс программы простой, но функционал потрясает своей мощью, она может совершать абсолютно все действия, которые описаны в этой статье. Скачать программу можно с
официального сайта
или в репозиториях вашего дистрибутива (в Ubuntu этот менеджер есть).
Поддержку сетевых дисков Windows в Linux обеспечивает пакет cifs-utils. Если он у вас еще не установлен, в командной строке от имени суперпользователя введите
apt-get install cifs-utils
Эта команда проверит, установлен ли указанный пакет и, если нет, установит его.
Создайте в /mnt (или любом другом месте) папку, в которую мы будем подключать сетевой диск Windows:
mkdir /mnt/winshare
И наконец само подключение сетевой папки Windows в Linux выполняется с помощью команды mount.cifs
mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD
Такая команда выполнит присоединение к фаловой системе Linux сетевого диска Windows с именем SHARE_NAME, расположенного на сервере с IP-адресом SERVER_IP от имени WIN_USER_NAME с паролем WIN_USER_PASSWORD. Следует понимать, что на стороне Windows уже логичным образом указанная папка должна быть расшарена и права на доступ к ней должны принадлежать указанному пользователю.
В большинстве случаев этого достаточно, если вы работаете от лица суперпользователя. Если же вы от лица суперпользователя производите только подключение сетевой папки Windows, а работать с ней планируете от лица обычного, непривелегированного пользователя, то в качестве опции команде mount.cifs необходимо передать значения UID и GID этого пользователя, иначе, скорее всего, вам не будут доступны операции редактирования файлов и каталогов. Получить UID и GID пользователя можно командой:
grep MY_USER_NAME /etc/passwd
Подставив вместо MY_USER_NAME имя пользователя, под которым вы работаете в Linux, вы получите примерно следующую строчку:
MY_USER_NAME:x:1000:1000:user,,,:/home/user:/bin/bash
где 3-е и 4-е поле как раз указывают на UID и GID пользователя MY_USER_NAME. Теперь просто подставим полученные значения в качестве дополнительных аргументов команды mount.cifs:
mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD,uid=1000,gid=1000
где uid=1000,gid=1000 — uid и gid, полученные из примера выше.
Напротив, если сетевой диск публичен, и для доступа к нему не нужен ни логин ни пароль, в опциях вместо имени пользователя и его пароля необходимо указать, что доступ является гостевым:
mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o guest
И наконец, чтобы в Linux автоматически подключать сетевую папку после перезагрузки, вносим соответствующую информацию в /etc/fstab (дописываем в конец файла):
//SERVER_IP/SHARE_NAME /MOUNT_POINT_PATH cifs ALL_OPTIONS 0 0
Т.е. должно получиться что-то вроде
//192.168.0.1/share /mnt/winshare cifs user=WIN_USER_NAME,password=WIN_USER_PASSWORD,uid=1000,gid=1000 0 0
Вы скажите, что это плохо — хранить пароль в открытом виде в файле, доступном для чтения всем, и будете правы. К счастью, разработчики об это позаботились. Создаем файл с помощью редактора, например, nano:
nano /etc/credentials #имя файла может быть любым
такого содержания:
username=WIN_USER_NAME
password=WIN_USER_PASSWORD
domail=WIN_WORKGROUP
Делаем его доступным для чтения и записи только для пользователя root:
chmod 600 /etc/credentials #указывайте файл, который создавали вы
и вместо всей обвязки из имен и паролей просто пишем в опциях credentials=/etc/credentials (или тот файл, который вы создали). Эта опция работает как при ручном монтировании сетевого диска Windows
mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o credentials=/etc/credentials,uid=1000,gid=1000
так и автоматическом, при внесении записи в /etc/fstab (из примера выше):
//192.168.0.1/share /mnt/winshare cifs credentials=/etc/credentials,uid=1000,gid=1000 0 0
Примечание. Если вы используете дистрибутив, основанный на SystemD (Debian версии 8 и выше, Ubuntu версии 15.04 и выше, Fedora, ArchLinux…), применение файла /etc/fstab для автоматического монтирования файловых систем является нежелательным, так как SystemD использует несколько другой механизм для монтирования файловых систем, хотя он и обратно совместим с /etc/fstab. Узнать, как можно использовать возможности SystemD для монтирования файловых систем можно в статье SystemD Automount