LINUX.ORG.RU

В OpenBSD появилась легковесная замена утилите sudo

 , , ,


1

5

В OpenBSD-current (будущий выпуск 5.8) появилась новая команда — doas(1), позволяющая выполнять команды от имени другого пользователя (в том числе и root). Она используется вместо сторонней утилиты Sudo, которая была удалена из базовой системы, но доступна в портах (таким образом, стало легче ее обновлять и с дополнительными опциями вроде поддержки LDAP собирать). Пример конфигурационного файла doas.conf(5):

permit keepenv user

>>> Подробности

★★★★★

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

Коментарии просто кишат специалистами которые, разбираются в данном вопросе лучше чем разработчики OpenBSD.

fixed

Бл... Я думал, ты запятые пофиксишь, а ты сделал ещё хуже.

korvin_ ★★★★★ ()

Самое интересное, что если бы что-то подобное написал Поттеринг были бы комменты о подрыве основ юникса и т.д.

По теме: насколько понял они хотят минимизировать базовую систему, ИМХО, это правильно

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

Жаль, что существуют люди, выделяющие по 4 байта на переменную, где за глаза хватило бы и одного. А потом удивляемся, чего же браузеры и прочее так много жрут. Пописали бы они под МК... иной раз за каждый байт бороться приходилось.

Палка о двух концах. На МК у Вас был мелкий код и о масштабировании развитии речи и идти не могло. А в части экономии не забываем что n+1 не обязательно станет действительно числом на единицу больше чем n, оно может стать как отрицательным так и нулем. И примеров тому много, емнип где-то в пределах года здесь была как раз новость по какую-то из систем шифрования с таким багом. Другой пример, когда не задумываются о масштабировании это что-то типа 640к хватит всем, сталкивался с такими «экономистами» когда в процессе развития оказывалось внезапно, что блина нам байта уже мало, а проект уже большой, работает и переписывать много и чаще начинали затыкать костылями ибо костыль быстрее написать. Так что и да и нет, экономия тоже иногда оказывается вредной.

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

root по умолчанию есть же.

А там нет такой практики его отключать?

Мне прям даже интересно стало, что именно подразумевается по фразой «практика отключения root» ? Поясните плиз.

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

Так а кто мешает выполнить su и выполнять ряд необходимых команд уже под шеллом рута?

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

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

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

Ну вот в солярис11 root - это роль, а не учётка и вообще концепция мандатного доступа подразумевает отсутствие суперпользователя.

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

Я не знаток солярки, но емнип это еще настроить нужно было. А по дэфолту рут как рут был.

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

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

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

Я бы добавил «и в ногу выстрелить проще», случайно с ролями не так разобравшись, а вот лечение после выстрела затянется в отличии от… Старая тема про туже самую палку о двух концах.

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

Я бы добавил «и в ногу выстрелить проще», случайно с ролями не так разобравшись

Ладно, выше отписавшийся, эржент - дилетант, но ты-то куда?
Это ваше судо - нагромождение костылей с которыми накосячить ещё легче.

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

Лекговесная — это не только жрет меньше ресурсов железа, это еще и «проще».

Покажите мне человека, который не справился с sudo.

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

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

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

Я. Нафиг мне не сдался этот комбайн на локалхосте (привет «человечности»).

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

sudo это утилита, устанавливающаяся с suid битом. Это значит, что любой пользователь может её запустить, подавать ей на вход любые данные, любые переменные окружения и sudo будет выполняться под root-правами, обрабатывая эти данные.

Это классический случай повышения привилегий. Переполнение буфера и злоумышленник получает шанс выполнить /bin/sh из-под рута (по прежнему контролируя stdin).

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

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

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

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

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

Значит ребята из OpenBSD про такую теорию не в курсе, потому что они постоянно переписывают и заменяют монстров на простые программы. opensmtd, openhttpd, doas, libressl это только то, что сходу вспомнилось.

и вовсе не факт, что объём кода и баги прямо пропорциональны.

При сохранении прочих факторов это непреложный факт.

это зависит от многих факторов.

И какие факторы в случае OpenBSD могут повлиять на увеличение числа багов?

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

Это уже твои личные фантазии про «прикрутят намертво». Что им мешало прикрутить sudo?

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

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

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

Я немного о другом, что со всеми этими ролями можно «весело» себя без прав оставить, в то время как рут он и в африке рут.

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

и вовсе не факт, что объём кода и баги прямо пропорциональны.

При сохранении прочих факторов это непреложный факт.

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

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

Так я приблизительно об этом и написал.

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

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

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

К сожалению, я вот таких «обезьянок» насмотрелся. Которые не то что с правами с СУБД наиграются, даже на вин системах умудрялись самовыпилится. А вот доброго дяди рута уже нет :)

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

Остаётся только посочувствовать в связи с твоим окружением. Ладно в соляре с trusted extensions можно нахуев%?;ить без мануала, но каким надо быть идиотом, что бы в rhel, винде или соляре с rbac оставить себя без прав я хз.
Тут ещё отдельный вопрос: «как таких до систем допускают вообще?»

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

