1.1, A.Stahl (ok), 21:18, 02/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +62 +/– |
>Позиция Поттеринга:
Весьма странная. Очевидно же что 0day это не 0. Очевидно, что что-то происходит не так. Нельзя выполнять что попало от имени рута при заведомо(!) некорректных входных данных. Пните его там -- он явно ещё не проснулся.
| |
|
2.5, Аноним (-), 21:38, 02/07/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
Я так понял, он имеет ввиду то, что такое имя при корректной работе остальной системы до этого пункта дойти не сможет. Теоретически, должно что-то будет раньше чем произойти чем указанная ошибка.
| |
|
3.8, Аноним (-), 21:49, 02/07/2017 [^] [^^] [^^^] [ответить]
| +8 +/– |
Однако может иметь место банальная опечатка, когда вместо nginx кто-то укажет 0nginx. И получит совершенно непредсказуемое поведение. Ну то есть... поттеринг говорит что 0nginx эквивалентно root. Норм че.
| |
|
4.17, Anonplus (?), 22:35, 02/07/2017 [^] [^^] [^^^] [ответить]
| –9 +/– |
Может, но это как с rm -rf
Юзер может ошибиться и стереть себе нафиг ВСЁ, нужно ли страховать его от такого или нет?
Подход "страховать" исповедуется в Windows, где с настройками по умолчанию на каждый чих нужно подтверждать действия, по мнению системы, опасные.
| |
|
5.32, Аноним84701 (ok), 23:52, 02/07/2017 [^] [^^] [^^^] [ответить]
| +29 +/– |
> Может, но это как с rm -rf
> Юзер может ошибиться и стереть себе нафиг ВСЁ, нужно ли страховать его
> от такого или нет?
"Опасные действия" и "действия с непонятным и неоднозначным вводом пользователя" вроде бы две большие разницы.
Или у вас уствновлена особая, суровая версия rm, которая для rm -f "*.x", не найдя подходящих файлов (.x), начнет удалять все (*)?
| |
|
4.158, Аноним (-), 17:35, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Однако может иметь место банальная опечатка, когда вместо nginx кто-то укажет 0nginx.
Для это надо ещё что бы такой пользователь с опечаткой (0nginx) реально существовал в системе.
| |
|
5.202, RomanCh (ok), 17:58, 04/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Например опечатка может случиться в одном месте, в системе автоматизации. А оттуда расползётся уже дальше. Да, конечно это "криворучье", т.е. человеческий фактор. И таки разумней было бы вываливаться с диагнозом "тут ошибка". Но...
| |
|
|
3.9, A.Stahl (ok), 21:50, 02/07/2017 [^] [^^] [^^^] [ответить]
| +8 +/– |
Однако произошло. Всё-таки это в масштабе одной программы можно возложить проверку входных данных на одну функцию и больше не париться по этому вопросу. А при межпрограммном взаимодействии верить никому нельзя. Даже Мюллеру. Тем более, что тут вопрос буквально пары строк кода.
| |
|
2.19, Аноним (-), 22:43, 02/07/2017 [^] [^^] [^^^] [ответить]
| +7 +/– |
Это ещё что, я отправлял feature request под свои задачи, разумеется указал свою версию systemd из состава дистрибутива. А feature request относился к последней версии, что называется, на будущее, о чём я явно потом сказал. Но Поттеринг закрыл запрос, аргументировав это тем, что принимаются запросы только по последним двум версиям systemd и указав на уже существующие возможности, которые мне ну никак не подходили (т. е. человек даже не вникал в суть задачи).
systemd задала новый стандарт де факто для системы загрузки, он действительно хорошо, но когда-нибудь systemd ждёт серьёзный форк от недовольных.
| |
|
|
4.62, Аноним (-), 02:35, 03/07/2017 [^] [^^] [^^^] [ответить]
| +7 +/– |
А в сис5 эти фичи были уже 20 лет как реализованы )))
-- другой аноним
| |
|
|
6.152, Аноним (-), 15:42, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Все возможные фичи и парочка невозможных тоже. Это же проверенный временем безошибочный универсальный идеально заточенный под инициализацию системы sysV. Там такой фигни нет!
| |
|
7.153, Аноним (-), 15:43, 03/07/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Все возможные фичи и парочка невозможных тоже. Это же проверенный временем безошибочный
> универсальный идеально заточенный под инициализацию системы sysV. Там такой фигни нет!
Точнее, там любая фигня есть! Это же исконно-посконный sysV.
| |
7.159, Аноним (-), 17:38, 03/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Все возможные фичи и парочка невозможных тоже. Это же проверенный временем безошибочный
> универсальный идеально заточенный под инициализацию системы sysV. Там такой фигни нет!
Ну это не совсем так, просто sysV бесконечно расширяемый, за счёт скриптовости своей натуры, в отличии от того же systemd где до сих пор например нельзя задать свою команду для restart сервиса :-)
| |
|
|
|
|
3.92, Аноним (-), 08:49, 03/07/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
И куда ты лезешь? Ты что никогда не работал с CVS, SVN, git? Ну, то-то и оно. Не лезь. И мысли у тебя наверняка глупые.
| |
3.157, Аноним (-), 17:22, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> systemd задала новый стандарт де факто для системы загрузки, он действительно хорошо, но когда-нибудь systemd ждёт серьёзный форк от недовольных.
И я надеюсь форк будет от Линуса.
| |
|
4.182, Led (ok), 01:12, 04/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> systemd задала новый стандарт де факто для системы загрузки, он действительно хорошо, но когда-нибудь systemd ждёт серьёзный форк от недовольных.
> И я надеюсь форк будет от Линуса.
Не раньше, чем:
- Линус продаст все свои акции RedHat
или
- RedHat пошлёт ЛП на... в... в винду.
| |
|
|
2.121, Noteme (?), 11:33, 03/07/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
Это не сон, это гордыня. И она никого никогда к хорошему не приводила.
| |
|
|
2.99, Аноним (-), 09:12, 03/07/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> ЧСХ, таких нотабуг стало подозрительно много. И не только в systemd
Взрослеете, однако.
| |
|
|
2.7, Аноним (-), 21:48, 02/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
>не впервой
Можно пару примеров? Я кроме ошибки в grub2 ничего больше не помню.
| |
|
|
2.44, Аноним (-), 00:51, 03/07/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
Второе, второе. Это новый аналог Ульриха "ВашеМудачество" Дреппера, с его бессмертным "stop reopening".
| |
|
3.61, Аноним (-), 02:32, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Дреппер — автор глибца, а "стоп реопенинг" — от автора рпм. Это разные люди.
А Дреппер в своё время не хотел вставлять в глибц костыли для обхода бага во флеше и в какой-то проприетарной софтине, используемой Линусом. А ещё ругался на Линуса, что в нормальных операционках данные от ядра получаются бинарным sysctl-ем, тогда как в линуксе для этого надо парсить текстовый файл в недрах /proc. Так что Дреппер был адекватным в отличие от.
| |
|
|
1.14, Аноним (-), 22:19, 02/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +10 +/– |
> Леннарт Поттеринг отказался исправлять ошибку и закрыл уведомление с меткой "not-a-bug".
> начиная с RHEL 7/CentOS 7 штатный инструментарий дистрибутива позволяет создавать и использовать пользователей, имена которых начинаются с цифры.
он же вроде в Red Hat работает, ему там еще не настучали ?
| |
|
2.41, Аноним (-), 00:42, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Будто вы с пульсой историю незнание? Через пару лет Лёню снимут с проекта придут тругие программам ты и все перепишут как надо.
| |
|
|
4.64, Аноним (-), 02:46, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Внезапно - да. Замечательно работает поверх JACK'а в качестве замены алсового dmix.
| |
4.65, Аноним (-), 02:51, 03/07/2017 [^] [^^] [^^^] [ответить]
| +6 +/– |
> пульсу уже переписали как надо?
Вылезайте из криокамеры! Давно уже - теперь шипение еще более сочное и глубокое, как и жор проца! И даже, в 7 версии, решили что выход по SIGTERM не обязательно является критической ошибкой.
| |
4.106, Я. Р. Ош (?), 10:23, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> пульсу уже переписали как надо?
с разморозкой тебя. ты отсутствовал 5 лет
| |
|
|
|
1.15, jtad (?), 22:24, 02/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +10 +/– |
действительно такой эффект имеется. Сделал скрипт и запустил от 0day. В итоге
root 8746 1 0 21:17 ? 00:00:00 /bin/bash /usr/local/2.sh
от моего имени запускается как положенно. КАК МОЖНО ЭТО НЕ СЧИТАТЬ БАГОМ??
| |
|
2.71, leap42 (ok), 03:32, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> root 8746 1 0 21:17 ? 00:00:00 /bin/bash /usr/local/2.sh
> /usr/local/2.sh
> 2.sh
алло, это двош? тут постят несмешное!
| |
2.141, Аноним (-), 13:38, 03/07/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
Сделай тоже самое, но от "day". Пользователь не должен существовать.
Посмотри результат. Потом задумайся.
| |
|
1.18, sqrt (?), 22:37, 02/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Я знаю, что надо сделать. Концепт многопользовательской операционной системы — это легаси UNIX'а 70-, не совместимый с новейшими принципами systemd. У каждого пользователя должен быть свой контейнер от systemd-nspawn. Это решит проблему (ну может еще пару приложений сломает, но чего не сделаешь ради прогресса).
| |
|
2.31, Crazy Alex (ok), 23:45, 02/07/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
Собственно, это не так безумно, как кажется - по факту абсолютное большинство систем однопользовательские, а "пользователи" используются исключительно для разделения прав. А с приходом контейнеров на серверах (в которых часто вообще всё, что можно, от рута крутится - но этого "всего" в каждом контейнере мало) и разделение прав уходит на другие механизмы. Да и прочего legacy в POSIX хватает.
Но безумия Поттеринга - и вообще, и в данном случае - это не отменяет :-)
| |
2.43, Аноним (-), 00:48, 03/07/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
Лозунги - это хорошо, но только для лохов.
А я например ради прогресса встроил бы в systemd тест который в "непрогрессивных дистрах" кричал бы при первом запуске: "Галактикавопасностэ!!! 0root работает как root!! Давай-ка накати обновления друг!!!"
Но прежде чем делать такую хрень, я бы рассчитал бы 25 раз точно ли тут прогресс и стоит ли оно того.
ps: А еще я подумал кем является человек который декларирует и воспринимает профанство в разработке systemd в качестве новейших принципов. И знаешь..я тебе из лучших побуждении искренне рекомендую молчать.
| |
|
|
|
Часть нити удалена модератором |
|
|
1.21, jtad (?), 22:49, 02/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
нечто, поттеринг пишет
Yes, as you found out "0day" is not a valid username. I wonder which tool permitted you to create it in the first place. Note that not permitting numeric first characters is done on purpose: to avoid ambiguities between numeric UID and textual user names.
Я создал юзера стандартной useradd в моей федоре 25. Он удивляется какой тулзой это можно сделать. Он вообще когда в последний раз в редхатовском дистре работал, наверно сидит в своих новых проектах а на этот ему наплевать. За такое поведение достоин увольнения
| |
|
2.107, None (??), 10:29, 03/07/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
Интересно, он реально не знает, что /etc/passwd можно править текстовым редактором?
| |
|
3.160, Sw00p aka Jerom (?), 17:42, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
ага тока суть в том, что нуно быть рутом чтобы создать нового "0day", а потом ещё его прописывать в сервис )
| |
3.179, Аноним (-), 23:44, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Он для логов бинарный формат придумал, смотреть который надо специальной утилитой. Какая уж тут правка конфигов универсальным текстовым редактором...
| |
|
2.177, vantoo (ok), 22:03, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Он вообще когда в последний раз в редхатовском дистре работал...
Интересный вопрос, особенно учитывая то, что он работает в Red Hat.
| |
2.217, Димон (??), 22:39, 21/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
он просто дурачок, строящий из себя серьёзного технического специалиста. Но не очень получается. Зато Редхат компенсирует это протекторатом.
| |
|
1.24, Аноним (-), 23:06, 02/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Позиция Лёни Дэ подозрительна. Сейчас модно косо смотреть на параноиков, везде усматривающих заговоры, но это уже ни в какие ворота.
| |
|
2.37, Аноним (-), 00:22, 03/07/2017 [^] [^^] [^^^] [ответить]
| –17 +/– |
Если по ТЗ функция должна получать на вход целые числа от 1 до 100, то проверять на 0 нет смысла.
Поттеринг прав.
Не нравится - меняйте ТЗ.
| |
|
3.45, Аноним (-), 00:53, 03/07/2017 [^] [^^] [^^^] [ответить]
| +9 +/– |
> Если по ТЗ функция должна получать на вход целые числа от 1 до 100, то проверять на 0 нет смысла.
Верно. Но если вы вдруг использовали нечто на входе не проверив что у вас это нечто есть число от 1 до 100, то сразу надо в дворники. Notabug.
| |
3.46, Аноним (-), 00:59, 03/07/2017 [^] [^^] [^^^] [ответить]
| +10 +/– |
Ну, во-первых нет такого типа, чтобы сам по себе имел диапазон 1-100. uint8_t - это [0,256]. Во-вторых, для целых чисел недостаточной разрядности есть опасность переполнения типа. В-третьих, пётеринг отказывается делать проверку, мотивируя тем, что "вам запрещено передавать в функцию числа больше 100". То что по факту хакеры вертели его запреты на детородном органе, сабж признавать отказывается.
Так что да, тут злостное нарушение практики defensive programming в критически важном компоненте системы, и отказ признать свою неправоту после прицельного тычка носом в получившуюся кучу.
| |
|
4.50, Аноним (-), 01:40, 03/07/2017 [^] [^^] [^^^] [ответить]
| –11 +/– |
Ещё раз: есть здравый смысл (на который ты напираешь), а есть ТЗ. Если в ТЗ написано что будет, значит это БУДЕТ. Как, почему, а может всё-таки стоит - это неправильные вопросы. Если в ТЗ написано что пункт меню должен называться "Параматеры", то он ДОЛЖЕН называться "Параматеры". Это требование (ТРЕБОВАНИЕ!!!!!) и ты обязан (ОБЯЗАН) его выполнить.
Это как описание API: не надо додумывать и переиначивать то, что написано прямым текстом.
Напр. функция поиска подстроки в php должна вернуть "Возвращает указанную подстроку. Если подстрока не найдена, возвращается FALSE". Не может быть числа на выходе. Не может быть массива на выходе. Не может и всё тут. Но ты ведь всё равно проверишь что это не число и не массив, да?
| |
|
5.55, Crazy Alex (ok), 01:52, 03/07/2017 [^] [^^] [^^^] [ответить]
| +13 +/– |
Чувак, иди учись дальше. Входные данные, за которые ты не можешь поручиться головой (то есть пришедшие откуда угодно извне) всегда проверяются. Это основа основ.
P.S. А входные данные, за которые ты головой поручиться таки готов - лучше тоже проверить, если ресурсы позволяют. Потому что от ошибок в своём коде никто не застрахован.
| |
|
6.75, Аноним (-), 04:40, 03/07/2017 [^] [^^] [^^^] [ответить]
| –9 +/– |
Если проверка параметров нужна (а обычно она нужна), то делается функция-обёртка, которая только и делает что проверяет параметры и вызывает функцию-обработчик. Обёртка может выполнять кэширование, проверку прав доступа и многое другое.
Кто будет писать обёртку тебя не касается, это не ты.
А того, кто будет писать обёртку, не касается кем, где и как будет реализован функционал.
Есть паттерны, которые называются Заместитель и Декоратор, но ты с ними явно не знаком. И к проектной работе ты тоже не готов.
| |
6.77, Аноним (-), 04:53, 03/07/2017 [^] [^^] [^^^] [ответить]
| –7 +/– |
У царя Мидаса всё в золото превращалось, а у вас - в дерьмо. Вечно хотите запихать в функцию и проверку параметров, и функционал, и отрисовку, и кэширование.
Подходишь, ничего не сделано. "А я тут занимался ***". Ну вот на *** ты этим занимался?????!!!!! Тебя просили? Тебе прямым текстом сказали "не надо". Ты дурак???? "Но ведь это тоже надо делать..." Надо. Но не тебе. И не так.
| |
|
7.78, Аноним (-), 05:16, 03/07/2017 [^] [^^] [^^^] [ответить]
| +9 +/– |
> У царя Мидаса всё в золото превращалось, а у вас - в
> дерьмо. Вечно хотите запихать в функцию и проверку параметров, и функционал,
> и отрисовку, и кэширование.
> Подходишь, ничего не сделано. "А я тут занимался ***". Ну вот на
> *** ты этим занимался?????!!!!! Тебя просили? Тебе прямым текстом сказали "не
> надо". Ты дурак???? "Но ведь это тоже надо делать..." Надо. Но
> не тебе. И не так.
Подходишь такой к Поттерингу, попросил показать инит. "А я сделал комбайн. Тут DNS-сервер, сканер QR-кодов, бинарные логи, и ещё 20 ненужных вещей"
| |
7.162, angra (ok), 18:10, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Подходишь, ничего не сделано. "А я тут занимался проектированием с применением десятка патернов, о которых на днях прочитал в умной книжке. Ну вот на *** ты этим занимался?????!!!!! Тебя просили? Тебе прямым текстом сказали "не надо". Ты дурак????"
| |
|
|
5.117, anon3000 (?), 11:06, 03/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ничо, ничо. Начнёшь проверять все данные сразу после первого серьёзного факапа из-за некорректных данных.
| |
|
6.164, angra (ok), 18:16, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Не начнет, он же манагер по образу мышления. Отбрехается тем, что в ТЗ этого не было, а ТЗ согласовали, вот подписи. А то, что проверка данных ожидается по умолчанию от качественного кода, его не колышет, он без понятия об этих умолчаниях, у него бумажка с ТЗ есть.
| |
|
5.118, Аноним (-), 11:21, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
>Ещё раз: есть здравый смысл (на который ты напираешь), а есть ТЗ.
А где оно, ТЗ на системду, не подскажешь?
| |
|
4.54, Crazy Alex (ok), 01:50, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Вообще-то такие типы есть - в Аде, например (хм, init на Аде - интересная мысль, в принципе). В остальном - согласен.
| |
|
5.59, Аноним (-), 02:20, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Вообще-то такие типы есть - в Аде, например
Паскальщина же, ну и заодно модула.
| |
|
6.173, Аноним (-), 19:33, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Модулу не знаю, а на паскалях (FP и Delphi) это делается только через аналог enum. Внутри там те же integer-ы с разрядностью как у процессора. Более того, рантайм может не отлавливать получение числа, не попадающего в разрешённый диапазон.
То есть проверять надо.
| |
|
7.184, Led (ok), 01:19, 04/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Модулу не знаю, а на паскалях (FP и Delphi) это делается только через аналог enum.
Садись - "двойка"!
var I:1..100;
> Внутри там те же integer-ы с разрядностью как
> у процессора. Более того, рантайм может не отлавливать получение числа, не
> попадающего в разрешённый диапазон.
А может и "отлавливать". Начиная с... врать не буду, но начиная с TurboPascal 5.0 for DOS - точно мог "отлавливать".
> То есть проверять надо.
Т.е. уроки прогуливать не надо.
| |
|
|
|
4.108, Аноним (-), 10:35, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
>нет такого типа, чтобы сам по себе имел диапазон 1-100
ты не умеешь в типизацию
| |
4.215, Pilat (ok), 14:43, 14/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Ну, во-первых нет такого типа, чтобы сам по себе имел диапазон 1-100.
> uint8_t - это [0,256].
Скоро кто-то прочитает Ваш пост и поверит что это именно так. И сделает очередную чудо-приблуду, с которой Поттерингу придётся разбираться.
| |
|
3.150, dq0s4y71 (ok), 15:19, 03/07/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Дело в том, что реальный мир - это не ТЗ. Его трудно изменить, и его свойства приходится учитывать. А позиция "если факты противоречат моей теории, тем хуже для фактов" инфантильная.
| |
|
4.186, Аноним (-), 01:47, 04/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
В реальном мире платят за точность исполнения ТЗ. когда мы собирали один девайс в тз был уровень шума, мы смогли его снизить и чуть не нарвались на штрафы. Как сказал заказчик: не ваше собачье дело почему девайс должен шуметь. Он должен, поэтому это написано в тз. Пришлось вставлять в девайс шумелку.
| |
|
5.194, Аноним (-), 10:25, 04/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Cool story, bro. Теперь спрошу еще раз: где ТЗ на systemd? Где в нем пункт, где прямо описано сабжевое поведение?
| |
|
6.195, Аноним (-), 11:17, 04/07/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
Там же, где ТЗ на Линукс. Мотивировочную часть Поттеринг представил. Читай пока не поймёшь его позицию, там всего 10 слов.
| |
|
7.196, Andrey Mitrofanov (?), 11:42, 04/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Читай пока не поймёшь его позицию, там всего 10 слов.
Как он растянул их на 148 блогов-постов? Активно использовал воду и знаки переносов?...
Поможете нам отделить те 10 слов от тех-тех 148 блог-постов? Типа, мучаемся же.
| |
|
|
|
|
|
|
1.60, Аноним (-), 02:32, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +22 +/– |
И... количество вопросов "зачем?" к создателям Devuan становится меньше.
| |
1.63, Аноним (-), 02:45, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Поттеринг всего лишь "послал" выскочку, который кто такой вообще, чтобы репортить баги? Удивительно что вообще обосновал позицию, а не закрыл страничку молча. В своё время так же "послали" Кона Коливаса, только в тот раз Ingo Molnár. "Кто ты такой вообще, пролетарий, ветеринар, чтобы учить меня как ядро писать?"
| |
1.67, Аноним (-), 03:14, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> man 3 strtoul
Если исправлять баг, то тут:)
Думаю каждый хоть раз парсил текст в числа этой функцией.
И многие знают про этот баг не первый год.
| |
|
2.70, Ordu (ok), 03:31, 03/07/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
strtoul тут не при чём. Поттеринг же объяснил, что имя пользователя начинающееся с цифры systemd рассматривает как ошибку и игнорирует соответствующую строчку конфига. Пишет в лог об ошибке и продолжает работать так, будто этой строчки и не было. А если user не указан, то по дефолту используется root.
| |
|
3.219, Иван (??), 15:49, 16/01/2018 [^] [^^] [^^^] [ответить]
| +/– |
> имя пользователя начинающееся с цифры systemd рассматривает как ошибку
> и игнорирует соответствующую строчку конфига. Пишет в лог об ошибке
> и продолжает работать так, будто этой строчки и не было.
> А если user не указан, то по дефолту используется root.
Это только если пользователя с таким именем не существует. А если существует, то должен использовать его, а использует root. Хотя наверное и при несуществующем пользователе запуск происходить не должен. И наверное не происходит.
| |
|
|
3.139, Аноним (-), 13:31, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Бага там как раз нету:)
Функция делает то, что и должна делать.
Она кстати вернет 0 в случаях, когда первая цифра не 0.
Например, 'day0' или '-day'.
| |
|
4.176, L.P. (?), 21:39, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Она кстати вернет 0 в случаях, когда первая цифра не 0.
> Например, 'day0' или '-day'.
Ну вернет 0 для day0 и что? В мане отлично описано, что нужно делать в таком случае.
| |
|
|
2.146, Аноним84701 (ok), 14:34, 03/07/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> man 3 strtoul
> Если исправлять баг, то тут:)
> Думаю каждый хоть раз парсил текст в числа этой функцией.
> И многие знают про этот баг не первый год.
Да все там есть:
https://github.com/systemd/systemd/blob/7e867138f586a7113f43cc6d42f6ce9720489e
int safe_atou(const char *s, unsigned *ret_u) {
char *x = NULL;
unsigned long l;
...
errno = 0;
l = strtoul(s, &x, 0);
if (errno > 0)
return -errno;
if (!x || x == s || *x)
return -EINVAL;
Как и целая куча копипасты "safe_atoXX" с вариациями в одну-две строки -- все в лучших традициях.
| |
|
3.151, dq0s4y71 (ok), 15:30, 03/07/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Хм, интересно. А то, что эта функция для строки "0" выдаёт ошибку - это так задумано художником?
| |
|
4.155, Аноним84701 (ok), 15:59, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Хм, интересно. А то, что эта функция для строки "0" выдаёт ошибку
Хм, а с чего вы так решили?
| |
|
5.174, dq0s4y71 (ok), 20:28, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
С того, что strtoul возвращает 0 как в результате ошибки, так и в результате корректного преобразования строки "0".
| |
|
6.185, Led (ok), 01:21, 04/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> С того, что strtoul возвращает 0 как в результате ошибки, так и
> в результате корректного преобразования строки "0".
man errno
| |
|
|
|
|
|
1.68, ОМДЗТ (?), 03:15, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
В systemd выявлена ошибка, приводящая к выполнению сервисов с правами другого пользвователя
У меня в системе нету пользвователей, так что не страшно.
| |
|
2.170, Kodir (ok), 18:52, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> У меня в системе нету пользвователей, так что не страшно.
Вам в DOS'е хорошо! А у нас тут интыпрайз :)
| |
|
|
2.83, Andrey Mitrofanov (?), 07:15, 03/07/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Эпичненько. Всетаки входной контроль данных должен быть.
если вы намекаете на отдел кадров рехатта, то, как тут уже писали, там тз совсем не про вас.
| |
|
|
2.79, Аноним (-), 06:06, 03/07/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Пожалуй, это и есть причина появления "Лёни".
Можно сколько угодно кидаться на с-д, но ошибки, всё-таки, в консерватории. А именно, стойкое игнорирование мелочей и фидбека юзеров, которые, якобы, тупее "светлейшего разработчика". На место "светлейшего" претендует и Лёня и тысячи других гениев-основателей, которые из-за ЧСВ не признают своих косяков. Лёня - дитя системы и отлично вписывается linux-мир
| |
|
1.80, Аноним (-), 06:15, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Лене на пенсию пора уже, по состоянию душевного здоровья. А анонимным опеннетовцам, одобряющим "not a bug" в данном случае - пора, наконец, перестать противоречить любой критике святых мощей systemd, а сначала включить мозг. Леня зарвался, а тут находятся люди, готовые любой его высер оправдать.
| |
|
2.136, Ordu (ok), 13:11, 03/07/2017 [^] [^^] [^^^] [ответить] | –3 +/– | По состоянию душевного здоровья на пенсию по инвалидности надо отправлять 95 на... большой текст свёрнут, показать | |
|
3.161, Аноним (-), 18:06, 03/07/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
Леня заслуживает такое коммьюнити ровно по той же самой причине, по которой лично вы заслуживаете такой опеннет.
В любой ситуации проще всего обозвать всех вокруг имбецилами и обезьянами, которые ничего не понимают. Все дело в том, что с таким подходом рано или поздно вокруг только имбецилы и обезьяны и останутся. Вы сами оттолкнули от себя конструктивно критикующих людей, не оставив им никакой другой формы диалога, кроме как пообезьянничать. А теперь обиженно наблюдаете вокруг одних обезьян. Чему же тут удивляться-то?
| |
|
4.171, Ordu (ok), 19:16, 03/07/2017 [^] [^^] [^^^] [ответить] | –2 +/– | Нет, ситуации различны Я могу покинуть опеннет в любой момент Хы Можно конкре... большой текст свёрнут, показать | |
|
3.169, Kodir (ok), 18:50, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Сознательное создание дыры, под предлогом "всё равно таких юзеров нет" - полная безалаберность, простительная школоте. Если это предлагает чел старше 30 лет, то он полный му****к.
| |
|
4.172, Ordu (ok), 19:20, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Сознательное создание дыры, под предлогом "всё равно таких юзеров нет" - полная
> безалаберность, простительная школоте. Если это предлагает чел старше 30 лет, то
> он полный му****к.
Если возможность для рута запускать сервисы от своего имени -- это дыра, то я с вами соглашусь стопроцентов. Но я не согласен с первой частью утверждения. А раз так, то меня гложут сомнения в том, что этот баг является дырой. То есть, как я уже сказал выше, я всё же скорее склонен не соглашаться с Поттерингом по этому вопросу, но у меня нет твёрдой уверенности. В отличие от 95% местного населения, которое всегда поражено синдромом Даннинга-Крюгера по самые гланды, и всегда имеет определённое мнение по любому вопросу и всегда твёрдо уверено в своей правоте.
| |
|
|
|
1.81, Аноним (-), 06:49, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В системах, в которых Системд, уже исправили работу патча Бармина? Раньше стирало UEFI BIOS. Если нет - то и эту багофигу не исправят и подавно! Ну, будет ещё один способ получения рута :-) Это как в Windows 98: Введите логин и пароль. Ввёл. Неправильный пароль. Нажал отмена. Успешный вход!
| |
|
2.93, iPony (?), 08:50, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ну, будет ещё один способ получения рута
Это типа, чтоб получить рут права надо для начала с рут правами записать конфигурацию сервиса?
Гениальное хакерство.
| |
|
3.100, Anonminus (?), 09:12, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
>> Ну, будет ещё один способ получения рута
> Это типа, чтоб получить рут права надо для начала с рут правами
> записать конфигурацию сервиса?
> Гениальное хакерство.
Видимо, предлагается ногами притопать к руту и попросить его добавить пользователя 0day прям как в https://xkcd.com/327/
| |
3.120, Аноним (-), 11:27, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
>> Ну, будет ещё один способ получения рута
> Это типа, чтоб получить рут права надо для начала с рут правами
> записать конфигурацию сервиса?
> Гениальное хакерство.
Пакетируем какой-нибудь софт, который использует init-скрипты, например TeamViewer.
| |
|
4.142, soarin (ok), 13:46, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Пакетируем какой-нибудь софт, который использует init-скрипты, например TeamViewer.
И? так и без этой штуки можно напакетировать туда сервис рутовый.
| |
|
|
|
1.82, Какаянахренразница (ok), 07:00, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Леннарт Поттеринг отказался исправлять ошибку и закрыл уведомление с
> меткой "not-a-bug".
Чё-то он меня бесит. Когда я предложил смерджить все его поделки в один пакет и затолкать ему в гузно во имя мира на земле, модеры меня потёрли. Обидно.
| |
|
2.87, Мое (?), 07:59, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Да, обидно. Но даже не то, что ваше сообщение потерли, а не прислушались к вашему совету.
| |
2.168, Kodir (ok), 18:48, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Потому что шакал Поццеринг работает на кого-то ещё, им НУЖНЫ дыры, которые помогут спецслужбам. Не удивительно, КАК ДРУЖНО мир лину|~|с подхватил казалось бы самую бестолковую идею, противоречащую всему!
| |
|
3.220, Иван (??), 16:10, 16/01/2018 [^] [^^] [^^^] [ответить]
| +/– |
> КАК ДРУЖНО мир лину|~|с подхватил казалось
> бы самую бестолковую идею, противоречащую всему!
Это не мир. В основном это боты для раскачивания. А от них уже заражаются психически неустойчивые. "Все пошли и я пошёл". Теперь они агенты Смиты, и пока не выздоровят, надо стараться от них изолироваться (игнорировать) и изгонять из защищаемых сообществ.
| |
|
|
|
2.221, Иван (??), 16:22, 16/01/2018 [^] [^^] [^^^] [ответить]
| +/– |
> А как должна работать
> # chown 0day anyfile.txt
servant# ls -l tmp.txt
-rw-r--r-- 1 ivan ivan 1821 1 янв 00:57 tmp.txt
servant# grep 0day /etc/passwd
servant# pw useradd 0day
servant# grep 0day /etc/passwd
0day:*:1003:1003:User &:/home/0day:/bin/sh
servant# chown 0day tmp.txt
servant# ls -l tmp.txt
-rw-r--r-- 1 0day ivan 1821 1 янв 00:57 tmp.txt
servant#
Правда у меня FreeBSD.
| |
|
1.91, iPony (?), 08:46, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> ошибка закрыта без исправления
Какой наркоман заголовок писал?
Закрыта не ошибка, а отчет об ошибке.
| |
|
2.94, Anonminus (?), 08:52, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Закрыта не ошибка, а отчет об ошибке
Закрыт не отчет об ошибке, а issue, содержащий в себе отчет об ошибке.
| |
|
1.102, номия (?), 09:50, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
если ты сделал пользователя 0day то ты конечно уже скомпрометировал всё.. можно же сразу всё под рутом делать.
| |
|
2.143, Аноним (-), 13:57, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
А смысл? Что бы букв было больше?
Вообще убрать этот параметр из юнит файла.
| |
|
1.123, Нанобот (ok), 11:58, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>В Linux исторически не разрешено использовать имена пользователей, начинающиеся с цифры, которые считаются некорректными
да хрен с этими цифрами. когда в linux можно будет создать пользователя с именем кириллицей? а то в винде вот уже лет двадцать как можно...
| |
|
2.216, Pilat (ok), 14:46, 14/07/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> да хрен с этими цифрами. когда в linux можно будет создать пользователя
> с именем кириллицей? а то в винде вот уже лет двадцать
> как можно...
И с пробелами неплохо бы, а то как-то скучно стало жить
| |
|
1.124, Аноним (-), 11:58, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
В чем бугурт? С точки зрения systemd строка User=0day неверна _синтаксически_. Строка отбрасывается, но в логе появляется отметка о косяке. User=notexists - верна синтаксически, но неверна семантически, поэтому берется во внимание, но при запуске скажет - user not found. По мне, так вроде логично всё. В любом случае косяк не уходит молча в пустоту, а в лог кидается предупреждение.
| |
|
2.137, Аноним (-), 13:13, 03/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>В чем бугурт? С точки зрения systemd строка User=0day неверна _синтаксически_
Сам спросил - сам ответил.
По стандарту POSIX 0day - корректное имя пользователя. С чего вдруг такая запись должна быть синтаксически неверна?
| |
2.144, Аноним (-), 14:11, 03/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Наверно "бугурт" в том, что Леня набросал код, даже не думая о том как он должен работать.
Теоретически если к примеру в какой-то момент случайно удалить пользователя, то сервис запустится под рутом. В нормальной программе это может регулироваться параметром.
Тут же пробелы в логике в работе(запуск сервисов). По умолчанию следовало не запускать сервис, если в нем есть синтаксические(или любые другие). А вот если пользователь хочет, то скажем неким параметром указывать системе запускать сервис, если информации для запуска сервиса достаточно. То есть напрочь отсутствует политика безопасности запуска сервисов.
| |
|
3.191, B (?), 02:44, 04/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Теоретически если к примеру в какой-то момент случайно удалить пользователя, то сервис
> запустится под рутом.
Нет, не запустится. Несуществующий пользователь != невалидный пользователь.
| |
|
|
1.126, Аноним (-), 12:01, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
>При этом расчёт делается на то, что создание некорректного пользователя, подобного "0day", не должно быть допущено другими компонентами дистрибутива.
ЗАТКНИТЕСЬ ВСЕ! Пость поттеринг лучше игнорирует этот баг, чем заменяет /etc/{passwd,shadow,group} на бинарную поделку прибитую к systemd
| |
|
2.128, Аноним (-), 12:13, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
>>При этом расчёт делается на то, что создание некорректного пользователя, подобного "0day", не должно быть допущено другими компонентами дистрибутива.
> ЗАТКНИТЕСЬ ВСЕ! Пость поттеринг лучше игнорирует этот баг, чем заменяет /etc/{passwd,shadow,group}
> на бинарную поделку прибитую к systemd
разве ещё не заменил?
| |
|
|
4.206, Аноним (-), 00:12, 05/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Так как бы наоборот, ничего хорошего из этого не выйдет. Просто после systemd меня вообще мало чем можно удивить.
| |
|
|
|
1.127, Нанобот (ok), 12:04, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Кроме того, даже если systemd воспринимает имя некорректным, следует вывести ошибку, а не молча запускать сервис под другим пользователем
вот это было бы правильным решением
| |
|
2.145, Аноним (-), 14:15, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Правильным решением было бы не запускать сервис, если в нем(юнит файл) допущены ошибки.
| |
|
3.189, Аноним (-), 02:31, 04/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
Поддержу.
К примеру, тот же nginx не запустится, если в конфиге ошибка.
| |
|
|
|
2.132, Аноним (-), 12:50, 03/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
"If developers don't force themselves into the constraints of the POSIX API, they could develop some really innovative software, like systemd shows" (C) L.P., 2011
| |
2.190, Аноним (-), 02:33, 04/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
По моему, еще Кениган и Ричи в своей книжке писали, что поверение memcpy зависит от реализации.
| |
|
1.133, ыы (?), 12:53, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Поттеринг поступил совершенно верно. Описанное поведение не является ошибкой.
| |
|
2.181, Led (ok), 01:06, 04/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Описанное поведение не является ошибкой.
Тогда это бэкдор.
| |
|
3.188, B (?), 02:24, 04/07/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Расскажи что ли, где бекдор-то.
По факту в юнит-файле игнорируется директива User, если указанный пользователь невалидный.
В чем уязвимость?
| |
|
|
1.165, Аноним (-), 18:17, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Итак, господа, возникает вопрос!
Все ли хорошо в openrc и стоит ли выкинуть сустемд (и пульсу заодно)?
| |
|
2.166, Ненужно (?), 18:25, 03/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
1. Да, все хорошо, но количество программ, зависящих от него, колеблется в зависимости от заинтересованности мейнтеров конкретного дистрибутива.
2. Если В Вашем дистре достаточно openrc пакетов, то конечно стоит. Ну а пшшшаудио ненужно априори. На крайний случай можете выкинуть сервер и оставить libpulse в качестве плагина для альсы, если есть программы, которые зависят от сабжа и лень перекомпилять их/искать альтернативы.
Алсо есть еще runit, но он, вроде, в глубокой разработке и еще далек от идеала. Ну и, банально, проблематично его найти вне войда
| |
|
3.183, Аноним (-), 01:13, 04/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
>оставить libpulse
https://github.com/i-rinat/apulse
>есть еще runitесть еще runit
Этих систем инициализаций вагон и маленькая тележка. Бери любуй, подпиливай под неё свои скрипты и пользуйся. Хоть sinit, хоть uselessd, хоть самописный на баше. Просто делай как тебе удобно и всё.
| |
|
|
1.178, vantoo (ok), 22:06, 03/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
"Исторически сложилось...", конечно, аргумент серьезный, но POSIX все таки важнее.
| |
1.199, Аноним (-), 13:48, 04/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Регексп, приведённый в комментарии, матчит любое число.
https://gist.github.com/bloerwald/a482791395114fa82636e2ab207cdb11
То есть можно создать юзера с именем (не uid) 0, 123 или любым другим, не отличимым от uid.
Как предполагается обрабатывать данную ситуацию ВСЕМУ софту, который не использует раздельные параметры для user и uid (а это значительная часть софта и подавляющее большинство утилит для администрирования) и какой стандарт регламентирует, что должно иметь приоритет для такого параметра?
В качестве домашнего задания попробуйте сделать:
useradd 0
pkill -9 -u 0
И уже на базе этого подумайте, кто именно и где неправ.
| |
|
2.200, Аноним (-), 14:18, 04/07/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В качестве домашнего задания попробуйте сделать:
> useradd 0
> pkill -9 -u 0
> И уже на базе этого подумайте, кто именно и где неправ.
В качестве домашнего задания попробуйте почитать внимательно багтрекер. Подсказка:
Невалидный пользователь отбрасывается при парсинге и сервис запускается от рута. А вот если пользватель валидный, но его нет в системе, тогда никто ничего не запускет. Классно, ага.
| |
2.214, www2 (ok), 10:14, 09/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
А теперь попробуйте в качестве домашнего задания внимательнее прочитать новость и сделать вот так:
useradd 0day
pkill -9 -u 0day
Убьются ли у вас процессы пользователя 0day, или процессы пользователя root, как это сделал бы systemd?
И уже на базе этого подумайте, кто именно и где неправ. На мой взгляд всё очевидно - пользователь с именем 0day - это не пользователь с uid 0.
| |
|
1.207, northbear (??), 16:45, 05/07/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Вообще пользователи могут появляться в системе не только из /etc/passwd но и через сетевые сервисы типа Kerberos или YP/NIC. А там таких ограничений нет. Странно что Леннарт работая на RedHat, не рассматривает такой вариант.
Похоже у парня крыша едет от очущения собственной крутизны.
| |
|
2.213, Аноним (-), 11:40, 06/07/2017 [^] [^^] [^^^] [ответить]
| +/– |
> не рассматривает такой вариант
Так он же, говорят, в десктопном подразделении шапки работает. На локалхосте керберосы всякие не нужны, потому и рассматривать нечего.
| |
|
|