gladilov.org.ru gladilov.org.ua

42 заметки с тегом

Linux

Леннарт ’мать его’ Поттеринг представил systemd-homed

Леннарт Поттеринг (Lennart Poettering) на конференции All Systems Go 2019 представил новый компонент системного менеджера systemd — systemd-homed, нацеленный на обеспечение переносимости домашних каталогов пользователей и их отделения от системных настроек. Основная идея проекта в создании самодостаточных окружений для данных пользователя, которые можно переносить между разными системами, не заботясь о синхронизации идентификаторов и конфиденциальности.

Окружение домашнего каталога поставляется в форме монтируемого файла-образа, данные в котором зашифрованы. Параметры учётных данных пользователя привязаны к домашнему каталогу, а не к системным настройкам — вместо /etc/passwd и /etc/shadow используется профиль в формате JSON, хранимый в каталоге ~/.identity. В профиле указаны параметры, необходимые для работы пользователя, включая данные об имени, хэше пароля, ключах для шифрования, квотах и предоставляемых ресурсах. Профиль может быть заверен цифровой подписью, хранимой на внешнем токене Yubikey.

Показать

Параметры также могут включать дополнительные сведения, такие как ключи для SSH, данные для биометрической аутентификации, изображение, email, адрес, часовой пояс, язык, лимиты на число процессов и память, дополнительные флаги монтирования (nodev, noexec, nosuid), данные о применяемых пользователем серверах IMAP/SMTP, информация о включении родительского контроля, параметры резервного копирования и т. п. Для запроса и разбора параметров предоставляется API Varlink.

Назначение и обработка UID/GID производится динамически в каждой локальной системе, к которой подключается домашний каталог. При помощи предложенной системы пользователь может держать свой домашний каталог при себе, например на Flash-накопителе, и получать рабочее окружение на любом компьютере без явного заведения на нём учётной записи (наличие файла с образом домашнего каталога приводит к синтезу пользователя).

Для шифрования данных предлагается использовать подсистему LUKS2, но systemd-homed также позволяет использовать и другие бэкенды, например, для незашифрованных каталогов, Btrfs, Fscrypt и сетевых разделов CIFS. Для управления переносимыми каталогами предложена утилита homectl, которая позволяет создавать и активировать образы домашних каталогов, а также изменять их размер и задавать пароль.

На уровне системы работа обеспечивается следующими компонентами:
systemd-homed.service — управляет домашним каталогом и встраивает JSON-записи напрямую в образы домашнего каталога;
– pam_systemd — обрабатывает параметры из JSON-профиля при входе пользователя и применяет их в контексте активируемого сеанса (проводит аутентификацию, настраивает переменные окружения и т. п.);
– systemd-logind.service — обрабатывает параметры из JSON-профиля при входе пользователя, применяет различные настройки управления ресурсами и выставляет лимиты;
– nss-systemd — модуль NSS для glibc, синтезирует классические записи NSS на основе JSON-профиля, предоставляя обратную совместимость с UNIX API для обработки пользователей (/etc/password);
– PID 1 — динамически создаёт пользователей (синтезирует по аналогии с применением директивы DynamicUser в unit-ах) и делает их видимыми для остальной системы;
– systemd-userdbd.service — транслирует учётные записи UNIX/glibc NSS в записи JSON и предоставляет унифицированный API Varlink для запроса и перебора записей.

Из достоинств предложенной системы отмечается возможность управления пользователями при монтировании каталога /etc в режиме только для чтения, отсутствие необходимости синхронизации идентификаторов (UID/GID) между системами, независимость пользователя от конкретного компьютера, блокировка данных пользователя во время перехода в спящий режим, применение шифрования и современных методов аутентификации. Systemd-homed планируется включить в основной состав systemd в выпуске 244 или 245.

Видео

На Опёнке сразу забурлили, вот несколько комментариев с противоположными мнениями: Показать



