- Как в Linux монтировать шару CIFS
- Подготовка
- Установка пакетов
- Сетевые порты
- Синтаксис
- Ручное монтирование
- Автоматическое монтирование CIFS через fstab
- Примеры использования опций
- Версии SMB
- Монтирование от гостевой учетной записи
- Права на примонтированные каталоги
- Как в Astra Linux подключить сетевую папку
- Как подключить общею папку в Astra Linux редакции Orel
- Astra подключение share : 13 комментариев
- Настройка протокола CIFS для использования МРД в Astra Linux Special Edition x.7
- Настройка сервера
- Создание разделяемого каталога с ненулевой классификационной меткой
- Настройка клиента
- Введение
- Установка samba
- Создание каталогов для общего доступа
- Конфигурация сервера samba
- Специальный файловый ресурс [homes] — домашние каталоги пользователей
- Подключение разделяемых ресурсов
- Подключение разделяемого ресурса samba в сессии с нулевой классификационной меткой
- Монтирование разделяемых файловых ресурсов CIFS/Samba
- Автоматическое монтирование ресурсов при входе пользователя с помощью pam_mount
- Автоматическое монтирование домашних каталогов при входе пользователя с помощью pam_mount
- Параметр монтирования luserconf
- Настройка и монтирование разделяемых ресурсов DFS
- Известные проблемы
- Установка пакетов не завершается
Как в Linux монтировать шару CIFS
Что такое Linux и CIFS простыми словами.
Работа с общими папками Windows происходит с использованием протокола CIFS (SMB). Все примеры в данном руководстве выполняются на Linux Ubuntu и CentOS.
Подготовка
Установка пакетов
Для монтирования общей папки необходимо установить набор утилит для работы с CIFS.
yum install cifs-utils
apt-get install cifs-utils
Сетевые порты
Если мы будем монтировать сетевую папку, сервер которой находится за брандмауэром, необходимо открыть следующие порты:
Синтаксис
* вместо mount.cifs можно написать mount -t cifs.
mount.cifs //192.168.1.1/public /mnt
* простой пример монтирования папки public на сервере 192.168.1.1 в локальный каталог /mnt.
Ручное монтирование
Теперь монтирование можно выполнить следующей командой:
mount.cifs //192.168.1.10/share /mnt -o user=dmosk
* в данном примере будет примонтирован каталог share на сервере 192.168.1.10 в локальную папку /mnt под учетной записью dmosk.
То же самое, с использованием домена:
mount.cifs //192.168.1.10/share /mnt -o user=dmosk,domain=dmosk.local
Автоматическое монтирование CIFS через fstab
Для начала создаем файл, в котором будем хранить данные авторизации при подключении к общей папке:
И добавляем в него данные следующего вида:
username=dmosk
password=dPassw0rd
domain=dmosk.local
* в этом примере создана пара логин/пароль — dmosk/dPassw0rd; domain указывать не обязательно, если аутентификация выполняется без него.
Теперь открываем конфигурационный файл fstab:
и добавляем в него следующее:
//192.168.1.10/share /mnt cifs user,rw,credentials=/root/.smbclient 0 0
* в данном примере выполняется монтирование общей папки share на сервере с IP-адресом 192.168.1.10 в каталог /mnt. Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, credentials: файл, который мы создали на предыдущем шаге.
Чтобы проверить правильность настроек, вводим следующую команду:
Примеры использования опций
Версии SMB
Если на стороне Windows используется старая или слишком новая версия протокола SMB, при попытке монтирования мы можем получить ошибку mount error(112): Host is down. Чтобы это исправить, указываем версию:
mount.cifs //192.168.1.10/share /mnt/ -o vers=1.0
* монтирование по протоколу SMB1.0
Монтирование от гостевой учетной записи
Если сервер принимает запросы без логина и пароля, то клиент подключается, как гость:
mount.cifs //192.168.1.10/share /mnt -o guest
//192.168.1.10/share /mnt cifs guest 0 0
Права на примонтированные каталоги
При монтировании папки мы можем указать определенные права:
mount.cifs //192.168.1.10/share /mnt -o file_mode=0777,dir_mode=0777
Для указания владельца, который будет назначен для примонтированного каталога, используем:
mount.cifs //192.168.1.10/share /mnt -o uid=33,gid=33
* чтобы посмотреть идентификаторы пользователя, вводим id -u и id -g .
Как в Astra Linux подключить сетевую папку
Сейчас практически в каждом доме в каждой организации есть свое сетевое хранилище. С помощью которого происходит обмен данными и хранение их. Поэтому подключить сетевой диск должен уметь каждый пользователь. Как подключить общею папку в Windows знают наверно практически все, а вот в Linux сделать это сможет далеко не каждый. Поэтому сегодня расскажу как можно подключить общею сетевую папку в Astra Linux редакции Orel.
Рекомендую прочитать следующие статьи на тему настройки операционной системы Astra Linux.
Как подключить общею папку в Astra Linux редакции Orel
Для начала необходимо создать папку к которой будем монтировать сетевой диск. Сделать это можно через графическую оболочку. Обычно диски монтирую в каталог /mnt/.
Если вы видите сообщение «Невозможно создать папку» значить у вас нет на это права.
В этом случае нужно придется воспользоваться терминалом.
Открываем файловый менеджер MC, он облегчает работу с терминалом. По умолчанию в Astra Linux он уже установлен. Необходимо лишь запустить его с правами суперпользователя введя следующею команду.
После чего переходим в каталог /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 завершено. Мы подключили общею папку доступ к которой открыть всем пользователям.
Astra подключение share : 13 комментариев
Спасибо команда работает и монтирует сетевую папку, только данная команда монтирует только на чтение. Если нужно что бы было чтение\запись то sudo mount -t cifs //10.0.0.248/share /mnt/fs -o username=guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
Это все замечательно, по инструкции получилось настроить сетевой доступ к расшаренной папке. Но возникает другая проблема, папка доступно до перезагрузки компьютера. Возможно сделать так чтобы папка осталась смонтированной и после перезагрузке компьютера? Для удобства пользователей.
Здравствуйте! Можно в закладки добавить
эту строку надо записать в файл /etc/fstab
//10.0.0.248/share /mnt/fs cifs auto,username=guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
10.0.0.248 Откуда этот адрес?
Здравствуйте! Это адрес ПК на котором расположена сетевая папка.
Здравствуйте! А как правильно записать эту строку?
Здравствуйте!
эту строку надо записать в файл /etc/fstab
//10.0.0.248/share /mnt/fs cifs auto,username=guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
а в конце два нуля через таб надо добавлять?
я так сделал 1с прелприятие при входе висит общая папка находиться в виндовс и на линуксе
эту строку надо записать в файл /etc/fstab
//10.0.0.248/share /mnt/fs cifs auto,username=guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
Расскажите пожалуйста, в мурзилке Астры есть фишка с автомаунтом сетевых дисков, шар, папок. Не могу никак сделать как нужно. Кто-то победил это? Пакеты autofs и cifs установлены, дальше пляска с auto.master и auto.smb ничего не дает. По сути я создал отдельный файл для точки монтирования auto.samba например и в auto.master указал что используется файл auto.samba. Но по факту создается пустая папка без подкаталогов внутри — не идет траверса папок (не строится дерево папок), тупо пустая папка.
И еще вопрос — куда Астра сохраняет папку из Сетевого места в менеджере файлов? Где-то должна быть точка монтирования по пути, к Сетевому месту — можете написать, физически где в системе?
Кто пробовал модуль libpam-mount? Как он монтирует доступ к папке для конкретного типа пользователей (групп)?
Уважаемый admin, просьба, допишите пожалуйста статью по способам монтирования ресурсов по сети. Хотелось бы попробовать разные методы монтирования папок.
Настройка протокола CIFS для использования МРД в Astra Linux Special Edition x.7
Данная статья применима к:
Порядок настройки протокола CIFS для использования МРД в более ранних очередных обновлениях
см.Настройка протокола CIFS для использования МРД в Astra Linux Special Edition
При использовании механизмов мандатного разграничения доступа в работе с разделяемыми ресурсами с применением протокола CIFS (SMB) в операционных системах:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5)
требуется включить работу с МРД в настройках сервера.
Настройка сервера
На файловом сервере (сервере Samba) для работы с разделяемыми ресурсами, содержащими конфиденциальные данные, в обязательном порядке:
- Установить все доступные оперативные обновления;
Настроить параметры протокола, для чего установить в конфигурации samba в секции [global] параметры:
При использовании Samba в конфигурации ЕПП FreeIPA (когда конфигурация Samba хранится в реестре Samba) настройку параметров протокола можно сделать из командной строки. Команды:
Если конфигурация хранится в файле /etc/samba/smb.conf, необходимо то внести изменения в файл;
Независимо от того, где хранится конфигурация сервера (в файле или в реестре) — после изменения указанных параметров перезагрузить параметры конфигурации:
Создание разделяемого каталога с ненулевой классификационной меткой
Пример создания и настройки разделяемого каталога /srv/share:
sudo mkdir -p /srv/share
Установить владельца права доступа, например (см. Samba):
sudo chown nobody:nogroup /srv/share
sudo chmod 775 /srv/share
Установить на каталог классификационную метку, в которой иерархический уровень конфиденциальности и неиерархические категории конфиденциальности будут равны соответствующим максимальным значениям для содержащихся в ресурсе файловых объектов.
sudo pdpl-file 3:0:-1 /srv/share
sudo pdpl-file 3:0:-1:CCNR /srv/share
Настройка клиента
На клиентских машинах специальные настройки не требуются.
Введение
- Компьютер-сервер разделяемых ресурсов Samba. В качестве сервера использовался сервер FreeIPA с настройками по умолчанию, т.е. использовалась служба samba, установленная при установке сервера FreeIPA (установка к ключом —setup-adtrust ). Если установка FreeIPA выполнялась без этого ключа то добавить службу samba можно по инструкции Samba + FreeIPA аутентификация пользователей Samba в Kerberos.
В примерах далее для этого сервера используется доменное имя ipa0.ipadomain.ru. - Компьютер-клиент. В качестве клиента использовался компьютер, введённый в домен FreeIPA.
Установка samba
При необходимости установить samba отдельно можно воспользоваться общей статьей по настройке Samba
Создание каталогов для общего доступа
Создать каталоги на сервере, которые будут содержать разделяемые файловые ресурсы и установить желаемые права мандатного и дискретного доступа, например:
sudo mkdir /share1
Или, для ОС Astra Linux Special Edition, группу каталогов с различным мандатным контекстом:
sudo mkdir -p /share1/
Установить желаемые дискретные атрибуты, например:
sudo chmod 777 /share1 -R
Разграничить мандатный доступ в соответствии с пунктом «4. МАНДАТНОЕ РАЗГРАНИЧЕНИЕ ДОСТУПА» документа «Руководство по КСЗ. Часть 1 РУСБ.10015-01 97 01-1″(ссылка):
sudo pdpl-file 3:0:-1:ccnr /share1/
sudo pdpl-file 1:0:0 /share1/dsp
sudo pdpl-file 2:0:0 /share1/secret
sudo pdpl-file 3:0:0 /share1/topsecret
Конфигурация сервера samba
Внести в конфигурационный файл /etc/samba/smb.conf информацию о разделяемом файловом ресурсе:
Для того, чтобы разделяемые samba-ресурсы отображались в разделе «Сеть» файлового менеджера fly-fm с нулевой классификационной меткой через протокол NetBIOS
в конфигурационном файле /etc/samba/smb.conf должна быть установлена опция «disable netbios = no» (установлена по умолчанию).
После сохранения настроек проверить их корректность
testparm |
Если команда testparm не находит ошибок, то перезапустить сервис Samba:
Если всё сделано правильно, то команда
покажет название разделяемого ресурса.
Специальный файловый ресурс [homes] — домашние каталоги пользователей
В конфигурации самба зарезервировано имя ресурса [homes] — специально обрабатываемое имя для подключения домашних каталогов пользователей.
Специальная обработка позволяет подставлять имя пользователя в качестве имени разделяемого ресурса, что удобно для доступа к домашним каталогам.
Хотя этот ресурс по умолчанию указан в конфигурационном файле, для того, чтобы это ресурс можно был использовать необходимо выполнить выполнить следующие подготовительные действия:
Добавить в секцию [global] конфигурационного файла параметр
passdb backend = smbpasswd |
Перезапустить службу samba
sudo systemctl restart smbd |
Добавить пользователя в список пользователей samba:
smbpasswd -a username |
Описание разделяемого ресурса [homes] в файле /etc/samba/smb.conf может выглядеть вот так:
[homes]
comment = Home Directories
valid users = %S
# По умолчанию ресурс [homes] предоставляется как ресурс только для чтения (read only = yes).
# Если требуется разрешить запись нужно явно указать read only = no
read only = No
create mask = 0700
directory mask = 0700
browseable = no
guest ok = no
При этом в описании ресурса может отсутствовать в явном виде указание самого разделяемого каталога, а обращение к такому ресурсу выполняется по имени пользователя (предполагается, что команда smbclient вызвана от имени пользователя username):
smbclient //ipa0.ipadomain.ru/username |
Или можно явно задать имя пользователя, от имени которого должен вызываться ресурс:
smbclient //ipa0.ipadomain.ru/username -U username |
При каждом таком обращении samba сначала ищет имя запрошенного ресурса в списке разделяемых ресурсов, и если имя не найдено проверяет наличие в конфигурации секции [homes].
Есть такая секция есть, то имя трактуется как имя пользователя, и проверяется по базе данных пользователей (например, /etc/passwd).
Если имя найдено в базе данных пользователей, то samba предоставляет в качестве разделяемого ресурса домашний каталог этого пользователя.
Каталог в простейшем случае берётся из файла /etc/passwd, но может быть изменен.
В качестве дополнительной опции разделяемого ресурса [homes] можно задать параметр path, указывающий путь к корневому каталогу домашних каталогов пользователей, который будет использоваться вместо каталога /home, т.е. будет предоставляться ресурс не /home/username, а, например, /samba/users/username:
sudo apt install cifs-utils |
Монтирование разделяемого файлового ресурса выполняется командой mount с указанием соответствующего типа сетевой ФС, например:
sudo mount.cifs //сервер/ресурс /точка_монтирования [-o опции]
sudo mount -t cifs //сервер/ресурс /точка_монтирования [-o опции]
В качестве опций команде могут передаваться параметры монтирования, такие как имя пользователя, используемый тип аутентификации, кодировка, использование прав доступа и т.п. При этом точка монтирования /media/share1 должна быть создана заранее и доступна пользователю, например:
sudo mkdir /media/share1
sudo chmod 777 /media/share1
sudo mount -t cifs //fileserver1.org.net/share1 /media/share1 -o user=пользователь
Без соответствующей записи в /etc/fstab пользователь может использовать команды монтирования только с помощью sudo .
Для возможности монтирования разделяемого файлового ресурса пользователем в конфигурационном файле /etc/fstab должна быть объявлена строка монтирования, например следующего вида:
//fileserver1.org.net/share1 /media/share1 cifs user,rw,noauto,iocharset=utf8,soft 0 0 |
Точка монтирования должна быть создана заранее и доступна пользователю для чтения/записи, опция user предоставляет возможность монтирования указанного ресурса простому пользователю.
Пользователь при этом выполняет монтирование командой mount с указанием точки монтирования:
mount /media/share1 |
Полный список опций приведен в руководстве man для команд mount и mount.cifs . Описание формата конфигурационного файла /etc/fstab приведено в руководстве man для fstab.
Для того чтобы пользователю были доступны каталоги при входе с ненулевой классификационной меткой нужно в файле /etct/fstab на компьютере клиента указать следующие параметры:
//fileserver1.org.net/share1 /media/share1 cifs user,rw,noauto,iocharset=utf8,nosharesock,vers=1.0,soft 0 0 |
При использовании с аутентификацией Kerberos в ЕПП в строке опций должен быть указан параметр аутентификации sec=krb5i или sec=krb5. В этом случае при монтировании будет использоваться текущий кэш Kerberos пользователя.
Для аутентификации через Kerberos должен быть настроен сервер Kerberos, например Контроллер ЕПП FreeIPA в Astra Linux. См. порядок действий по настройке сервера FreeIPA для предоставления разделяемых ресурсов через Kerberos. |
Автоматическое монтирование ресурсов при входе пользователя с помощью pam_mount
Для автоматического монтирования разделяемых файловых ресурсов при входе пользователя используется PAM-модуль pam_mount, предоставляемый пакетом libpam-mount, то есть для автоматического монтирования разделяемых файловых ресурсов на компьютере-клиенте должны быть установлены пакет cifs-utils и libpam_mount:
sudo apt install cifs-utils libpam-mount |
При установке пакета libpam-mount может выдаваться предупреждение об изменении конфигурации PAM-стека.
Можно согласиться с внесением изменений (после установки следует проверить изменения в каталоге /etc/pam.d/, и восстановить нужную конфигурацию).
Можно отказаться от внесения изменений, тогда вызов модуля pam_mount нужно будет внести в PAM-стек самостоятельно.
В приведенных далее примерах подразумевается, что аутентификация пользователей производится с помощью доменной службы Kerberos (см. Контроллер ЕПП FreeIPA в Astra Linux).
Настройка модуля pam_mount осуществляется с помощью конфигурационного файла /etc/security/pam_mount.conf.xml.
При установке пакета libpam_mount вызов модуля pam_mount автоматически вносится в соответствующие pam-сценарии (common-auth, common-session) в каталоге /etc/pam.d.
Описание возможностей модуля pam_mount и формат его конфигурационного файла приведены в руководстве man для pam_mount и pam_mount.conf.
Для монтирования с помощью pam-mount разделяемых файловых ресурсов в конфигурационном файле должны быть указаны параметры монтируемого тома, например :
В приведенном выше примере разделяемый ресурс при входе любого пользователя монтируется в каталог /media/username. При этом выбраны опции монтирования, позволяющие осуществлять доступ к смонтированным данным в соответствии с правилами мандатного разграничения доступа. Если указать в параметрах тома mountpoint=»/home/%(USER)/share1″ то разделяемый ресурс будет монтироваться в подкаталог /share1/ домашнего каталога пользователя. В Astra Linux Special Edition для того, чтобы монтирование корректно выполнялось при входе с ненулевой меткой безопасности, нужно изменить PAM-стек, так, чтобы автоматическое монтирование с помощью pam_mount выполнялось после определения значений мандатных атрибутов пользователя и создания домашнего каталога. Для этого:
- Вызов модуля pam_mount удалить из файла /etc/pam.d/common-session;
- Добавить в файлы /etc/pam.d/login и /etc/pam.d/fly-dm после вызова соответствующих модулей Astra Linux:
Для FreeIPA (добавленная строчка выделена жирным шрифтом):
session required pam_parsec_mac.so
session optional pam_mount.so
Для ALD (добавленная строчка выделена жирным шрифтом):
session required pam_parsec_mac.so
session required pam_ald.so
session optional pam_mount.so
Вариант описания тома для монтирования домашних каталогов пользователей (предполагается, что на сервере samba настроен специальный ресурс home):
- При использовании с аутентификацией Kerberos в ЕПП в строке опций монтирования должен быть указан параметр аутентификации sec=krb5i (предпочтительно с точки зрения безопасности, но требует больше ресурсов) или sec=krb5. В этом случае при монтировании будет использоваться текущий кеш Kerberos пользователя.
path=»share» mountpoint=»/media/ald_share» options=»user=%(USER),rw,setuids,perm,soft,sec=krb5i,cruid=%(USERUID),file_mode=0770,dir_mode=0770,iocharset=utf8,vers=1.0″/> |
Тег logout определяет поведение в процессе размонтирования ФС. К этому времени все процессы должны освободить точку монтирования, в противном случае им посылаются соответствующие сигналы прерывания работы.
Тег mkmountpoint отвечает за автоматическое создание и удаление точки монтирования.
Тег cifsmount определяет команду, с помощью которой монтируется указанный тип ФС.
Тег volume объявляет непосредственно параметры монтирования разделяемого файлового ресурса.
Автоматическое монтирование домашних каталогов при входе пользователя с помощью pam_mount
Для автоматического монтирования используем ресурс [homes], который будем монтировать в локальный домашний каталог пользователя /home/ . Модифицируем конфигурацию pam_mount:
Для SAMBA AD при работе через winbind для корректного авто-монтирования в файле в опциях нужно использовать параметр user=%(DOMAIN_USER). |
Параметр монтирования luserconf
При использовании pam_mount отдельным пользователям может быть предоставлена возможность самостоятельно определять дополнительные тома монтирования. Такие тома определяются в конфигурационном пользовательском файле, задаваемом параметром luserconf основного ко нф игурационного файла /etc/security/pam_mount.conf.xml модуля pam_mount. Синтаксис параметра:
например, для пользователя user:
Конфигурационный пользовательский файл располагается в домашнем каталоге пользователя и может редактироваться пользователем самостоятельно. Точки монтирования указываются относительно домашнего каталога пользователя. Таким образом, указанному непривилегированному пользователю разрешается монтировать любые заданные тома, получая при этом права владения локальными смонтированными ресурсами. Операции монтирования выполняются от имени и с правами суперпользователя. Применение этой возможности может повлечь серьёзные угрозы безопасности, поэтому по умолчанию возможность пользовательского монтирования отключена. Конфигурации пользователей обрабатываются после того, как смонтированы все заданные в глобальной конфигурации тома, включая домашние каталоги пользователей, что обеспечивает возможность дальнейшего монтирования томов, заданных с помощью параметра luserconf.
Для управления доступными пользователям опциями монтирования применяются следующие параметры основного конфигурационного файла:
mntoptions allow — разрешенные пользователям опции монтирования, например:
По умолчанию это опции nosuid и nodev, Значение, принятое по умолчанию заменяется значением из первого найденного указания параметра, последующие указания суммируются;
Настройка и монтирование разделяемых ресурсов DFS
Настройка разделяемых ресурсов Distributed File System (DFS) выполнятся на серверах под управлением Microsoft Windows и в данной статье не рассматривается. Монтирование разделяемых ресурсов DFS, так же как разделяемых ресурсов samba, выполняется по протоколу cifs.
Для работы с ресурсами DFS требуется установить пакет keyutils:
sudo apt install keyutils |
Для корректной работы с ресурсами DFS (в том числе, ресурсами, содержащими кириллицу в названиях), следует использовать версии ядра выше чем linux_5.4.0-110.astra35+ci1 и linux-5.10_5.10.0-1057.astra6+ci7.
Монтирование разделяемых ресурсов DFS можно делать с указанием полного доменного имени сервера или с указанием только имени домена, например:
Указание полного доменного имени сервера:
mount -t cifs //server1.active_directory.test/dfs1 /mnt -o cruid=user1,sec=krb5 |
Указание имени домена:
mount -t cifs //active_directory.test/dfs1 /mnt -o cruid=user1,sec=krb5 |
Для монтирования ресурсов DFS по имени домена с использованием аутентификации Kerberos необходимо сделать дополнительные настройки:
Рекомендованный вариант. Добавить к имени сервера псевдоним — имя домена. Это можно сделать выполнив на контроллере домена команду: SETSPN:
SETSPN -s cifs/ |
При невозможности создания псевдонимов внести ключ «-t» в конфигурационный файл /etc/request-key.d/cifs.spnego.conf:
Данный способ не является рекомендованным, так как ключ «-t» разрешает использовать сведения, предоставляемые DNS-сервером (доверять DNS-серверу), что снижает безопасность системы. |
В остальном, так как монтирование ресурсов DFS выполнятся так же, как и ресурсов samba, по протоколу CIFS, для монтирования применимы приведенные выше настройки Подключение разделяемых ресурсов.
Известные проблемы
Установка пакетов не завершается
Если в ОС используется модуль pam_mount, то при установке некоторых пакетов выводится запрос:
На этом установка пакета останавливается и более не продолжается.
Adblockdetector