Начиная с очередного обновления 1.8 программное обеспечение Astra Linux Directory (ALD) исключено из состава Astra Linux Special Edition. Для организации доменов рекомендуется использовать программный комплекс ALD Pro. Также возможно использование доменов FreeIPA, Samba, Windows AD.

Общая информация

Режим работы ОС Astra Linux SE (ОС), о котором идет речь, предполагает размещение корневой файловой системы на карте памяти microSD, установленной в АПМДЗ "Максим"(АПМДЗ). Т.к. АПМДЗ защищает карту памяти от записи, корневая файловая система должна монтироваться в режиме read only. Для корректной работы ОС некоторые области файловой системы должны быть доступны для записи. Такие области монтируются в оперативную память ПЭВМ, и очищаются при выключении/перезагрузке компьютера. Чтобы обеспечить сохранение пользовательской информации между сеансами, ОС работает в качестве клиента ALD. Таким образом, пользовательская информация, под которой подразумеваются документы, мультимедиа, настройки прикладных программ (почтовый клиент и т.п.) хранится централизованно на сервере, а пользователи получают к ней доступ посредством сетевой файловой системы - CIFS.


Ниже будет приведен пример рабочей конфигурации. В данном примере при установке ОС не выбирались сетевые сервисы и СУБД, т.к. предполагалось использование машины исключительно как клиента домена ALD. В другом случае может понадобиться дополнительная настройка. Например, если машина будет иcпользоваться как сервер печати, помимо ниже описанных настроек должен быть запущен сервис CUPS, а также директории /var/spool/cups и /var/cache/cups должны быть доступны для записи.

Astra Linux 1.2

1. Установка ОС в карту памяти АПМДЗ производится согласно пункту 8.5 руководства администратора АПМДЗ.

2. Чтобы настроить ОС для работы в качестве клиента ALD нужно загрузиться в режиме чтения-записи. Для этого нужно аутентифицироваться как администратор АПМДЗ и из меню администратора разрешить запись в энергонезависимую память (ЭНП) устройства . Подробнее см. п. 7.6.7 руководства администратора АПМДЗ. Действия по настройке ОС требуют привилегий суперпользователя root. Чтобы функционировать в качестве клиента ALD, ОС необходимы пакеты ald-client и ald-client-parsec. Проверить их наличие в системе можно командой:

dpkg -l | grep ald-client


Строка начинающаяся с "ii" и именем пакета говорит о том, что пакет установлен. Например:

ii ald-client 1.4.12 Astra Linux Directory client


Если пакеты не установлены, установите их командой:

aptitude install ald-client-parsec


Для работы ALD необходимо корректно настроить разрешение имен в сети. Имя машины должно в первую очередь разрешаться полным доменным именем. Т.е. файл /etc/hosts должен выглядеть примерно так:

127.0.0.1 localhost
192.168.1.1 myhost.mydomain.ru


Утилита hostname должна возвращать короткое доменное имя машины. Применительно к примеру выше это - myhost. Чтобы изменить имя машины нужно отредактировать файл /etc/hostname. Системное время настраиваемой клиентской машины не должно отличаться от времени на сервере ALD более чем на 5 минут. Посмотреть или изменить системное время можно с помощью команды:

date


Подробнее см. man date. Если в сети настроен сервис NTP, имеет смысл настроить синхронизацию времени. Это можно сделать создав файл /etc/cron.d/ntpdate c содержимым:


*/10 * * * * root /usr/sbin/ntpdate <ntp-сервер>


где вместо <ntp-сервер> нужно указать доменное имя или ip-адрес машины, на которой настроен сервер NTP.

После выполнения описанных выше приготовлений можно ввести машину в домен. Для этого отредактируйте следующие строки в файле /etc/ald/ald.conf:


DOMAIN=<имя домена с точкой>


где вместо <имя домена с точкой> нужно указать домен. Для примера выше - .mydomain.ru


SERVER=<имя сервера>


где <имя сервера> - полное доменное имя ALD-сервера. Например: myserver.mydomain.ru


CLIENT ON=1


Включение клиента ALD.
Чтобы применить данные настройки выполните команду:


ald-client commit-config


Подробнее о настройке ALD см. man ald, man ald-client, а также п.6 руководства администратора ОС.