Объясните недалёкому, для чего нужен systemd-homed?


– Для корпораций, в будущем твой домашний каталог будет на их серверах в облаке, а локальный компьютер будет тивоизирован и у тебя не будет к нему root доступа.


– Потому что это только в убогой винде все настройки лежат кучкой, в папке c:\windows\system32\config и ещё шести файлах профиля, которые суммарно составляют «реестр Windows». В гениальной же Linux настройки равномерно размазаны тонким слоем по всей системе. И если пользователь захочет просто скопировать окружение на другой комп, он затрахается собирать конфиги по всему диску, ибо где только они не разбросаны... Разве что в своп-разделе нет, и то ещё не уверен — не удивлюсь, если есть и такие компоненты системы, которые их даже там хранят.
Вот для того, чтоб прошерстить весь диск и собрать всё это барахло в единую кучку, и предназначена данная штука.


– что бы когда будет нужно (уже не в столь далёком будущем), отправить «товарищу майору» (или сэру мэйджору?) всё, что можно найти в «домике». Естественно, предварительно открыв канал через уже придуманный systemd. А кто не согласится — отключим газ. Ну или комп. Или хотя бы домик — что бы доказуху не потёрли.
Чует моё сердце, что этот sd довром не кончится — нас ждут весёлые времена и масса открытий. И, возможно, в самое ближайшее время.

Источник

Инициатива Microsoft по включению поддержки exFAT в ядро Linux

Компания Microsoft опубликовала технические спецификации на файловую систему exFAT и выразила готовность передать права на использование всех связанных с exFAT патентов для безвозмездного использования в Linux. Отмечается, что опубликованной документации достаточно для создания переносимой реализации exFAT, полностью совместимой с продуктами Microsoft. Конечной целью инициативы является добавление поддержки exFAT в основной состав ядра Linux.

Показать

Участники организации Open Invention Network (OIN), в число которых входит и Microsoft, обязуются не предъявлять судебных претензий за использование своих технологий в компонентах «системы Linux» («Linux System»). Но exFAT не входит в их число, поэтому на данную технологию не распространяются обязательства Microsoft в области предоставления возможности использования своих патентов. Для снятия угрозы патентных претензий компания Microsoft планирует добиться включение драйвера exFAT в число компонентов, входящих в следующую редакцию определения «системы Linux». Таким образом, связанные с exFAT патенты попадут в область действия соглашения, заключённого между участниками OIN.

Примечательно, что раньше патенты на exFAT были ключевым звеном в большинстве претензий Microsoft, затрагивающих предустановку решений на базе Linux. Драйвер с реализацией exFAT шесть лет назад был открыт компанией Samsung под лицензией GPLv2, но он до сих пор остаётся не включён в основной состав ядра Linux из-за опасности предъявления компанией Microsoft иска о нарушении патентов. На сайте Microsoft до сих пор остаётся страница с информацией о необходимости получения лицензии на использование exFAT.

Файловая система exFAT была создана Microsoft для устранения ограничений FAT32 при использовании на Flash-накопителях большого объема. Поддержка файловой системы exFAT появилась в Windows Vista Service Pack 1 и Windows XP с Service Pack 2. Максимальный размер файла по сравнению с FAT32 был расширен с 4 Гб до 16 эксабайт, устранено ограничение на максимальный размер раздела в 32 Гб, для уменьшения фрагментации и увеличения скорости введена битовая карта свободных блоков, ограничение на число файлов в одной директории поднято до 65 тыс., предусмотрена возможность хранения ACL.

Источник

28 августа   Linux   в мире   досуг   интересное   события   софт

Загадочные BogoMIPS’ы

Давно хотел сделать статейку о том, что такое BogoMIPS’ы. Наконец руки дошли и до этого

Когда-то в юнлсти я обратил внимание на то, что при начальной загрузке ядра Linux выдаётся сообщение примерно такого вида:

Calibrating delay loop… 1699 BogoMIPS

