1.1, ryoken (ok), 09:10, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +15 +/– |
Вот уже несколько раз лет за 5 примерно в sudo уязвимости. В su такого не встречал. Потому и не пользуюсь sudo, выделенный root-юзер везде :D.
| |
|
2.3, Zenitur (ok), 09:15, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сейчас тебе кое-кто накрутит отрицательный рейтинг, и напишет тебе эмоциональное сообщение о том, что при помощи su нельзя делать базовых вещей (которые, разумеется, делать можно). Ждём-с
| |
|
3.6, имя (ok), 09:33, 15/10/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
Куда интереснее ждать доводы фанатов OpenBSD в пользу doas.
| |
|
4.8, Аноним (8), 09:37, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
Один разработчик опенбсд он же по совпадению разработчик sudo уже наломал дров. И в новости только те дрова которые нашли.
| |
4.50, OpenBSD (?), 12:55, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
doas действительно хорош, там даже не сконфигурируешь как в этой статье
| |
4.65, OpenBSD guy (?), 15:37, 15/10/2019 [^] [^^] [^^^] [ответить]
| –7 +/– |
уже 5 лет на OpenBSD здесь не бывает проблем. код чистый и минимальный. так что остается ржать над пингвинятами
| |
|
5.66, Аноним (66), 15:47, 15/10/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ага, нет кода - нет проблем. Сферическая OpenBSD в вакууме, вроде и есть, но не нужна никому...
| |
|
6.92, Stoned Jesus (?), 23:35, 15/10/2019 [^] [^^] [^^^] [ответить]
| –6 +/– |
>Сферическая OpenBSD в вакууме, вроде и есть, но не нужна никому
Если выкинуть из линукса все разработки OpenBSD, то останется в нём только системд.
| |
|
|
|
|
2.9, Аноним (9), 09:39, 15/10/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Не пользуюсь судо уже лет 15, фигня это всё, убунтятам промыли мозги эффективные апологеты бэкдоров. Уровнями доступа должны заниматься всякие памы с полисикитами, а не эти костыли. Единственное применение судо, что я могу придумать, это там, где мне надо анально ограничить пользователя, но при этом дать тому права на операции, к которым у него в норме не должно быть доступа (но которые хочется на него повесить).
| |
|
3.19, Zenitur (ok), 10:12, 15/10/2019 [^] [^^] [^^^] [ответить] | +4 +/– | Честно говоря, я так и не осилил PolicyKit Сейчас объясню Когда я обновил SU... большой текст свёрнут, показать | |
|
4.20, Аноним (20), 10:15, 15/10/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> …то я по руководству поменял конфиг PolicyKit, и оказалось, что там... XML. Ааафигенно
Синьор таки разучился читать и писать текст в файл? Всё-то бы вам, хипстерам, json какой или ini-файлы.
| |
|
|
6.78, Аноним (78), 19:02, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
> теперь там интерпретатор javascript.
В PolicyKit — нет. Только в polkit.
| |
|
|
4.91, Аноним (91), 23:19, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
> без тех. поддержки Ред Хата никто свои хотелки сделать не сможет.
Так в этом же и смысл.
| |
|
3.55, Аноним (55), 13:23, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
...например, дать возможность обычному юзеру вызывать poweroff и reboot из командной строки
| |
|
2.27, freehck (ok), 10:45, 15/10/2019 [^] [^^] [^^^] [ответить]
| +14 +/– |
> Вот уже несколько раз лет за 5 примерно в sudo уязвимости. В su такого не встречал. Потому и не пользуюсь sudo, выделенный root-юзер везде :D
Так ведь это просто утилиты разного класса. Да, обе используются для эскалации привилегий, но есть много нюансов: в sudo можно выбрать список команд, которые доступны пользователю -- а в su предоставяются полные права доступа от имени другого пользователя; доступ к этим командам через sudo управляется паролем текущего пользователя, а в su -- паролем целевого; sudo имеет гибкие настройки проброса переменных окружения при эскалации привилегий, su -- нет. Этот список можно вообще долго продолжать.
В общем, sudo -- это вполне естественное развитие su. su прост и само собой не имеет проблем. sudo же может больше, он гораздо гибче. Разумеется, с таким подходом встречаются косяки. И заметьте, косяков-то там не так уж много, и не такие уж они критические.
Я не вижу особого смысла холиворить на тему su vs sudo. Это просто разные тулзы. Если Вам надо не заморачиваться -- можете использовать su, а можете юзера добавить в группу sudo/wheel... Какая собственно разница. А если надо чего посложнее -- sudo как правило более полезен.
| |
|
3.37, Аноним (9), 11:22, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
su кстати не работает без добавления в группу wheel (что за группа sudo такая я не знаю)
| |
|
4.42, Stax (ok), 11:39, 15/10/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
.. что, серьезно??
Вы что, только со слаквари перешли на нормальный дистрибутив и еще не догадываетесь о существовании PAM и взаимодействия его настроек со всеми этими утилитами?
| |
|
5.44, Аноним (9), 12:00, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
Я тоже удивился, не для того я себе логинд ставил (как кстати сделать чтобы сессия не зависала на минуту с включенным dbus?).
| |
|
4.47, Michael Shigorin (ok), 12:27, 15/10/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> su кстати не работает без добавления в группу wheel
Зависит от прав на бинарник -- в альте так из коробки, что обеспечивается установками в пакете и подсистемой control(8): http://altlinux.org/control
PS: Доступ: (4710/-rws--x---) Uid: ( 0/ root) Gid: ( 10/ wheel)
| |
|
|
6.49, Michael Shigorin (ok), 12:43, 15/10/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Интересно. Такие права не пойдут?
>>> -rws--x--x 1 root root
Перевожу: "права на запуск данного suid-ного бинарника есть у всех".
| |
|
7.51, Аноним (9), 12:58, 15/10/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Рута то этот su всё равно не даёт, если пользователь не в wheel.
| |
|
|
|
4.53, freehck (ok), 13:20, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
> su кстати не работает без добавления в группу wheel
Проверьте права доступа на бинарь su в вашем дистре.
> (что за группа sudo такая я не знаю)
Если говорить простым языком: общей практикой использования sudo является выделение некой группы, пользователи которой имеют право выполнять любые команды с повышением привилегий. В некоторых дистрибутивах эта группа называется sudo, в некоторых -- wheel.
| |
|
5.70, Аноним (70), 16:46, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
>В некоторых дистрибутивах эта группа называется sudo, в некоторых -- wheel.
Я даже знаю дисрибутив FreeBSD.
| |
|
|
7.83, Аноним (83), 19:25, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> ОС
Ок. Казалось бы, причём тут Berkley software distribution
| |
|
|
|
|
3.67, ievoochielaPh5Ph (ok), 15:53, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> через sudo управляется паролем текущего пользователя, а в su -- паролем целевого
rootpw If set, sudo will prompt for the root password instead of the password of the invoking user when running a command or editing a file. This flag is off by default.
runaspw If set, sudo will prompt for the password of the user defined by the runas_default option (defaults to root) instead of the password of the invoking user when running a command or editing a file. This flag is off by default.
А вот это мне в man sudoers приснилось только что. Ясно-понятно.
> Это просто разные тулзы.
Вот тут поддерживаю.
> если надо чего посложнее -- sudo как правило более полезен
И тут тоже
| |
|
4.72, freehck (ok), 16:48, 15/10/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> rootpw
> runaspw
> А вот это мне в man sudoers приснилось только что. Ясно-понятно.
Ммм, век живи, век учись. Не был в курсе про эти опции. Впрочем, я слабо представляю use case оных. Тем не менее суть та же: sudo -- крайне гибкий и хорошо настраиваемый под нужды пользователя инструмент.
| |
|
5.74, ievoochielaPh5Ph (ok), 17:02, 15/10/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вот буквально недавно один знакомый интересовался в ФБ а можно ли так, у него use-case простой: жена иногда сидит под его юзером за его ноутом, не доверять ей пароль он не может принципиально, а обезопасить sudo от ее случайных действий хочется.
А я помню rootpw со времен когда в каком-то из дистров оно по дефолту было включено :) Смог и ему подсказать тогда, и тебе сейчас процитировать :)
Ну и для runaspw я вижу достаточно много юзкейсов, на самом деле, лень описывать.
Да, sudo очень гибок, просто нужно не лениться и читать маны.
| |
5.81, Аноним (78), 19:08, 15/10/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Впрочем, я слабо представляю use case оных.
Включить по умолчанию в своём нескучном дистрибутиве, чтобы юзеры бдительность не теряли и читали внимательнее, чей пароль у них спрашивают. Привет SUSE.
| |
|
|
|
2.34, Ilya Indigo (ok), 11:04, 15/10/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
>(ALL, !root)
Чтобы написать такую конструкцию, нужно быть упоротым на всю голову! ИМХО!
Неоднократно говорилось, да и то ли в доках то ли прямо в мане говорится, не создавать правил, аля всем кроме, это я ещё с универа помню, а закончил уже давно.
разрешать нужно или явно какому-то пользователю, выполнять от какого-то пользователя
user ALL=(mpd)NOPASSWD:/usr/bin/alsamixer
А если их несколько, то всех перечислить через запятую.
user ALL=(git,nginx)NOPASSWD:/bin/bash
А если их очень много, то создать список или alias и подставлять в эти правила его, но не городить таких вот костылей.
| |
|
3.41, InuYasha (?), 11:36, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
да это, по сути своей, и есть костыли. когда в системе добавляется/удаляется юзер - править 500 конфигов. по-хорошему, это должна быть централизованная БД юзеров, где у каждого описаны права. хз, может, это лдап умеет.
| |
|
4.43, Ilya Indigo (ok), 11:48, 15/10/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> когда в системе добавляется/удаляется юзер - править 500 конфигов...
Мне такое неведомо. Могу понять что на говнохостингах чтобы добавлялся, но чтобы удалялся.
И то, там используют напрямую id-ники, диапазон которых можно сразу вписать в правила.
Если речь идёт о реальных юзерах, которые подключаются через терминал или тонкий клиент к серверу и работают, то городить правило чтобы какие-то команды могли выполнять любой от любого, но кроме... тем более не вариант.
| |
|
3.61, Аноним (61), 14:56, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
Я вообще не вижу смысла в подобной команде. Зачем что-то запрещать руту? Он и без sudo все может.
| |
|
4.63, Ilya Indigo (ok), 15:00, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Я вообще не вижу смысла в подобной команде. Зачем что-то запрещать руту?
> Он и без sudo все может.
В том-то и дело, что sudo ничего не запрещает, тем более руту!
Она наоборот, разрешает одному пользователю делать что-то от другого (не обязательно root).
Например запустить настройку эквалайзера mpd текущему пользователю, причём ТОЛЬКО запуск эквалайзера и ничего более, даже без лишних параметров.
В данном контексте (!root) имелось ввиду что он разрешат выполнять от любого пользователя, кроме рута.
Сразу косяк, если пользователь входит в группу wheel, то он в некоторых случаях может сделать то же что и root.
| |
|
3.69, Аноним (69), 16:38, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
упртый на всю голову написал эту конструкцию (возможность ее создания) в код sudo - и без того представляющий собой невменяемую блоатварь.
оттуда бы надо наоборот, выбросить процентов 90 ненужного, вернув набор возможностей примерно на уровень 2002го года, когда основные дырки были уже залатаны, и заморозить в этом состоянии.
но менеджеры не поймут-с
| |
|
4.71, Ilya Indigo (ok), 16:47, 15/10/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> упртый на всю голову написал эту конструкцию (возможность ее создания) в код
> sudo - и без того представляющий собой невменяемую блоатварь.
> оттуда бы надо наоборот, выбросить процентов 90 ненужного, вернув набор возможностей примерно
> на уровень 2002го года, когда основные дырки были уже залатаны, и
> заморозить в этом состоянии.
> но менеджеры не поймут-с
Я с Вами полностью согласен!
Я даже, до сегодняшнего дня, не знал что так вообще можно написать.
P.S. Вот чем занят Лёня, когда он реально давно тут нужен.
| |
|
|
2.60, Аноним (61), 14:53, 15/10/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Как без sudo разрешить выполнить определенную команду определенным пользователем без ввода пароля?
Такое часто нужно для скриптов автодеплоя.
| |
|
3.99, Павел Отредиез (?), 18:48, 16/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
Разрешить выполнять группе. chmod 750 program, chgrp mygroup program. Если нужно chmod u+s program.
| |
|
|
|
|
|
|
5.38, nm0i (ok), 11:23, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Персист в openbsd сделан ч/з timeout(9). В обоих портируемых форках doas он есть, но ч/з костыли. В апстриме doas что в гентушечке его можно включить через --with-timestamp
| |
|
6.40, Аноним (25), 11:30, 15/10/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Все чуть интереснее:
if (persist)
fd = open("/dev/tty", O_RDWR);
if (fd != -1) {
if (ioctl(fd, TIOCCHKVERAUTH) == 0)
goto good;
}
Вот этот ioctl() проверяет закешированные в ядре креды для конкретного юзера с конкретным tty. То есть весь persist по сути реализован в kernel space.
| |
|
7.57, abi (?), 14:31, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
Да, из-за этого doas портирован не полностью, этот вызов есть только в OpenBSD.
| |
|
|
|
|
|
|
1.4, Аноним (4), 09:25, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
> упущением из внимания спецзначени
Любые спец. значения и остроумная магия - это всегда будущие проблемы.
| |
|
2.7, Аноним (8), 09:36, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Учитывая что по официальной легенде программу разрабатывает один человек там еще много таких пасхалок.
| |
|
1.13, Аноним (20), 09:49, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Сито же.
Кстати говоря, если в Debian-based вы не можете удалить sudo, потому что используете кеды, а кедомейнтейнер решил, что обязательная установка sudo это security issue, то можно выпилить x из файла, чтобы оно не запускалось. Но чтобы после апдейтов этот флаг не вернулся, лучше так:
dpkg-statoverride --update --add root root 644 /usr/bin/sudo
| |
1.15, Anonymoustus (ok), 09:52, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
> с UID "-1" или "4294967295", что приведёт к её выполнению с UID 0.
Ох уж эти коварные типы данных.
| |
|
2.96, Аноним (95), 23:58, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
По моему типы данных тут ни при чём, просто упустили момент что setreuid использует аргумент -1 как "не изменять".
| |
|
1.18, Аноним (18), 10:08, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Во фре еще вчера обновили:
14 Oct 2019 16:46:28
Original commit files touched by this commit 1.8.28
Revision:514465
garga search for other commits by this committer
security/sudo: Update to 1.8.28
Sponsored by: Rubicon Communications, LLC (Netgate)
| |
1.22, Аноним (22), 10:36, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
По-моему, sudo - это одна сплошная уязвимость.
Объясните дураку - как с помощью sudo дать человеку все права root за одним исключением - не дать ему сменить пароль root.
| |
|
2.26, aa (?), 10:45, 15/10/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
включая возможность рута расковырять хекс едитором файловую систему и поправить хеш в passwd?
| |
2.30, ыы (?), 10:51, 15/10/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
>все права root
для начала надо понять что у рута нет прав.
| |
|
3.31, Аноним (22), 10:54, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
... ога. Одни обязанности.
От игры словами суть вопроса не меняется.
Пока что правильный ответ один - "никак". Если ты на это намекаешь.
| |
|
4.36, Аноним (9), 11:19, 15/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
Я думаю можно мандатным контролем доступа ограничить много чего, или там сделать всяких toorов опять же, но это наверно не селинух или не только он один. Ещё были патчи ядра, исправляющие абсолютные возможности рута, если хочется прям чтобы рут (там же был hardened chroot и остальное). Но это будет уже не тот рут (хотя всё равно шерето). Ща пошла такая практика сажать рута в клетку, типа он тут не господин и повелитель, мне она немного не нравится, да и не работает это. Лучше не давать рута, если он не нужен.
А вообще селинух же вроде без перезагрузки не отключить? Ну можете попробовать запретить перезагрузку. Я не осиливаю селинух нормально настроить.
| |
|
|
2.62, Аноним (61), 14:59, 15/10/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Никак, имея "все кроме", можно придумать миллион способов достичь желаемого.
Подход с черным списком нежизнеспособен.
Единственное вменяемое решение - белый список.
| |
|
3.85, Crazy Alex (ok), 19:31, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Борцы за идеальную безопасность забывают, что бывают другие задачи. От защиты от дурака до борьбы с совершенно конкретной проблемой с минимальным влиянием на всё остальное.
Ключик --[no]preserve-root у rm, например.
| |
|
2.89, Михрютка (ok), 20:40, 15/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>>Объясните дураку - как с помощью sudo дать человеку все права root за одним исключением - не дать ему сменить пароль root.
хранить хеш рута за пределами системы. реализация этого на практике предоставляется в качестве домашнего упражнения.
| |
|
3.98, Аноним (22), 13:18, 16/10/2019 [^] [^^] [^^^] [ответить]
| +/– |
В качестве домашнего упражнения - осмысли процесс отделения котлеты хеша рута от остальных мух в master.passwd
Осмысленное осознай. Затем выпий йаду.
| |
|
|
1.32, Аноним (32), 10:54, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> не приводят к смене UID, но так как сам sudo уже выполняется под root, то без смены UID и целевая команда также запускается с правами root.
ыыыы... какая прелесть!
| |
1.58, rihad (ok), 14:47, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Чего-то не понял что такого особенного в !root. А если просто перечислить целевых юзеров кроме рута, то все равно эта уязвимость возможна, или обязытельно должно присутствовать !root?
| |
|
2.101, Ordu (ok), 01:03, 17/10/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Обязательно должно присутствовать ALL. Просто если там нет !root, то это notabag.
| |
|
1.59, rihad (ok), 14:51, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Большое упущение sudo что невозможно в пути, которые даются аргументами командам включить wildcard - он будет матчить слеши тоже и можно будет работать с любым файлом. Только для sudoedit эту возможность добавили, но не в общем случае.
| |
1.68, ievoochielaPh5Ph (ok), 16:00, 15/10/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Описание самой «уязвимости» мне напоминает анекдот про «а вы на шкаф залезьте». При чем что бы ее использовать нужно предварительно получить право на правку sudoers, то есть сначала получить рута… Получить рута, что бы получить рута… Что-то странное вижу я.
| |
|