LINUX.ORG.RU
решено ФорумTalks

systemd-филы, объясните простую вещь

 


0

2
[root@rescue-customer-eu /]# service httpd restart
Redirecting to /bin/systemctl restart httpd.service
Running in chroot, ignoring request.
[root@rescue-customer-eu /]# service fucking-bitch restart
Redirecting to /bin/systemctl restart fucking-bitch.service
Running in chroot, ignoring request.
[root@rescue-customer-eu /]# 

Вот это вот - чтобы что?

p.s. вангую предлагателей systemd-nspawn: сначала попробуйте, посмотрите че происходит, потом советуйте.

★★★★★

Последнее исправление: windows10 (всего исправлений: 1)

В тред призывается главный специалист по ненужнод systemd - @intelfx!

u5er ★★
()

Вот это вот - чтобы что?

Системд это докер в мире инит систем. Со временем также становится вещью в себе. Привыкайте.

Obezyan
()

service httpd restart
Redirecting to /bin/systemctl

А ты упрямый.

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

Вот не надо наш прекрасный чистый докер сравнивать с этой бородавкой, срезанной с корпоративной жопы редхата.

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

Ничо не епта. Ты хочешь, сидя в чруте, рулить системой вне чрута. Негоже.

Так а для чего еще нужен чрут, как не рулить системой?

Для остального можно просто пользоваться файлами.

Вдобавок ко всему, раньше можно было рулить системой.

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

Так а для чего еще нужен чрут, как не рулить системой?

Чтобы сидеть в клетке и не касаться вещей за ее пределами.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)

Вот это вот чтобы сервисы, запущенный в chroot, не мог шатать систему вне chroot. Кажется достаточно очевидным.

gaylord
()
Ответ на: комментарий от adn

Боюсь спросить: а что ты пытаешься рестартить в chroot и зачем?

Вообще изначальный юзкейс такой: сервер с одним потухшим диском в софтовом рейде, отказывающийся загружаться, но вполне доступный с рекавери. На нем чуть больше полусотни доменов, крутящихся на WHM\Cpanel. Клиент пользуясь случаем захотел на другой сервант. Я же чтобы не переносить эти полсотни доменов и баз - решил стартануть ГУЙ и использовать их родной мигратор.

Фишка в том, что эти дебилы (WHM) понаговнокодили так, что оно запускается в связке между собой, а не как положено.

То есть просто запуск httpd мне бы не помог, нужен был работающий systemd.

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

Чтобы сидеть в клетке и не касаться вещей за ее пределами.

Не распарсил если честно. За какими пределами, если я хочу запустить сервисы (именно сервисы, мать их, а не сами приложения) внутри установленной системы?

Да и выглядит мотивация так себе. То есть я могу переписать загрузчик, установить ядра, сгенерить рамдиск, да и просто грохнуть систему rm -rf /, а вот апач запустить - несекюрно?)))

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

Вот это вот чтобы сервисы, запущенный в chroot, не мог шатать систему вне chroot. Кажется достаточно очевидным.

Вот это как раз неочевидно.

Во-первых, сама идея чрута - передача управления другому корню. Я допускаю что это небезопасно, окей. Ну так удалите или запретите chroot. Но он-то есть.

Во-вторых, запрещаемый systemctl start sshd - пошатает систему вне chroot, а вот разрешенный sshd -D /etc/ssh/ssd_config - нет? Шото не сходится.

Это скорей выглядит как желание замкнуть на себя и этот механизм тоже, и борьбу с конкурентами.

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

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

anc ★★★★★
()

Последствия архитектурной космонавтики.

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

Я допускаю что это небезопасно, оке

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

Ты как-то прямо наоборот все читаешь, поэтому выше по треду тебе ничего объяснить и не могут, все кажется слишком очевидным.

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

а вот разрешенный sshd -D /etc/ssh/ssd_config - нет? Шото не сходится.

А зачем ты в отдельный воображаемый корень положил лишние бинарники?

mikhalich ★★
()

А вот почему Поттер работает в Microsoft? Его резюме и запросы могли бы рассмотреть многие, но он работает именно в Microsoft. Это чтобы пингвинов потроллить или уже скрывать бессмысленно?

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

А зачем ты в отдельный воображаемый корень положил лишние бинарники?

Кто это решил? Пользователю надо - он положил.

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

Шото не сходится.

У тебя не сходится то, что после chroot содержимое корневого mount namespace почему-то не поменяется, отчего любое действие с ним пойдёт по корню неймспейса с соответствующими последствиями.

chupasaurus
()
Ответ на: комментарий от lenin386

А вот почему Поттер работает в Microsoft?

А какие еще конторы умеют делать сложные оси? МС и Яббл, всё.

Его резюме и запросы могли бы рассмотреть многие

Ага, он же мог пойти куда угодно шлёпать бэкенд на гошечке в молодом дружном коллективе.

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

МС и Яббл, всё.

А как же гугл с его андроидом?

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

я хочу запустить сервисы (именно сервисы, мать их, а не сами приложения) внутри установленной системы?

Но ты же не находишься внутри установленной системы. Ты в клетке, а systemd со всеми его данными и конфигами работает снаружи этой клетки. Ты сквозь прутья кричишь systemd, чтобы он там, на воле, перезапустил апач.

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

