Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12



Предупреждение
В пакет autofs внесены существенные изменения, в частности опции монтирования "user" и "pass" более не поддерживаются, вместо них следует использовать "username" и "password"

.

Информация

Данная статья применима к:

  • ОС ОН Орёл 2.12;
  • ОС СН Смоленск 1.6;
  • ОС СН Ленинград 8.1.


  • Информация

    Autofs - пакет, позволяющий:

    • автоматически подключать различные ресурсы (переносные устройства, жесткие диски, разделяемые сетевые
    устройства
    • ресурсы, RAM-
    диск
    • диски)

    • при их использовании
    , и
    • ;
    • автоматически
    их
    • отключать ресурсы при прекращении их использования.

    Установка

    Пакет autofs входит в стандартные дистирибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6,
    и дистрибутивы Astra Linux и может быть установлен с помощью графического менеджера Графический менеджер пакетов synaptic, или из командной строки командой:

    Command
    sudo apt install autofs

    Настройка

    Основная конфигурация пакета autofs хранится в файле /etc/auto.master.

    Каждая стройка файла строка конфигурации состоит из указания точки монтирования и параметров монтирования.

    Далее приведены примеры типовых настроек, подробно формат файла конфигурации описан в

    Command

    man auto.master

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

    Command
    sudo systemctl restart autofs

    Для проверки успешности настройки можно перейти в точку монтирования, например, командой 

    Информация
    cd /mnt/share

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

    Автоматическое монтирование ресурсов NFS

    Пример монтирования ресурса из статьи про Сетевая файловая система NFS.

    Монтируем с использованием autofs ресурс из предыдущего примера 192.168.1.10:/srv/nfsshare/ в ранее созданную точку монтирования /mnt/share. 

    Добавим в конец файла /etc/auto.master строку: 

    Информация
    /mnt /etc/auto.nfs --timeout=60

    При этом

    • /mnt указывает кореневой корневой каталог для монтирования ресурсов;
    • /etc/auto.nfs указывает файл с описанием правил монтирования ресурсов NFS;
    • timeout указывает время неактивности, после которого ресурс  будет отмонтирован автоматически. Этот параметр указывать не обязательно, таймаут в autofs по умолчанию 300 секунд (5 минут), то есть ресурс будет автоматически отмонтирован после 5 минут бездействия.

    Далее, создадим файл /etc/auto.nfs с описанием правил монтирования ресурсов NFS.
    Этот файл должен содержать отдельную строку для каждого ресурса NFS
    Формат строки:  {точка_монтирования} [{опции_монитированиямонтирования}] {адрес_ресурса}.
    Точки монтирования будут размещаться в корневом каталоге для монтирования ресурсов, указанном в /etc/auto.master:

    Информация

    share -fstype=nfs4,rw,soft,intr 192.168.1.10:/srv/nfsshare

    Где

    • share – точка монтирования в кореневом корневом каталоге монтирования (/mnt/share)
    • -fstype=nfs4,rw,soft,intr – опции монтирования
    • 192.168.1.10:/nfsshare– адрес ресурса

    Это создаст новую точку автоматического монтирования /mnt/share/  для ресурса /srv/nfsshare/, экспортируемого сервером с IP-адресом “192.168.1.10”

    Автоматическое монтирование ресурсов Samba

    Для настройки автоматического монтирования ресурсов Samba:

    1. Добавить в

    файл 
    1. файл /etc/auto.master строку:

      Информация

       /media/smb    /etc/auto.smb   --timeout=60        # ресурсы samba (windows)

      Файл /etc/auto.smb создавать не требуется, это стандартный сценарий, входящий в состав пакета autofs

    2. Перезапустить autofs.
    3. После перезапуска autofs для автоматического подключения ресурсов достаточно обратиться к ресурсу по имени хоста, например:

      Command

      ls /media/smb/<имя_хоста>

      или

      Command

      ls /media/smb/<IP

    _
    1. -адрес_хоста>


    Данный способ может не работать с некоторыми серверами Windows.  В таком случае возможно использовать монтирование ресурсов как ресурсов CIFS.

    Автоматическое монтирование ресурсов CIFS


    Предупреждение

    Данный способ монтирования может быть неприемлем с точки зрения безопасности
    в связи с тем, что пароли хранятся в файле в открытом виде.

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

    В качестве основы для создания скрипта /etc/auto.cifs использован скрипт auto.smb поставляемый с пакетом autofs5 с небольшими доработками.

    Для использования этого способа в :

    1. В дополнение к собственно samba

    должен быть установлен
    1. установить пакет cifs-utils:

      Command

      sudo apt install cifs-utils

    Добавляем


    1. Добавить в файл /etc/auto.master

    строку
    1. строку:

      Информация

      /media/cifs /etc/auto.cifs --timeout=60

    Создаем

    1. Создать файл /etc/auto.cifs:

      Информация

      #!/bin/bash
      # This file must be executable to work! chmod 755!
      #set -x
      key="$1"
      key=$(echo $key | awk -F "/" '{print $1}')

      credfile="/etc/user-cifs"
      username=$(cat $credfile | grep "$key" | awk -F ":" '{print $2}' | awk -F "%" '{print $1}')
      password=$(cat $credfile | grep "$key" | awk -F ":" '{print $2}' | awk -F "%" '{print $2}')
      opts="-fstype=cifs,file_mode=0644,username=$username,password=$password,uid=$username,gid=$username"
      for P in /bin /sbin /usr/bin /usr/sbin ; do
          if [ -x $P/smbclient ] ; then
             SMBCLIENT=$P/smbclient
             break
          fi
      done

      [ -x $SMBCLIENT ] || exit 1

      $SMBCLIENT --user=$username%$password -gL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" -F'|' -- '
      BEGIN { ORS=""; first=1 }
      /Disk/ {
          if (first) { print opts; first=0 }
          dir = $2
          loc = $2
      # Enclose mount dir and location in quotes
      # Double quote "$" in location as it is special
          gsub(/\$$/, "\\$", loc);
          print " \\\n\t \"/" dir "\"", "\"://" key "/" loc "\""
      }
      END { if (!first) print "\n"; else exit 1 }
      '

      #share -fstype=cifs,rw,credentials=/root/.cifs_credentials ://localhost/share
      #public -fstype=cifs,rw,noperm,guest ://localhost/public

      Комментарии к файлу

      1. < opts="-fstype=cifs,file_mode=0644,dir_mode=0755,codepage=866,iocharset=utf8,user=$user_password" > :

     строка
      1. строка для обеспечения просмотра русских букв на ресурсах windows;

      2. < $SMBCLIENT --user=$user_password -gL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" -F'|' -- ' >  :

     строка
      1. строка <$SMBCLIENT ...> изменена для обеспечения возможности подключения к samba-ресурсам windows;

      2. < user_password=$(cat $credfile | grep "$key" | awk -F ":" '{print $2}') > :

     строка
      1. строка добавлена для получения из файла пароля доступа к ресурсу cifs.

    1. Для монтирования ресурсов Windows следует использовать более простую строчку опций монтирования, например для Windows Server 2012:

      Предупреждение
      opts="-fstype=cifs,rw,noperm,username=$username,password=$password"

      Для более старых версий Windows Server может понадобиться ограничить версию используемого протокола:

      Информация
      opts="-fstype=cifs,rw,username=$username,password=$password,vers=1.0"
    Делаем скрипт

    1. Сделать сценарий auto.cifs

    исполняемым
    1. исполняемым:

      Command
      sudo chmod 755 /etc/auto.cifs
    Создаем файл

    1. Создать файл /etc/user-cifs с паролями доступа к ресурсу cifs

    /etc/user-cifs со строчками
    1.  вида:

      Информация
      ХОСТ1:ПОЛЬЗОВАТЕЛЬ%ПАРОЛЬ
      ХОСТ2:ПОЛЬЗОВАТЕЛЬ%ПАРОЛЬ


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

    1. В целях безопасности

    устанавливаем
    1. ограничить права доступа к файлу /etc/user-cifs, оставив доступ только для пользователя root:

      Command

      sudo chmod 600 /etc/user-cifs

    Перезапускаем

    1. Перезапустить autofs:

      Command
      sudo systemctl restart autofs
    Обращаемся

    1. Обратиться для проверки в командной строке к ресурсу samba:

      Command
      ls /media/cifs/ХОСТ1


    Монтирование CIFS ресурсов c авторизацией через Kerberos

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

    Для этого:

    1. Убедиться, что служба CIFS правильно настроена на работу с Kerberos, для чего убедиться, что в файле /etc/request-key.d/cifs.spnego.conf пристутвует опция -t, а если её нет - то добавить её.


    1. В итоге содержимое файла должно быть следующее:

      Информация

      create cifs.spnego * * /usr/sbin/cifs.upcall -t %k


    2. Получить/обновить

    принципала
    1. билет Kerberos (если монтирование делается от имени суперпользователя, то и

    принципал
    1. билет должен быть получен от

    того же пользователя
    1. суперпользователя):

      Command
      kinit
    username
    1. <имя_пользователя>


    2. Убедиться, что принципал получен:

      Command
      klist
    И команда

    1. Выполнить для проверки окманду монтирования (для примера

    монтируем
    1. монтируется ресурс //server.windomain.ru/share в каталог /mnt):

      Command
      mount -t cifs //server.windomain.ru/share /mnt -o sec=krb5