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

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

Однако приложения Linux могут использовать графические дисплеи и существует много различных систем для того, чтобы сделать это. Наиболее распространенные все создаются сверх X-окон.

X сетевой протокол, потому что посреди стопки X-протокола у Вас может быть сеть как стандартный компонент. Давайте посмотрим на определенный вариант использования. Физик в Берлине хочет выполнить эксперимент в CERN в Швейцарии на одном из коллайдеров ядерной частицы. Он входит в систему удаленно и запускает программу анализа данных на одном из суперкомпьютерных массивов CERN и изображает результаты в виде графика на своем экране.

В Берлине у физика есть X-оконечное-устройство, запускающее некоторое программное обеспечение X-сервера, которое предоставляет возможность графического дисплея удаленным приложениям. Программное обеспечение X-сервера имеет кадровый буфер, который говорит с определенным драйвером устройства для определенных аппаратных средств. И программное обеспечение X-сервера говорит X-протокол. Таким образом, слои могли бы быть графическим устройством-> драйвер устройства-> кадровый буфер-> X-сервер-> X-протокол.

Затем в Швейцарии приложение соединяется с дисплеем с помощью X-протокола и отправляет, команды графического дисплея как "тянут прямоугольник" или "альфа-смешение". Приложение, вероятно, пользуется графической библиотекой высокого уровня, и та библиотека будет, вероятно, в свою очередь, основана на более низкой библиотеке уровня. Например, приложение может быть записано в Python с помощью инструментария WxWidget, который создается сверху GTK, который пользуется библиотекой под названием Каир для базовых графических команд рисования. Может также быть OpenGL также сверху Каира. Слои могли бы быть похожими на это: WxWidgets-> GTK-> Каир-> X Инструментариев-> X-протокол. Очевидно это - протокол в середине, которая соединяет вещи, и так как Linux также поддерживает сокеты UNIX, абсолютно внутренний транспорт для данных, эти два типа вещей могут работать на одной машине, если Вы хотите.

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

GTK и QT являются двумя библиотеками GUI общего назначения, которые поддерживают окна, диалоговые окна, кнопки, и т.д.

GNOME и KDE являются двумя настольными средами, которые управляют окнами на графическом рабочем столе, обеспечивают полезные апплеты и панели кнопки Мне нравится штук. Они также позволяют нескольким приложениям связываться через X-сервер (X-оконечное-устройство), даже если приложения работают на различных удаленных компьютерах. Например, копия и вставка являются формой общения межприложения. GNOME создается сверху GTK. KDE является сборкой сверху QT. И возможно запустить приложения GNOME на рабочем столе KDE или приложения KDE на рабочем столе GNOME, потому что они все работают с тем же базовым X-протоколом.

8
20.03.2011, 22:16
6 ответов

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

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

4
27.01.2020, 20:10
  • 1
    Если Вы не можете добавить init=/bin/sh, Вы не можете добавить single также, таким образом, в любом случае пароль загрузчика обеспечивает Вашу защиту там. –  mattdm 21.03.2011, 15:34
  • 2
    , Но если ошибка произойдет во время начальной загрузки (такой как, в то время как fsck'ing раздел), то это бросит Вас в однопользовательский режим, не запрашивая пароль. –  Arrowmaster 21.03.2011, 20:19
  • 3
    Зависит от Вашей init системы. В RHEL5, который работает sulogin; это могло быть настроено по-другому. –  mattdm 21.03.2011, 20:24

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

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

Настоящая проблема состоит в том, что полномочия являются полномочием. БОЛЬШАЯ ЧАСТЬ защищенной системы будет иметь всего 1 суперпользователя, и это root.

Посмотрите это

3
27.01.2020, 20:10
  • 1
    Вкратце: Административные привилегии должны использоваться для задач администрирования, не для рабочего стола, каждый день использование. –  D4RIO 20.03.2011, 23:08

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

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

3
27.01.2020, 20:10
  • 1
    в случае, если больше людей должно базироваться доступ к машине, это - любой ценой желательный путь, вместо того, чтобы дать большему количеству людей пароль root. –  polemon 20.03.2011, 23:14
  • 2
    Да - это - то, что я раньше делал, когда я выполнял хинду. Но если лучший способ предоставить полный доступ обычных пользователей к корню состоит в том, чтобы разместить их в колесо + sudoers, то я не понимаю, почему они только не хотели бы настраивать sudo-корень по умолчанию и затем позволять им создать корневую учетную запись вручную, если им на самом деле нужен корневой вход в систему. –  J. Taylor 20.03.2011, 23:32
  • 3
    sudo не новый invetion, это было там в течение многих лет. Возможно, Ubuntu имеет что-то даже различное в памяти или просто пытается скопировать поведение Windows. –  polemon 20.03.2011, 23:40
  • 4
    я понимаю, что sudo не является новым изобретением, но способ, которым Ubuntu использует его (т.е. удалить корневую учетную запись в целом), конечно, необычен, по сравнению с другими дистрибутивами. –  J. Taylor 20.03.2011, 23:43
  • 5
    Предоставление неограниченного sudo доступа не на самом деле более безопасно, чем выделение пароля root, видя как, как любой с тем уровнем доступа может просто sudo passwd и заблокируйте всех остальных. Как всегда, слабое звено в безопасности между стулом и клавиатурой. –  Shadur 21.03.2011, 00:00

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

1
27.01.2020, 20:10
  • 1
    (я говорю "по большей части", потому что я все еще интересуюсь пониманием, почему другие дистрибутивы не принимают решение переключиться на использование sudo) –  J. Taylor 20.03.2011, 23:29
  • 2
    Хорошо я смотрел на него с другой стороны. Я не понял, почему человечность предпочитает sudo другим методам. Мои проблемы указаны в вопросе, но подводить итог: Если взломщик может выполнить код как мой обычный пользователь, я не могу доверять системе с момента, я вошел в систему. Я не могу быть уверен, запустил ли я реальный sudo или версию кражи пароля. –  stribika 21.03.2011, 01:31

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

Я сделал это. Я извлек уроки из этого. Это горело.:-)

3
27.01.2020, 20:10

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

Может все еще быть тенденция просмотреть sudo как дополнительное удобство, а не как что-то, что должно быть в ядре того, как управляют системами.

2
27.01.2020, 20:10

Теги

Похожие вопросы