Выполнение rm -rf / может привести к неработоспособности UEFI-прошивки ноутбука
Один из любознательных пользователей Arch Linux столкнулся с непредвиденной проблемой, пытаясь провести эксперимент по выполнению «rm -rf --no-preserve-root /» на ноутбуке MSI GP60. Перед плановой переразбивкой диска пользователь решил понаблюдать как поведёт себя система в случае выполнения «rm -rf /», после чего ноутбук пришёл в неработоспособное состояние и перестал подавать признаки жизни, даже не пытаясь вывести что-то на экран при включении.
Проблема оказалась в монтировании в режиме записи псевдо-ФС efivarfs, предоставляющей доступ к переменным UEFI. Таким образом, при выполнении «rm -rf /» удалялось и содержимое директории /sys/firmware/efi/efivars, что приводило к очистке и повреждению конфигурации UEFI.
На запрос перейти к монтированию /sys/firmware/efi/efivars в режиме только на чтение разработчики systemd ответили, что не видят в этом проблемы, так как изменение efivars возможно только под пользователем root, который в случае неадекватных действий может с тем же успехом повредить содержимое /dev/sda или перемонтировать efivars на запись.
Стирание директории /sys под пользователем root нельзя отнести к типичным практикам, а запись в efivars необходима некоторым системным утилитам. Более того, очистка конфигурации UEFI-прошивки не должна приводить к блокированию работы устройства — в случае повреждения, конфигурация UEFI должна восстанавливаться в состояние по умолчанию. Поэтому причиной проблемы является UEFI-прошивка, а не конфигурация systemd. При желании пользователи и разработчики дистрибутивов могут самостоятельно перейти к работе efivars в режиме только на чтение, без изменения кода systemd, достаточно для efivars указать в /etc/fstab флаг «ro».
© OpenNet