amarao: (Default)
[personal profile] amarao
Dec 14 12:00:59 ubuntu dhclient[674]: Sending on Socket/fallback
Dec 14 12:00:59 ubuntu dhclient[674]: DHCPDISCOVER on ens3 to 255.255.255.255 port 67 interval 3 (xid=0x2ad36074)
Dec 14 12:00:59 ubuntu dhclient[674]: DHCPOFFER of 10.33.178.10 from 10.33.178.2
Dec 14 12:00:59 ubuntu dhclient[674]: DHCPREQUEST for 10.33.178.10 on ens3 to 255.255.255.255 port 67 (xid=0x7460d32a)
Dec 14 12:00:59 ubuntu dhclient[674]: DHCPACK of 10.33.178.10 from 10.33.178.2 (xid=0x2ad36074)
Dec 14 12:00:59 ubuntu audit[679]: AVC apparmor="DENIED" operation="exec" profile="/{,usr/}sbin/dhclient" name="/usr/bin/true" pid=679 comm="isc-worker0000" requested_mask="x" denied_mask="x" fsuid=0 ouid=0


Да-да. Была вот такая строчка:

md5sum "$mystatedir/isc-dhcp-v4-$interface" "$mystatedir/isc-dhcp-v6-$interface" "$mystatedir/ifupdown-inet-$interface" "$mystatedir/ifupdown-inet6-$interface" > "$oldstate" 2> /dev/null || true

В которой автор кода сказал "да, пожалуйста, игнорируйте любые ошибки в этом месте", но пришёл apparmor и сказал "нельзя, нельзя". И случилось чудное.

Программисты шутят про #define TRUE FALSE, а сисамдины отлаживают.

Date: 2023-12-16 04:44 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

Автор полиси неправ. Иметь исполняемый и работающий true — конституционное право каждого шелл-скрипта, гарантируемое спецификацией POSIX.

Date: 2023-12-18 05:45 am (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

В спеке на семейство функций execl, execle, execlp, execv, execve, execvp, fexecve перечислены условия, при которых вызов обязан вернуть код ошибки EACCES, но формулировка такова, что этот список не исчерпывающий (“shall fail if”, не “if and only if”). Поэтому ты можешь иметь файл, иметь право execute на его родительский каталог и всех предков, но exec* всё равно имеет право вернуть EACCES.

А вот в спеке на true никаких условий не прописано. Обязано быть, обязано вернуть нулевой код возврата, обязано никак не трогать стандартный ввод-вывод.

Date: 2023-12-20 12:40 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

Так а я и говорю, что виноват автор полиси, которая сломала возможность запускать essential утилиту POSIX- окружения.

Ломать exec* чего попало в целях повышения безопасности — можно. Ломать exec* для конкретно /bin/true — нельзя.

Profile

amarao: (Default)
amarao

February 2026

S M T W T F S
123456 7
8910111213 14
15161718192021
22232425262728

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 10:40 pm
Powered by Dreamwidth Studios