LINUX.ORG.RU

Статическая линковка

 , иди в свой двор,


0

2

Господа.

Вот на небезызвестном сайте cat-v.harmful.org утверждается:

Both performance and security are seriously harmed by dynamic linking

И если насчет performance можно поспорить*, то довод security мне совершенно непонятен. Ведь, если в библиотеке foz обнаружена серьезная уязвимость, то с динамической линковкой придется обновить только foz, а со статической — пересобрать все программы, использующие foz.

Может ли кто-нибудь объяснить, что имеется в виду?

Олсо, возможна ли статическая линковка всего в современном линуксе с количеством костылей, меньшим, чем в Gobolinux? (inb4 зачем? низачем. просто интересно.)

* хотя, несмотря на пример FreeBSD vs Plan9 в конце страницы по ссылке, в официальном FAQ Golang даже есть пункт:
Q: Почему у меня получаются такие большие бинарники?
A: Просто gc по умолчанию собирает их со статической линковкой.



Последнее исправление: rogvold (всего исправлений: 1)
Ответ на: комментарий от x3al

пришлось делать для админов локалхоста app armor, защищающий их от них же самих.

Эмм. apparmor позволяет ограничить каждый процесс ровно тем

я разве говорил, что он не нужен? Нужен. Это один из инструментов для разграничения прав. О чём я и говорил.

Реализовать точно то же самое системой chroot'ов и пользователей невозможно, кстати.

что значит «то же самое»? Изолировать программы? Можно, и я это успешно делаю. И на всех серверах так делается не один десяток лет. И только админы локалхоста не осилили. Обычными правами нельзя сделать только одно — изолировать конкретного пользователя от самого себя. А вот AppArmor так может.

В маздае админу можно далеко не всё.

в линуксе пользователю тоже можно далеко не всё. Нельзя например удалить систему запустив rm -rf /. А вот ВСЕ свои файлы удалить не только можно, но и очень просто. ИЧСХ той же командой.

drBatty ★★
()
Ответ на: комментарий от anonymous

Основную часть памяти занимают данные

я знаю. Но для нормальной работы основной код должен быть в кеше. А для этого кода должно быть немного. Немного по сравнению с кешем.

есть такие штуки в ядре, как MADV_MERGEABLE но куда диванному теоретику это знать.

диванный теоретик даже знает, что эта штучка может ЖУТКО тормозить. Ну и кеш она больше не делает.

Да ещё нищебродство вызывает зуд, небось.

в каком смысле? Тут же кричат «быстрее», это же для нищебродов ОС, не? У богатых мажоров и венда летает, зачем им?

drBatty ★★
()
Ответ на: комментарий от true_admin

мне стало смешно и я всё удалил потому что тебя не интересует сама дискуссия, тебе нравится работать на публику. Хорошо получается, когда-нить в топ lorquotes попадёшь.

я уже там. В основном от имени anonymous. Иной раз сам охреневаю от фортунок :)

drBatty ★★
()
Ответ на: комментарий от drBatty

Изолировать программы? Можно, и я это успешно делаю.

apparmor настолько убог, что не может ничего кроме файловой системы? Да и с файловой системой чрут даёт меньше гибкости, чем вменяемый MAC: если у демона есть вспомогательные процессы, то MAC ограничивает их отдельно от основного и запрещает всё лишнее, например.

И на всех серверах так делается не один десяток лет.

А сколько десятков лет существует apparmor?

x3al ★★★★★
()
Ответ на: комментарий от Reset

Почему тогда эту «фичу» исправили?

почему сделали сейф, в который и пила тоже влезает? Носки прятать. Очевидно же!

drBatty ★★
()
Ответ на: комментарий от x3al

Изолировать программы? Можно, и я это успешно делаю.

apparmor настолько убог, что не может ничего кроме файловой системы?

я этого не говорил. А что ещё он такого может, кроме ФС?

Да и с файловой системой чрут даёт меньше гибкости, чем вменяемый MAC