Ну, почему. IBM, Oracle, Google, Рэд Хэт. Это только что в момент вспомнилось. На деле, там полно контор, которые не слишком на слуху.

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

Тогда пусть терпит незаконные SSH-сессии, полномочия системд тут все.

mikhalich ★★
()

killall -HUP httpd не катит?

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

IBM, Oracle, Google, Рэд Хэт.

Сорта линукса, иногда ворованного друг у друга. Алсо, в РедХате Поттеринг уже поработал.

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

Да httpd тут вообще не причем, тут рабочая консоль в chroot оказалась, поэтому запросы из неё системд игнорит.

Ну как я понял претензию. Можно еще выкрутить селуникс на максимум, снести с рута контекст и спрашивать, почему он даже пинг запустить не может.

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

А, ну тогда не понимаю претензий. И вообще, если httpd - апач, то apachectl же, у systemd другое назначение

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

Докер наверно даже чуть более вреден чем системг.

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

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

Во-первых, сама идея чрута - передача управления другому корню. Я допускаю что это небезопасно, окей. Ну так удалите или запретите chroot. Но он-то есть.

Идея chroot’а – поменять корень, все правильно. Но не управлять сервисами родительского корня изнутри нового корня. Управлять сервисами из chroot плохая идея с любым инитом, особенно если /run не смонтирован.

Во-вторых, запрещаемый systemctl start sshd - пошатает систему вне chroot, а вот разрешенный sshd -D /etc/ssh/ssd_config - нет? Шото не сходится.

Почему не сходится? Первый меняет состояние sshd ЗА пределами chroot, второй меняет состояние sshd ВНУТРИ chroot. В этом весь смысл chroot – контейнировать.

Это скорей выглядит как желание замкнуть на себя и этот механизм тоже, и борьбу с конкурентами.

Вот это выглядит как паранойя.

gaylord
()
Ответ на: комментарий от windows10

systemctl не запускает никакие процессы, он только посылает команды в PID 1 через unix-сокет. Ну вот там защита: если процесс systemctl и процесс PID 1 в разных рутах, то команда игнорируется.

Тебе надо, чтобы systemd и systemctl были в одном руте. Т.е. надо запустить ещё один экземпляр systemd.

systemd умеет запускаться в контейнерах systemd-nspawn. Кажется это единственный документированный способ запустить несколько экземпляров systemd на одной системе. Используй systemd-nspawn вместо chroot.

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

Глупости.

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

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

Всегда ставлю софт через apt, никаких проблем не замечал.

Поставь через apt софт другой версии чем есть в репозитарии, без прав рута и в локальную для проекта песочницу. Удачи!

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

Вдруг у него NixOS?

Я на 100% уверен, что нет (: Во-первых, потому что apt. А во-вторых, потому что это firkax.

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

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

А, ну да, забыл. Пхп обычно не из репы а скомпилированный нужной версии с нужными опциями configure (если речь не про локалхост). Причём тут докер и причём тут система пакетов по прежнему не ясно. Очевидно, что кастомные опции компиляции можно только самостоятельно компилировать. А такого, что нужна какая-то специальная версия, но с дефолтными опциями, я не помню.

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

Причём тут докер и причём тут система пакетов по прежнему не ясно.

При том, что ты руками компилируешь php вместо того, чтобы это делать не руками.

Очевидно, что кастомные опции компиляции можно только самостоятельно компилировать.

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

В принципе, докер в текущем наиболее распространённом сценарии его использования – это почти что вендовый setup.exe, только с полной изоляцией от хостовой системы. Все библиотеки и так далее софтина тащит с собой.

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

Зачем, если это можно автоматизировать и зашарить результаты сборки с коллегами?

А потом докинуть сверху используемые библиотеки,

Для такого достаточно одного tar-а, докеры тут лишние.

изоляцию этого всего от основной системы

Изоляция на уровне фс не нужна. Изоляция на уровне прав доступа есть в любом юниксе из коробки.

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

Для такого достаточно одного tar-а, докеры тут лишние.

Во-первых, не достаточно. Во-вторых, этот tar надо ещё как-то собрать.

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

Изоляция на уровне фс не нужна.

Кому не нужна? Как оказалось, очень даже нужна, потому что…

Изоляция на уровне прав доступа есть в любом юниксе из коробки.

… как ты только правами доступа изолируешь файлы пользователя от бинарника, запущенного этим же пользователем? Покажи нам эту особую магию!

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

Во-первых, не достаточно. Во-вторых, этот tar надо ещё как-то собрать.

./configure --prefix=/usr/local/php7

ldd php-fpm и собираешь это всё (кроме системно-дефолтных) в /usr/local/lib/php7

Обе эти директории засовываешь в .tgz, на таргете распаковываешь и запускаешь, всё работает.

Если нужно не общесистемно - кладёшь всё в $HOME/usr/ вместо /usr

… как ты только правами доступа изолируешь файлы пользователя от бинарника, запущенного этим же пользователем? Покажи нам эту особую магию!

Если пользователь не доверяет бинарнику - надо запускать бинарник от другого пользователя. Пользоваться вместо этого нативного механизма жуткими костылями с пофайловой изоляцией (начиная от докеров и заканчивая всякими selinux-ами кстати) - плохо.

firkax ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)