Мне прям даже интересно стало, что именно подразумевается по фразой «практика отключения root» ? Поясните плиз.

Блокирование учётной записи. Одно из первых что я делаю на web сервере (естеснвенно предварительно создав новую учётную запись, добавив её в группу sudo).

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

Брр. А смысл? Только в том, что бы не было самого слова root?
Хотя согласен, параноя иногда это полезно (я на полном серьезе).

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

Смысл в том что пользователь root известен, а неизвестность имени пользователя осложняет брутфорс (превращает этот процесс в деление на ноль).

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

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

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

Неопределённый пользователь превращает брутфорс в деление на ноль, т.к. подбирать пароль неизвестно к какому аккаунту. А чрезмерно сложные пароли только самому создают неудобства.

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

Неопределённый пользователь превращает брутфорс в деление на ноль, т.к. подбирать пароль неизвестно к какому аккаунту.

Имя аккаунта в твоём случае можно рассматривать как часть пароля. А поскольку ты вряд-ли будешь пользоваться аккаунтом с именем tmwYZ35v5wugBg, то это будет очень простая часть пароля, подбираемая по словарям.

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

Для удобства есть авторизация по ключам. Пароля в 12 букв хватит с головой.

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

Смысл в том что пользователь root известен, а неизвестность имени пользователя осложняет брутфорс (превращает этот процесс в деление на ноль).

Я надеюсь речь идет о локальном подборе. Тогда смысла именно в таких действиях

создав новую учётную запись, добавив её в группу sudo

ровно ноль.

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

Неопределённый пользователь превращает брутфорс в деление на ноль, т.к. подбирать пароль неизвестно к какому аккаунту.

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

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

Что-то типа «Сорок тысяч обезьян с жопу сунули банан.» Запоминается легко, а вот подбирается не очень.

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

Пароля в 12 букв хватит с головой.

Да не, лучше подлиней. Собстно чем длинней пароль тем меньше смысла становиться брутфорсе.
Все-таки технологии развиваются gpu становятся все мощнее и мощнее. :)

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

Имя аккаунта в твоём случае можно рассматривать как часть пароля. А поскольку ты вряд-ли будешь пользоваться аккаунтом с именем tmwYZ35v5wugBg, то это будет очень простая часть пароля, подбираемая по словарям.

Это никак не является доводом против. Что лучше, имя пользователя, которое в первую очередь будут пробовать, например root, admin и т.п. или что-то неочевидное?

Adept_of_shreedom ()
Ответ на: комментарий от anc

Что-то типа «Сорок тысяч обезьян сунули банан.» Запоминается легко

До тех пор пока подобный пароль один.

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

Это никак не является доводом против.

Это является бритвой Оккама.

Что лучше, имя пользователя, которое в первую очередь будут пробовать, например root, admin и т.п. или что-то неочевидное?

Если нормальный пароль — без разницы. Хоть так хоть так не взломают. А если нет разницы, зачем всё усложнять?

Если слабый пароль — да, лучше неочевидное имя пользователя. Но слабый пароль это большая угроза сама по себе. И лучше сменить пароль, чем прикрывать его нестандартным именем пользователя.

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

До тех пор пока подобный пароль один.

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

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

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

Опять же, до тех пор, пока аккаунтов единицы. Когда аккаунтов в разных местах десятки, начинается путаница.

Adept_of_shreedom ()
Ответ на: комментарий от Legioner

Если нормальный пароль — без разницы. Хоть так хоть так не взломают. А если нет разницы, зачем всё усложнять?

Глупости. Брутфорсить могут год и более, причём тут даже fail2ban не очень помогает.

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

Что лучше, имя пользователя, которое в первую очередь будут пробовать, например root, admin и т.п. или что-то неочевидное?

Я уже выше писал, имена пользователей как бы мы знаем. Так что список сужается. А с учетом добавления в группу sudo так и вообще все становиться легче.

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

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

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

Опять же, до тех пор, пока аккаунтов единицы. Когда аккаунтов в разных местах десятки, начинается путаница.

Ога, зашибись, зато значит имена пользователей с паролем мы помним от этих десятков. Где логика Карл?

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

Глупости. Брутфорсить могут год и более, причём тут даже fail2ban не очень помогает.
fail2ban

Так Вы все-таки не про локальный подбор? Тогда вообще в чем смысл выпиливания рута? Или настройки sshd не осилили и он доступен для входа по ssh. Ну че, костыль знатный изобрели.

Брутфорсить могут год и более
год и более

Какой-то Вы не правильный админ.

anc ★★★★★ ()

прогресс. каждый аналог уже существующей программы приближает к готовности для потребителя

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

Та нет, сделал вот cat /etc/sudoers …

## Uncomment to send mail if the user does not enter the correct password. # Defaults mail_badpass

Мда…

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

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

user_name machin_name =(target_user) NOPASSWD:/path/prog_name


Одно это могло сделать мануальник намного более читабельным.

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

Даёшь легковесную замену утилите cat!

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