Оказывается, в ядре Линукс — это способ измерения оценки скорости исполнения процессорных инструкций на компьютере, он предназначен для калибровки внутренних циклов ядра.

Теория: Показать

BogoMIPS’ы можно определить как «число миллионов раз в секунду, когда процессор может ничего не делать» («the number of million times per second a processor can do absolutely nothing»).

Это собственное изобретение Линуса. В версии ядра 0.99.11 от 11 июля 1993 года была нужда в цикле синхронизации для калибровки скорости процессора компа. Поэтому во время загрузки ядро ​​измеряет, насколько быстро на компьютере выполняется определенный цикл. Приставка «Bogo» происходит от слова «bogus» (англ. «фальшивка», «подделка»). Поэтому значение BogoMIPS’ов даёт некоторое представление о скорости процессора, но при этом это значение очень ненаучно. Вывод этого значения был немного полезен для отладки и проверки работоспособности кэшей компьютеров и работы кнопки «Турбо» (когда она ещё была на системниках).

BogoMIPS’ы определены в /usr/src/linux/init/main.c, где описан простой алгоритм на C, с хорошим примером арифметики с плавающей запятой в полностью целочисленном ядре, соответствующая переменная ядра loops_per_sec используется в нескольких драйверах для более серьёзной работы. Фактически функция задержки udelay() написана на ассемблере, поэтому каждый порт на другую архитектуру имеет собственное определение в /include/asm/delay.h. При этом, переменная loops_per_sec и функция udelay() используются во многих драйверах, посмотреть это можно так:

cd /usr/src/linux
find . -name '*.[hcS]' -exec fgrep loops_per_sec {} /dev/null \;
find . -name '*.[hcS]' -exec fgrep udelay {} /dev/null \;

Цикл расчёта BogoMIPS’ов для процессоров с не Intel-архитектурой похож, но не всегда, так как он пишется на другой реализации языкя ассемблера.

