Флегматично: «Docker-контейнер, в котором нет интерпретатора bash, можно назвать безбашенным»
Сижу и придумываю вменяемое CI/CD для наших серверных продуктов, допускающих однотипное "маленькое" (один инстанс стека) и "большое" (автоконфигурируемое ХЗ-сколько-штук) развёртывание через docker-контейнеры. Ну и автогенерацию-автозапись образов в репозиторий по тегу из гита в качестве промежуточного шага. Продукты - не микросервисы, а такие "полумонолиты", хорошо оптимизированные под свои задачи :)
Ни одно из готовых решений не покрывает всех хотелок, а хочется сделать красиво :)
DeepSeek в качестве советчика, кстати, весьма неплохо подкован в этой теме, во всяком случае, предлагает вполне рабочие варианты связок.

Картинка из Шедеврума.
P.S. За окном дождь с запахом липы. В этом году июнь - особенно липовый месяц, столько одновременно цветущих лип давно не видел.
Сижу и придумываю вменяемое CI/CD для наших серверных продуктов, допускающих однотипное "маленькое" (один инстанс стека) и "большое" (автоконфигурируемое ХЗ-сколько-штук) развёртывание через docker-контейнеры. Ну и автогенерацию-автозапись образов в репозиторий по тегу из гита в качестве промежуточного шага. Продукты - не микросервисы, а такие "полумонолиты", хорошо оптимизированные под свои задачи :)
Ни одно из готовых решений не покрывает всех хотелок, а хочется сделать красиво :)
DeepSeek в качестве советчика, кстати, весьма неплохо подкован в этой теме, во всяком случае, предлагает вполне рабочие варианты связок.

Картинка из Шедеврума.
P.S. За окном дождь с запахом липы. В этом году июнь - особенно липовый месяц, столько одновременно цветущих лип давно не видел.
no subject
Date: 2025-06-25 08:36 am (UTC)/bin/false в качестве юзершелла в passwd — это грубо :)
Актуальный запрет логина — это, всё-таки, /usr/sbin/nologin
no subject
Date: 2025-06-25 08:38 am (UTC)Этот ваш nologin появился вчера. До него был грубый false.
no subject
Date: 2025-06-25 08:39 am (UTC)Короче, минимальный шелл - это, таки, true
no subject
Date: 2025-06-25 08:46 am (UTC)Ага, поставь его какому-нибудь юзеру в качестве основного :)
no subject
Date: 2025-06-25 09:06 am (UTC)А прям щаз расклад шеллов такой примерно:
Или так:
$ awk -F: '{a[$7]+=1}END{for(x in a)print(x,a[x])}' /etc/passwd /bin/false 8 /usr/bin/false 2 /bin/bash 2 /bin/sync 1 /usr/sbin/nologin 42no subject
Date: 2025-06-25 12:46 pm (UTC)Интересно, в чём разница между /bin/false и /usr/bin/false
no subject
Date: 2025-06-25 12:48 pm (UTC)Сейчас? Ни в чём — там симлинк или маунт /bin с /usr/bin
no subject
Date: 2025-06-25 12:55 pm (UTC)У меня в убунте/минте ни то, ни другое — хардлинк.
no subject
Date: 2025-06-25 12:56 pm (UTC)Эвер хэв ю син эни факин диференс?
no subject
Date: 2025-06-25 01:00 pm (UTC)Nope. Байты одинаковые. Хотя, несложно написать разное поведение в зависимости от argv[0];
no subject
Date: 2025-06-25 01:04 pm (UTC)да, переписать true — это тема!
на расте, разумеется.
и с изменением поведения от *argv — чтобы мало не казалось...
ЗЫ. чтобы false и true были одним бинарником, и остальные варианты (two, three, four, ...) возвращали соответствующий код завершения, ога.
ЗЗЫ. это вам, блин, не IEFBR14, а современное безопасТное приложение будет!
ЗЗЗЫ. вот гуй к нему придумать — у меня фантазма не хватает...
no subject
Date: 2025-06-25 01:55 pm (UTC)> возвращали соответствующий код завершения
/usr/bin/twohundredfiftyfive :)
> IEFBR14
Ну у тебя и память :)))
Там, помнится, две команды на ассемблере.
no subject
Date: 2025-06-25 02:01 pm (UTC)по существу — одна: собссно BR 14 (бранч по 14-му регистру, где штатно — адрес возврата после BALR)
no subject
Date: 2025-06-25 02:13 pm (UTC)А R15 обнулить?
no subject
Date: 2025-06-25 02:14 pm (UTC)вот, не помню, был там XR 15 или нет...
no subject
Date: 2025-06-25 02:29 pm (UTC)Я видел вариант SR 15,15, вроде, каноничный.
no subject
Date: 2025-06-25 03:30 pm (UTC)SR — каноничный, но чаще было, таки, XR — чуток быстрее...
Впрочем, там, вроде, 1BFF 07FE — две команды: SR + BCR
no subject
Date: 2025-06-25 02:03 pm (UTC)> чтобы false и true были одним бинарником
Дык, busybox так и сделан.
no subject
Date: 2025-06-25 02:05 pm (UTC)ну, новый бизибокс и будет, но безопасТный, с телеметрией, бэкждеком и прочими атрибутами.
интересно, сможет ли оно парсить имена, начинающиеся с minus? и что будет делать? как там в ржавом с целочисленным переполнением?
no subject
Date: 2025-06-25 02:27 pm (UTC)/bin/blackjack и /bin/whores, ага :)
Я посмотрел на rust, посмотрел, и решил, что пока мне и так не скучно. Парсить-то дело нехитрое, а вот код возврата в линухе — uint8
no subject
Date: 2025-06-25 03:09 pm (UTC)об чём и речь :)