3. Действия по настройке ОС для работы в режиме read only требуют привилегий суперпользователя root.
3.1. Т.к. корневая файловая система ОС будет недоступна для записи, это может привести к некорректной работе некоторых сервисов. Во избежание ошибок нужно настроить ОС таким образом, чтобы эти сервисы не стартовали. Посмотреть какие сервисы будут запускаться при каждой загрузке можно командой


ls -l /etc/rc2.d


Пример рабочей конфигурации:

K50cups
K60dhcp3-server
K80exim4
K80vsftpd
README
S01ald-nscd-cleaner
S05vbesave
S10rsyslog
S12acpid
S20gpm
S20nfs-common
S20nscd
S20nslcd
S20ulogd
S21dbus
S22avahi-daemon
S24hal
S29ald-mount-helper
S89atd
S89cron
S98usplash
S99acpi-support
S99console-setup
S99fly-dm
S99rc.local
S99rmnologin
S99stop-bootlogd

Имена сервисов начинающиеся с S будут стартовать, а те что начинаются с K - нет. Редактировать уровни запуска можно с помощью утилиты update-rc.d. В примере выше SMTP-сервер exim4 выключен из автозапуска. Это можно сделать, выполнив команды:


update-rc.d -f exim4 remove
update-rc.d exim4 80 stop 6 5 4 3 2 1 0 .


Аналогично для cups, dhcp3-server и vsftpd. Подробнее см. man update-rc.d

3.2. Основная настройка ОС для работы в режиме read only осуществляется редактированием конфигурационного файла /etc/fstab. Здесь указывается, что корневая файловая система должна быть доступна только для чтения, какие области должны монтироваться в оперативную память ПЭВМ, а также выключается проверка файловой системы на наличие ошибок.
Каждая запись в /etc/fstab имеет формат:

файловая_система точка_монтирования тип_файловой_системы опции_файловой_системы необходимость_проверки очередность_проверки

Запись для корневой файловой системы должна выглядеть примерно так:


/dev/mksm_sd1 / ext2 ro 0 0


где /dev/mksm_sd1 обозначает первый раздел на карте памяти АПМДЗ,
/ - точку монтирования корневой файловой системы,
ext2 - тип корневой файловой системы (ext2 выбрана не случайно, см. п. 8.5. руководства администратора АПМДЗ),
ro - файловая система будет доступна только для чтения,
нули в последних двух полях выключают проверку файловой системы на наличие ошибок утилитой fsck.
Такая проверка невозможна, т.к. файловая система недоступна для записи.

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


tmpfs /tmp tmpfs defaults 0 0


Для записи обязательно должны быть доступны /tmp, /var/tmp, /var/lock, /var/run, /var/log, /var/lock, /var/private, /var/cache/nscd, /var/cache/samba, /var/spool/samba, /ald_home.
Рабочий вариант файла fstab для нашего примера:


# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/mksm_sd1 / ext2 ro 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
tmpfs /ald_home tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/log tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /var/private tmpfs defaults 0 0
tmpfs /var/cache/nscd tmpfs defaults 0 0
tmpfs /var/cache/samba tmpfs defaults 0 0
tmpfs /var/spool/samba tmpfs defaults 0 0


3.3. Для корректной поддержки мандатного разграничения доступа необходима дополнительная настройка в /var/private. Помимо того, что данная область должна быть доступна для записи (см. п.3.2. данной инструкции), в ней должна существовать определенная структура каталогов. Т.к. /var/private монтируется в оперативную память и очищается при выключении компьютера, эту структуру придется помещать туда динамически при каждой загрузке ОС. Для этого создайте архив с нужными директориями и поместите его в /root, выполнив следующие команды:


mkdir /tmp/tmpdir
cd /tmp/tmpdir
mkdir mac tmp varcache vartmp
tar -cvzf /root/private.tar.gz *
cd
rm -r /tmp/tmpdir


Чтобы содержимое данного архива при загрузке ОС помещалось в /var/private, отредактируйте файл /etc/rc.local добавив в него строчку:


tar -C /var/private -xzf /root/private.tar.gz


до строки


exit 0


3.4. Область /etc также должна быть доступна для записи, но содержимое этого каталога требуется на более ранней стадии загрузки, чем /var/private (см. п.3.3 данной инструкции). Поэтому после всех описанных выше настроек необходимо создать архив содержимого директории /etc, выполнив команды:


cd /etc
tar -cvzf /root/etc.tar.gz *


Чтобы содержимое данного архива динамически помещалось в /etc при загрузке ОС требуется модифицировать образ initramfs. Сделайте резервную копию образа и распакуйте его выполнив следующие команды:


cp /boot/initrd.img-2.6.34-3-generic /boot/initrd.img-2.6.34-3-generic.backup
mkdir /tmp/ramdisk
gunzip -S "" /boot/initrd.img-2.6.34-3-generic -c > /tmp/ramdisk/image
cd /tmp/ramdisk
cpio -id < image
rm image


После указанных действий в директории /tmp/ramdisk окажется содержимое образа initramfs. Отредактируйте файл init, добавив перед строчкой "#Chain to real filesystem" строки:


mount -t tmpfs -o size=$tmpfs_size,mode=0755 /dev/ram0 ${rootmnt}/etc
tar -C ${rootmnt}/etc -xzf ${rootmnt}/root/etc.tar.gz


Запакуйте образ initramfs и поместите в /boot, выполнив команды:


cd /tmp/ramdisk
find . | cpio -o -H newc | gzip -9 > /boot/initrd.img-2.6.34-3-generic


Выполните команду sync. Теперь после перезагрузки ОС будет работать. в режиме read only.

4. При работе с ОС в указанном режиме имеется ряд ограничений.
4.1 Изменять что-либо в /etc обычным образом будет невозможно. Если все же необходимо внести изменения требуется сделать следующее:

- Разрешить запись в карту памяти. Подробнее см. руководство администратора АПМДЗ.

- В загруженной ОС перемонтировать корневую файловую систему командой:


mount -o rw,remount /


- Внести необходимые изменения и сохранить их в архиве командами:


cd /etc
tar -czvf /root/etc.tar.gz *


4.2. ОС будет работать в режиме ALD, поэтому доступ к ней будут иметь только доменные пользователи и пользователь root. Причем, пользователь root сможет логиниться только в текстовом режиме, т.к. его домашний каталог /root будет недоступен для записи.

Astra Linux 1.4

Инструкция по настройке Astra Linux SE (1.4) как клиента ALD в режиме read only.

Инструкция во многих пунктах повторяет аналогичную для версии 1.2. Поэтому далее по тексту повторяющиеся пункты будут обозначены: --//--

1. --//--

2. Чтобы настроить ОС для работы в качестве клиента ALD нужно загрузиться в режиме чтения-записи. Для этого нужно аутентифицироваться как администратор АПМДЗ и из меню администратора разрешить запись в энергонезависимую память (ЭНП) устройства .
Подробнее см. п. 7.6.7 руководства администратора АПМДЗ.
Действия по настройке ОС требуют привилегий администратора и должны выполняться от пользователя из группы astra-admins.

Установить клиент можно командой:

sudo apt-get install ald-client-common


Для работы ALD необходимо корректно настроить разрешение имен в сети. Имя машины должно в первую очередь разрешаться полным доменным именем. Т.е. файл /etc/hosts должен выглядеть примерно так:


127.0.0.1 localhost
192.168.1.1 myhost.mydomain.ru myhost


Утилита hostname должна возвращать короткое доменное имя машины. Применительно к примеру выше это - myhost. Чтобы изменить имя машины нужно отредактировать файл /etc/hostname.
Cистемное время настраиваемой клиентской машины не должно отличаться от времени на сервере ALD более чем на 5 минут. Посмотреть или изменить (изменение требует прав администратора) системное время можно с помощью команды:


date


Подробнее см. man date.
Если в сети настроен сервис NTP, имеет смысл настроить синхронизацию времени. Это можно сделать создав файл /etc/cron.d/ntpdate c содержимым:


  • /10 * * * * root /usr/sbin/ntpdate <ntp-сервер>


где вместо <ntp-сервер> нужно указать доменное имя или ip-адрес машины, на которой настроен сервер NTP.

После выплнения описанных выше приготовлений можно ввести машину в домен. Для этого выполните команду:

sudo ald-client join <имя котроллера домена>

где <имя котроллера домена> - полное или короткое доменное имя сервера ALD. Подробнее о настройке ALD см. man ald, man ald-client, а также п.6 руководства администратора ОС.

