Содержание

Skip to end of metadata
Go to start of metadata

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

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


Ниже будет приведен пример рабочей конфигурации. В данном примере при установке ОС не выбирались сетевые сервисы и СУБД, т.к. предполагалось использование машины исключительно как клиента домена ALD. В другом случае может понадобиться дополнительная настройка. Например, если машина будет ипользоваться как сервер печати, помимо ниже описанных настроек должен быть запущен сервис 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

  • No labels