Методов определения богомипсов три:

  1. (самый предпочтительный) просмотр в /proc/cpuinfo (например так:
cat /proc/cpuinfo | grep -i bogomips

  1. просмотр вывода системного журнала для контроля, что было напечатано во время загрузки (с помощью dmesg или syslogk). Иногда информация всё ещё может находиться на загрузочной консоли.
  2. (рекомендуется только для не Linux-систем) используя отдельную программу bogomips..

Теперь практика. Действующие, гм..., лица и устройства: Показать

Тип Сетевое имя Бренд, Модель
/Аппаратная ревизия
ОС
(прошивка)
Процессор ОЗУ
Компьютер soulhome  Debian 10 Intel Celeron G1610@2.6ГГц 16Гб
VPS-сервер gor QEMU/KVM  Debian 9 Intel Celeron@2.1ГГц 1Гб
Нетбук asus4g Asus Eee PC 4G (701)  Debian 9 Intel Celeron M ULV 353@900МГц,
работает на частоте 630МГц
2Гб
Маршрутизатор hive D-Link DIR-320/A2E  DebWRT Broadcom BCM3302 v2.9@240МГц 32Мб
IPTV STB-приставка x96mini DQiDianZ X96 mini  armbian 5.67 Amlogic S905W, 4xARM Cortex-A53@1,5ГГц 2Гб
Маршрутизатор linksys Linksys WRT300N/1.1  DD-WRT v24-sp2 mega v1.51.2 Broadcom BCM4705L@300МГц 32Мб
Маршрутизатор midge Edimax BR-6104KP/1.3.r510  flyrouter3-office_usb ADMtek 5120P@170МГц 16Мб
Маршрутизатор tplink TP-Link TL-WR841ND/8.1  OpenWRT Attitude Adjustment 12.09, r36088 Atheros AR9341@535МГц 32Мб
IPTV STB-приставка mag250 TeleTec MAG-250 Micro  0.2.18-r22-250 STMicroelectronics STi7105@450МГц 256Мб
Смартфон k3note Lenovo K3 Note  Android 5.1 MediaTek MT6752, 8xARM Cortex-A53@1,7ГГц 2Гб
Маршрутизатор gw D-Link DIR-300/A/C1E  2.5.7 Realtek RTL8196C@390МГц 32Мб

На всех (почти) подконтрольных мне домашних железках с ОСью/прошивкой на ядре Linux настроил авторизацию по ключу по протоколу SSH. Кое-где из-за старости и ущербности и отстуствия сорременных алгоритмов обмена ключей прищлось в /~.ssh/config прописать

Host <узел>
    KexAlgorithms +diffie-hellman-group1-sha1

чтобы не писать в командной строке конструкцию вида:

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 <узел> 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'

На железках, в которых dropbear кроме motd выдавал ещё и login banner — пришлось пойти на крайние меры путём убийства процесса dropbear и старта его без указания файла с банером, т. е. вместо процесса

dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -d /tmp/root/.ssh/ssh_host_dss_key -p 22

делаю

killall dropbear

и стартую процесс

dropbear -r /tmp/root/.ssh/ssh_host_rsa_key -d /tmp/root/.ssh/ssh_host_dss_key -p 22

Авторизацию по ключу сделал так:

cat ~/.ssh/id_rsa.pub | ssh <узел> 'cat >> .ssh/authorized_keys'

Затем на всех узлах выполнял код

ssh <узел> 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'

Полученный результат я свёл на скрин с инфой (1920x1080): Показать

Текстовая расшифровка изображения (вдруг кому пригодится): Показать

soul@soulhome:~$ cat /proc/cpuinfo | grep -i bogomips && cat /proc/version
bogomips        : 5188.12
bogomips        : 5188.12
Linux version 4.9.0-9-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian 4.9.168-1+deb9u5 (2019-08-11)
soul@soulhome:~$ ssh gor 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
bogomips        : 4199.99
Linux version 4.9.0-9-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian 4.9.168-1+deb9u2 (2019-05-13)
soul@soulhome:~$ ssh asus4g 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
bogomips        : 1260.10
Linux version 4.9.0-6-686-pae (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07)
soul@soulhome:~$ ssh hive 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
BogoMIPS                : 239.10
Linux version 2.6.34.5 (amain@amain-laptop) (gcc version 4.3.3 (GCC) ) #1 Sun Sep 26 18:20:27 CEST 2010
soul@soulhome:~$ ssh x96mini 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
BogoMIPS        : 48.00
BogoMIPS        : 48.00
BogoMIPS        : 48.00
BogoMIPS        : 48.00
Linux version 5.1.0-rc5-next-20190416-aml-s905-gde3c659c8-dirty (root@vbox) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #5.78 SMP PREEMPT Tue Apr 16 13:56:07 MSK 2019
soul@soulhome:~$ ssh linksys 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
BogoMIPS                : 299.82
Linux version 2.4.36 (root@dd-wrt) (gcc version 3.4.6 (OpenWrt-2.0)) #2827 Thu Jun 19 08:30:07 CEST 2008
soul@soulhome:~$ ssh midge 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
BogoMIPS                : 174.48
Linux version 2.4.32 (builder@work) (gcc version 3.4.5 (ZFT Lab. and FlyRouter Team)) #2 Вто Мар 24 21:44:31 EET 2009
soul@soulhome:~$ ssh tplink 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
BogoMIPS                : 266.64
Linux version 3.3.8 (blogic@Debian-60-squeeze-64-minimal) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #1 Sat Mar 23 16:49:30 UTC 2013
soul@soulhome:~$ ssh k3note 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
BogoMIPS        : 26.00
BogoMIPS        : 26.00
BogoMIPS        : 26.00
Linux version 3.10.65+ (buildslave@shws40) (gcc version 4.9 20140514 (mtk-20150408) (GCC) ) #1 SMP PREEMPT Wed Oct 28 14:17:24 CST 2015
soul@soulhome:~$ ssh mag250 'cat /proc/cpuinfo | grep -i bogomips && cat /proc/version'
bogomips        : 444.41
Linux version 2.6.32.59_stm24_0211-MAG250_7105 (dmgrib@Server01.localdomain) (gcc version 4.6.3 20120313 (STMicroelectronics/Linux Base 4.6.3-106) (GCC) ) #41 PREEMPT Thu Jun 8 13:01:38 EEST 2017
soul@soulhome:~$ telnet -E dlink 
Trying 10.9.1.1...
Connected to dlink.
Escape character is 'off'.
                                                                                                                                                                                             
Dlink-Router login: soul                                                                                                                                                                     
Password:                                                                                                                                                                                    
Welcome to                                                                                                                                                                                   
     _______          ___     __  ____   _  _   ___                                                                                                                                          
    |  ___  \        |   |   |__||    \ | || | /  /                                                                                                                                          
    | |   | ||  ___  |   |__  __ |     \| || |/  /                                                                                                                                           
    | |___| || |___| |      ||  || |\     ||     \                                                                                                                                           
    |_______/        |______||__||_| \____||_|\___\                                                                                                                                          
                                                                                                                                                                                                                  
                     = Building Networks for People =                                                                                                                                                             
                                                                                                                                                                                                                  
                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                             
BusyBox v1.19.2 (2016-10-19 16:25:25 MSK) built-in shell (ash)                                                                                                                                                                               
Enter 'help' for a list of built-in commands.                                                                                                                                                                                                
                                                                                                                                                                                                                                             
soul@dlink:$ cat /proc/cpuinfo | grep -i bogomips                                                                                                                                                                                            
BogoMIPS                : 389.12                                                                                                                                                                                                             
soul@dlink:$ cat /proc/version 
Linux version 2.6.30.9 (builder@rd) (gcc version 4.4.5-1.5.5p2 (GCC) ) #1 Wed Oct 19 16:21:12 MSK 2016
soul@dlink:$ exit
Connection closed by foreign host.
soul@soulhome:~$

Источники:
http://tldp.org/HOWTO/BogoMips/index.html
http://www.clifton.nl/bogo-faq.html
https://ru.wikipedia.org/wiki/BogoMIPS

Названия выпусков Android переходят на цифровую нумерацию

Компания Google сообщила о прекращении практики присвоения выпускам платформы Android названий сладостей и десертов в алфавитном порядке и переходу к обычной цифровой нумерации. Ранее применявшаяся схема была заимствована из практики присвоения имён внутренним веткам, используемым инженерами Google, но вызывала много путаницы среди пользователей и сторонних разработчиков. Таким образом развиваемый ныне выпуск Android Q теперь официально назван Android 10, а следующий выпуск изначально будет продвигаться как Android 10.1 или Android 11.

В анонсе также отмечается, преодоление очередного рубежа популярности — Android теперь используется на более чем 2.5 миллиардах активных устройств. В то же время представлен обновлённый логотип проекта, в котором вместо полного изображения робота использована только его голова, а текст отображается другим шрифтом и чёрным цветом вместо зелёного.

Источник

24 августа   Linux   в мире   досуг   интересное   ОС   события   софт

Драйвер флоппи-дисков оставлен в ядре Linux без сопровождения

В состав ядра Linux 5.3 приняты изменения с добавлением дополнительной защиты ioctl-вызовов, связанных с драйвером floppy, а сам драйвер помечен как оставленный без сопровождения («orphaned»), что подразумевает прекращение его тестирования в Jiri.

Показать

Драйвер рассматривается как устаревший, так как для его тестирования трудно найти работающее оборудование — все актуальные внешние накопители, как правило, используют интерфейс USB. При этом удалению драйвера из ядра мешает то, что контроллеры флоппи-дисков по-прежнему эмулируются в системах виртуализации. Поэтому драйвер пока сохраняется в ядре, но его корректная работа не гарантируется.

Кроме того, в драйвере floppy устранена уязвимость (CVE-2019-14283), позволяющая через манипуляции с ioctl непривилегированному пользователю, имеющему возможность вставки своего флоппи-диска, прочитать данные из областей памяти вне границ буфера копирования (например, в смежных областях могут содержаться остаточные данных из дискового кэша и буфера ввода). С одной стороны уязвимость остаётся актуальной так как драйвер floppy автоматически загружается при наличии соответствующего эмулируемого контроллера в системах виртуализации (например, по умолчанию используется в QEMU), но с другой стороны для эксплуатации проблемы необходимо чтобы был подключен подготовленный злоумышленником образ флоппи-диска.

Источник

Евросоюз одобрил покупку Red Hat компанией IBM

Компания IBM сегодня получила безусловное антимонопольное согласие Европейского Союза на приобретение компании Red Hat за 34 миллиарда долларов.

Это самая крупная покупка в истории IBM. Американский технологический гигант рассчитывает с ее помощью расширить предложение программного обеспечения, распространяемого на условиях подписки. Предполагается, что это поможет противостоять падению выручки от традиционных продаж программного обеспечения и снижению спроса на мэйнфреймы.

Показать

В заявлении Европейской комиссии сказано, что сделка не вызовет проблем с конкуренцией.

О сделке было объявлено в октябре прошлого года. Тогда стороны сообщили, что завершение сделки ожидается во второй половине 2019 года. Похоже, что все идет по плану. Американские антимонопольщики одобрили сделку в мае. Они тоже не выдвинули сторонам никаких условий.

Источник

Элегантная форк-бомба


ВНИМАНИЕ!
Не запускайте эту команду, чтобы «проверить» её, так как у вашего компьютера скорее всего произойдёт сбой, влекущий за собой принудительную перезагрузку системы.

Текст бомбы:

:(){ :|:& };:

Что она делает:
 :() — объявление функции с именем :
 {:|: &} — в теле функции описан запуск её же и отправка вывода снова в функцию : (в фоне)
 ; — разделитель команд, как и &&.
 : — первый запуск функции :

Источник

RHEL прекращает поддержку KDE

С выходом  Red Hat Enterprise Linux 7.6 сообщается о прекращении поддержки KDE Plasma, которая теперь считается устаревшей. Полная поддержка KDE будет прекращена в одном из следующих релизах RHEL. Поддерживать текущие версии Red Hat обещает как минимум до 2024 года. Фокус компании уже давно сосредоточен на Gnome, в разработке которой участвует немалое количество программистов Red Hat.

Какое-то поветрие: сначала  Федора отвалилась, потом  Qubes, теперь вот RHEL...

Источники:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/7.6_release_notes/#chap-Red_Hat_Enterprise_Linux-7.6_Release_Notes-Deprecated_Functionality
https://www.theregister.co.uk/2018/11/02/rhel_deprecates_kde/

Добавление swap-файла в системе Debian

В связи с частыми вылетами демона TTRSS из-за недостатка памяти решил откусить 2 гига от корневой ФС для файла подкачки. Не уверен, что поможет, но попробую...

Создал пустой файл /swapfile размером 2 Гб:

dd if=/dev/zero of=/swapfile bs=1M count=2048

Установил ему права:

chmod 600 /swapfile

Отформатировал этот файл как своп:

mkswap /swapfile

Добавил файл подкачки в систему:

swapon /swapfile

В файле /etc/fstab добавил строку:

/swapfile     swap     swap     defaults     0     0

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

Источники:
https://wiki.debian.org/Swap
https://www.tecmint.com/create-a-linux-swap-file/
http://blog.sedicomm.com/2017/07/26/kak-sozdat-linux-swap-fajl/

Ранее Ctrl + ↓
Наверх