Оглавление |
---|
Информация | ||
---|---|---|
|
- ОС ОН Орёл 2.12;
- ОС СН Смоленск 1.6;
- ОС СН Ленинград 8.1.
|
Предупреждение |
---|
В пакет autofs внесены существенные изменения, в частности опции монтирования "user" и "pass" более не поддерживаются, вместо них следует использовать "username" и "password" |
Информация |
---|
|
Установка
Пакет autofs входит в стандартные дистирибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6,
и дистрибутивы Astra Linux и может быть установлен с помощью графического менеджера Графический менеджер пакетов synaptic, или из командной строки командой:
Command |
---|
sudo apt install autofs 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.
Этоn Этот файл должен содержать отдельную строку для каждого ресурса NFS
Формат строки: {точка_монтирования} [{опции_монитированиямонтирования}] {адрес_ресурса}.
Точки монтирования будут размещаться в корневом каталоге для монтирования ресурсов, указанном в /etc/auto.master:
Информация |
---|
share -fstype=nfs4,rw,soft,intr 192.168.1.10:/srv/homesnfsshare |
Где
- share – точка монтирования в корневом каталоге монтирования (/mnt/share)
- -fstype=nfs4,rw,soft,intr – опции монтирования
- 192.168.1.10:/nfsshare– адрес ресурса
Это создаст новую точку автоматического монтирования /mnt/share/ для ресурса /srv/homtsnfsshare/, экспортируемого сервером с IP-адресом “192.168.1.10”
Автоматическое монтирование ресурсов Samba
Для настройки автоматического монтирования ресурсов Samba:
Добавить в
файл /etc/auto.master строку:
Информация /media/smb /etc/auto.smb --timeout=60 # ресурсы samba (windows)
Файл /etc/auto.smb создавать не требуется, это стандартный сценарий, входящий в состав пакета autofs
- Перезапустить autofs.
После перезапуска autofs для автоматического подключения ресурсов достаточно обратиться к ресурсу по имени хоста, например:
Command ls /media/smb/<имя_хоста>
или
Command ls /media/smb/<IP
-адрес_хоста>
Данный способ может не работать с некоторыми серверами Windows. Втаком В таком случае возможно использовать монтирование ресурсов как ресурсов CIFS.
Автоматическое монтирование ресурсов CIFS
(раздел в работе)Предупреждение |
---|
Данный способ монтирования может быть неприемлем с точки зрения безопасности Вместе с тем описываемое подключение позволяет использовать ресурсы samba в доверенной локальной сети всем пользователям локальной машины |
с авторизацией от имени выделенного ( |
непривилегированного) пользователя. В качестве основы для создания скрипта /etc/auto.cifs использован скрипт auto.smb поставляемый с пакетом autofs5 с небольшими доработками. |
Для использования этого способа должны быть установлены пакеты smbclient и :
В дополнение к собственно samba установить пакет cifs-utils:
Command sudo apt install cifs-utils
Добавить в файл /etc/auto.master
строку:
Информация /media/cifs /etc/auto.cifs --timeout=60
Создать файл /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}')
#opts="-fstype=cifs,file_mode=0644,dir_mode=0755,codepage=866,iocharset=utf8,user=$user_password"
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Комментарии к файлу
< opts="-fstype=cifs,file_mode=0644,dir_mode=0755,codepage=866,iocharset=utf8,user=$user_password" > :
строка для обеспечения просмотра русских букв на ресурсах windows;
< $SMBCLIENT --user=$user_password -gL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" -F'|' -- ' > :
строка <$SMBCLIENT ...> изменена для обеспечения возможности подключения к samba-ресурсам windows;
< user_password=$(cat $credfile | grep "$key" | awk -F ":" '{print $2}') > :
строка добавлена для получения из файла пароля доступа к ресурсу cifs.
Для монтирования ресурсов 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" Сделать сценарий auto.cifs исполняемым:
Command sudo chmod 755 /etc/
auto.cifs
Создать файл /etc/user-cifs с паролями доступа к ресурсу cifs
вида:
Информация ХОСТ1:ПОЛЬЗОВАТЕЛЬ%ПАРОЛЬ
ХОСТ2:ПОЛЬЗОВАТЕЛЬ%ПАРОЛЬ
Информация Имя пользователя следует указывать без имени домена или рабочей группы. В целях безопасности
ограничить права доступа к файлу /etc/user-cifs, оставив доступ только для пользователя root
Перезапускаем autofs
обращаемся
:
Command sudo chmod 600 /etc/user-cifs
Перезапустить autofs:
Command sudo systemctl restart autofs Обратиться для проверки в командной строке к ресурсу samba:
Command ls /media/cifs/ХОСТ1
Монтирование CIFS ресурсов c авторизацией через Kerberos
Если монтирование выполняется на компьютере с настроенной авторизацией через Kerberos, то монтровать ресурсы можно с помощью принципала Kerberos.
Для этого:
Убедиться, что служба CIFS правильно настроена на работу с Kerberos, для чего убедиться, что в файле /etc/request-key.d/cifs.spnego.conf пристутвует опция -t, а если её нет - то добавить её. В итоге содержимое файла должно быть следующее:
Информация create cifs.spnego * * /usr/sbin/cifs.upcall -t %k
Получить/обновить билет Kerberos (если монтирование делается от имени суперпользователя, то и билет должен быть получен от суперпользователя):
Command kinit <имя_пользователя> Убедиться, что принципал получен:
Command klist Выполнить для проверки окманду монтирования (для примера монтируется ресурс //server.windomain.ru/share в каталог /mnt):
Command mount -t cifs //server.windomain.ru/share /mnt -o sec=krb5