Отрицательные / отрицательные стороны установки sudo в Ubuntu без полномочий root

9

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

Очевидно, что люди в Ubuntu считают, что это хорошая идея, и все, что я читал на сайте Ubuntu, дает множество причин, почему они считают эту идею хорошей (см., Например, RootSudo @ Ubuntu Wiki ).

Тем не менее, многие другие распространенные дистрибутивы, такие как Debian, Gentoo и т. Д., По умолчанию не настроены таким образом, и я пытаюсь выяснить, почему. Если установка sudo-root по умолчанию в Ubuntu является такой хорошей идеей, почему не все другие основные дистрибутивы делают это тоже? Это заставляет меня верить, что могут быть веские причины НЕ настраивать это таким образом; но у меня проблемы с поиском чего-либо, что дает какие-либо подробности по этому вопросу. Все, что я нахожу, это статьи / посты, которые говорят о том, как это здорово ...

Поэтому мой вопрос: существуют ли какие-либо серьезные проблемы с настройкой sudo в Ubuntu (небезопасность, функциональные ограничения и т. Д.), Которые не позволяют другим дистрибутивам использовать эту настройку, и если да, то каковы они? Конечно, это может быть просто отличной идеей, что другие дистрибутивы просто не торопятся, или сопротивляются, потому что это отличается от того, как все работало в течение последних 30 лет. Если это так, я бы хотел это знать.

Дж. Тейлор
источник
3
Вы видели unix.stackexchange.com/questions/8581/… ?
Mattdm
Нет, я этого не видел. Спасибо за указание на это. Это в значительной степени отвечает на большинство моих вопросов о плюсах / минусах использования sudo ... хотя мне все равно было бы интересно узнать мотивы других дистрибутивов за то, что они не поступали так, как в Ubuntu.
Дж. Тейлор
1
Что ж, FWIW, я настаивал на том, чтобы Fedora делала это с тех пор, как появился Ubuntu, и я верю, что он будет по умолчанию в F16, если не в F15.
Mattdm

Ответы:

4

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

По-настоящему защищенный компьютер будет в заблокированном случае, будет отключена загрузка с съемного носителя, пароль BIOS, установленный для предотвращения изменений, пароль загрузчика, чтобы предотвратить изменение загрузочной командной строки ядра (то есть без добавления init=/bin/sh), и пароль будет требуется для доступа в однопользовательском режиме.

Arrowmaster
источник
1
Если вы не можете добавить init=/bin/sh, вы не можете добавить и то и singleдругое, поэтому в любом случае пароль загрузчика обеспечивает вашу защиту.
Mattdm
2
Но если во время загрузки возникнет ошибка (например, во время fsck'а раздела), вы перейдете в однопользовательский режим без запроса пароля.
Arrowmaster
1
Зависит от вашей системы инициализации. В RHEL5 это работает sulogin; это может быть настроено по-другому.
Mattdm
4

Когда вы используете vi вместо visudo для редактирования / etc / sudoers в удаленной системе и запутываете синтаксис, вы больше не можете использовать sudo или используете su, так как пароль root не установлен.

Я сделал это. Я учился на этом. Это сгорело. :-)

Sirex
источник
3

По сути, sudo дает вам административные привилегии. Если у вас нет учетной записи суперпользователя, а пользователь имеет ALL=(ALL) ALLв /etc/sudoers, то ваш пользователь суперпользователем. Это не рекомендуется, так как вы можете выполнять команды с правами администратора, используя sudoи ваш пароль пользователя.

Администратор ДОЛЖЕН сконфигурировать sudoприем некоторых команд для пользователей, но некоторые административные задачи будут rootтолько так, rootкак и у настоящего суперпользователя .

Настоящая проблема заключается в том, что привилегии являются привилегией. Самая безопасная система будет иметь только 1 суперпользователя, и это так root.

Смотрите это

D4RIO
источник
В двух словах: Административные привилегии должны использоваться для административных задач, а не для рабочего стола, каждый день использования.
D4RIO
3

В тех других дистрибутивах, которые вы упоминаете, желательно создать (или, скорее, раскомментировать) строку /etc/sudoers, которая дает группе wheelнеограниченный доступ, а затем добавить себя в эту группу.

Это не только эксклюзивно для Linux, но и стандартно для * BSD, и я верю даже в Mac OS X (не уверен насчет последнего, поскольку я не пользуюсь Mac регулярно).

Полемон
источник
1
в случае, если большему количеству людей нужен root-доступ к машине, это, безусловно, целесообразный способ, вместо того, чтобы давать больше людей root-паролю.
Полемон
Да, это то, что я делал, когда работал под управлением Gentoo. Но если лучший способ предоставить обычным пользователям полный доступ к root - это поместить их в wheel + sudoers, то я не понимаю, почему они не захотят просто установить sudo-root по умолчанию, а затем позволят им создать root-аккаунт вручную, если им действительно нужен root-логин.
Дж. Тейлор
sudoэто не новая идея, она была там годами. Возможно, в Ubuntu есть что-то другое, или просто пытается скопировать поведение Windows.
Полемон
Я понимаю, что sudo - это не новое изобретение, но способ, которым Ubuntu использует его (то есть для полного удаления учетной записи root), безусловно, необычен по сравнению с другими дистрибутивами.
Дж. Тейлор
2
Предоставление неограниченного доступа sudo на самом деле не является более безопасным, чем выдача пароля root, поскольку каждый, кто имеет такой уровень доступа, может просто sudo passwdзаблокировать всех остальных. Как всегда, слабое звено в безопасности между креслом и клавиатурой.
Шадур
2

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

Может сохраняться тенденция рассматривать это sudoкак дополнительное удобство, а не как то, что должно лежать в основе управления системами.

Кит Томпсон
источник
1

Как указал mattdm, на этот вопрос (по большей части) уже был дан ответ здесь: Какой самый безопасный способ получения привилегий root: sudo, su или login?

Дж. Тейлор
источник
(Я говорю «по большей части», потому что мне все еще интересно понять, почему другие дистрибутивы не хотят переключаться на использование sudo)
J. Taylor
2
Ну, я смотрел на это с другой стороны. Я не понимаю, почему Ubuntu выбирает sudo, а не другие методы. Мои опасения изложены в этом вопросе, но вкратце: если злоумышленник может выполнить код как мой обычный пользователь, я не могу доверять системе с момента входа в систему. Я не могу быть уверен, запустил ли я настоящую версию sudo или кражу пароля.
стрибика