3. Действия по настройке ОС в режиме read only требуют привилегий администратора и должны выполнятся пользователем из группы astra-admins с использованием утилиты sudo

3.1. --//--

3.2. Основная часть настройки ОС для работы в режиме read only осуществляется редактированием конфигурационного файла /etc/fstab. Здесь указывается, что корневая файловая система должна быть доступна только для чтения, какие области должны монтироваться в оперативную память ПЭВМ, а также выключается проверка файловой системы на наличие ошибок.
Каждая запись в /etc/fstab имеет формат:

файловая_система точка_монтирования тип_файловой_системы опции_файловой_системы необходимость_проверки очередность_проверки

Запись для корневой файловой системы должна выглядеть примерно так:


/dev/mksm_sd1 / ext2 ro 0 0


где /dev/mksm_sd1 обозначает первый раздел на карте памяти АПМДЗ,
/ - точку монтирования корневой файловой системы,
ext2 - тип корневой файловой системы (ext2 выбрана не случайно, см. п. 8.5. руководства администратора АПМДЗ),
ro - файловая система будет доступна только для чтения,
нули в последних двух полях выключают проверку файловой системы на наличие ошибок утилитой fsck.
Такая проверка невозможна, т.к. файловая система недоступна для записи.

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


tmpfs /tmp tmpfs defaults 0 0


Для записи обязательно должны быть доступны:


/tmp
/run
/var/tmp
/var/lock
/var/log
/var/lock
/var/cache/nscd
/var/cache/samba
/var/spool/samba
/ald_home
/var/lib/ald


Так же для записи должны быть доступны /etc и /var/private. Однако настройка этих областей имеет свои особенности и будет описана отдельно.

Пример файла fstab:


...
/dev/mksm_sd1 / ext2 ro 0 0
tmpfs /ald_home tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /run tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/log tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /var/cache/nscd tmpfs defaults 0 0
tmpfs /var/cache/samba tmpfs defaults 0 0
tmpfs /var/spool/samba tmpfs defaults 0 0
tmpfs /root tmpfs defaults 0 0
tmpfs /var/lib/ald tmpfs defaults 0 0
...


Обратите внимание, что это лишь пример рабочей конфигурации. В каждом конкретном случае может понадобиться дополнительная настройка. Например, если машина будет функционировать как станция печати, в tmpfs придется монтировать дополнительно /var/spool/cups и /var/cache/cups.

3.3. Для работы мандатного разграничения доступа необходима дополнительная настройка в /var/private. Помимо того, что данная область должна быть доступна для записи (см. п.3.2. данной инструкции), в ней должна существовать определенная структура каталогов.

Т.к. /var/private монтируется в оперативную память и очищается при выключении компьютера, эту структуру придется помещать туда динамически при каждой загрузке ОС. Для этого создайте архив с нужными директориями и поместите его в /opt, выполнив следующие команды:


mkdir /tmp/tmpdir
cd /tmp/tmpdir
mkdir mac tmp varcache vartmp
sudo tar -cvzf /opt/private.tar.gz *
cd
rm -r /tmp/tmpdir


3.4. Область /etc также должна быть доступна для записи, но содержимое этого каталога необходимо во время загрузки. Поэтому необходимо создать архив содержимого директории /etc и также поместить его в /opt, выполнив команды:


cd /etc
sudo tar -cvzf /opt/etc.tar.gz *


3.5. Чтобы содержимое архивов etc.tar.gz и private.tar.gz при загрузке ОС динамически помещалось в /etc и /var/private соответственно требуется модифицировать образы initramfs. Для этого нужно отредактировать файл /usr/share/initramfs-tools/init, добавив перед строчкой "#Chain to real filesystem" строки:


mount -t tmpfs -o size=$tmpfs_size,mode=0755 /dev/ram0 ${rootmnt}/etc
mount -t tmpfs -o size=$tmpfs_size,mode=0755 /dev/ram1 ${rootmnt}/var/private
tar -C ${rootmnt}/etc -xzf ${rootmnt}/opt/etc.tar.gz
tar -C ${rootmnt}/var/private -xzf ${rootmnt}/opt/private.tar.gz


После чего выполнить команду:


sudo update-initramfs -k all -ut