я про чрут и не говорил. Не только и не столько про него. Про гибкость согласен, но мало случаев, когда она _реально_ нужна.

если у демона есть вспомогательные процессы, то MAC ограничивает их отдельно от основного и запрещает всё лишнее, например.

отдельные процессы можно от отдельных юзеров запускать. Большинство демонов так и делает кстати.

А сколько десятков лет существует apparmor?

нисколько. Что говорит о том, что несколько десятков лет он был не нужен. Что изменилось?

drBatty ★★
()

довод security мне совершенно непонятен

всего одно слово: LD_PRELOAD

annulen ★★★★★
()
Ответ на: комментарий от drBatty

мало случаев, когда она _реально_ нужна.

4.2

Что говорит о том, что несколько десятков лет он был не нужен.

4.2, orange book появилось ещё в 1983 году. Ты не владеешь матчастью совсем.

x3al ★★★★★
()

блять, почти ни один мало-мальски спорный технический тред невозможно читать - приходит этот тупорогий нуб drBatty и начинает вываливать тонны тупняка, хуже двачевского рака, пиздец какой-то просто

anonymous
()
Ответ на: комментарий от Waterlaz

если у меня 100+ процессов, то без этого костыля не обойтись.

4.2

ты нотариально заверенный скриншот забыл приложить.

drBatty ★★
()
Ответ на: комментарий от x3al

мало случаев, когда она _реально_ нужна.

4.2

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

Что говорит о том, что несколько десятков лет он был не нужен.

4.2, orange book появилось ещё в 1983 году. Ты не владеешь матчастью совсем.

матчастью не владеешь ты: в ядре оно всего 3 года. Вот тебе пруф: https://lkml.org/lkml/2010/10/20/409

А то, что-оно «где-то» было, то меня мало волнует. Да и ты не сказал, где именно, кроме твоего локалхоста оно было так «нужно».

drBatty ★★
()
Ответ на: комментарий от drBatty

Из того, что оно в ядре 3 года, не следует, что оно не было нужно: были аналоги. А с common criteria, если уж orange book не нравится, советую ознакомиться, некоторые линуксы даже на EAL4+ сертифицированы. Админу локалхоста, конечно, оно нафиг не нужно: он защищён как неуловимый Джо.

x3al ★★★★★
()
Ответ на: комментарий от drBatty

ты нотариально заверенный скриншот забыл приложить.

У тебя тоже нет скриншота, как что-то валится от нехватка памяти.

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

Ну и не забывай, что если 100 процессов запущены с одного бинарника, то лишней памяти они не съедят. Тут статическая линковка обычно даже выигрывает у динамической.

Waterlaz ★★★★★
()
Ответ на: комментарий от x3al

Из того, что оно в ядре 3 года, не следует, что оно не было нужно: были аналоги.

ну вот видишь? О чём и речь.

Админу локалхоста, конечно, оно нафиг не нужно: он защищён как неуловимый Джо.

ну во первых 4.2. Админ локалхоста таки нужен. Хотя-бы сам себе(что-бы случайно что-то не испортить). Ну и приложения тоже надо разделять. Даже на локалхосте. Тебе конечно этого не понять, ибо ты локалхосты никогда видимо и не админил. А у мну они повсюду.

Во вторых, далеко не на всех серверах ставят аналоги app armor'а, и угадай — почему?

drBatty ★★
()
Ответ на: комментарий от Waterlaz

У тебя тоже нет скриншота

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

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

при динамической — тоже. У /bin/false всего три штуки, а у sed всего 5.

Ну и не забывай, что если 100 процессов запущены с одного бинарника, то лишней памяти они не съедят. Тут статическая линковка обычно даже выигрывает у динамической.

среди моих 100+ процессов полно разных. Как и на любом десктопе и на очень многих серверах.

Короче — давай скриншот, посмотрим. Пока просто балобольство.

drBatty ★★
()
Ответ на: комментарий от anonymous

Чего ещё ждать от чувака с укуренным пони на аватарке?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.