Забота о входе в систему как root переоценена?

16

Что касается личного linux на моих личных ноутбуках, я обычно устанавливаю в моей среде autologin как root даже при X или более низких уровнях запуска. Я обнаружил, что мой рабочий процесс очень приятный и быстрый, без какой-либо громоздкой необходимости набирать suили sudoили спрашивать с помощью клавиш или аутентификации или чего-то еще.

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

Урай
источник
4
зачем запускать с правами root? если вы на самом деле просто не хочу , чтобы напечатать , sudoя хотел бы предложить редактирование /etc/sudoersи добавление некоторых команд в NOPASSWD (не все из них) , то в вашем ~/.bashrc(или файл псевдонимов) добавить aliasэс в sudo command. Это все еще, вероятно, не очень хорошая идея, но она ограничит ущерб, который вы можете нанести или нанести вам.
ксенотеррацид
11
Уровень враждебности в этой теме немного беспокоит; это законный вопрос Да, запускать все время с правами root - плохая идея, но не нужно об этом
думать
5
@Mrozek: Согласен. Теперь я никогда не давал бы пароль root OP какой-либо системе, которой я управлял, но перебор системы, введя неправильную информацию, может быть очень полезным. Возможно, ОП, пишущий «Пока у меня никогда не было с этим проблем», узнает что-то полезное, например, тот факт, что вещи могут случиться впервые.
Дэвид Торнли
2
Я думаю, что это подводит итог, почему бы и нет: unix.stackexchange.com/questions/502/…
Alex B
3
Провести аналогию с автомобилем: это все равно, что ехать без ремня безопасности. Возможно, но потенциально смертельно.
инвертировать

Ответы:

33

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

Но предположим, что Apache не без ошибок. Ошибки обнаруживаются время от времени. Иногда это может быть даже выполнение произвольного кода или подобное. Теперь, когда Apache работает как root, он может получить доступ ко всему - например, он может загрузить руткит в ядро ​​и спрятаться.

С другой стороны, написание руткита на уровне пользователя очень сложно. Он должен переопределять различные программы (например ps) внутри /home, что может вызвать подозрения из-за дополнительного дискового пространства. Он может не знать точную конфигурацию и забыть включить, например, gnome-system-monitorвыставляя себя. Она должна охватывать bash, tcshи любую оболочку вы решили использовать (чтобы начать себя). Это должно было бы работать с различными конфигурациями вместо «простого» переопределения связки обратных вызовов.

Учтите, что не так давно было выполнено произвольное выполнение кода в ... Adobe Reader.

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

Третья причина - разные оболочки. Корневая оболочка должна быть установлена ​​на /случай необходимости спасения системы. Пользовательские оболочки могут быть установлены /usr(например, пользователь может использовать zsh).

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

Пятая причина заключается в том, что /rootне должно быть на отдельном разделе, а /homeможет (и должен). Наличие /homeотдельных подсказок по разным причинам.

ТАКЖЕ : ПОЧЕМУ НЕ ИСПОЛЬЗУЙТЕ КАК НОРМАЛЬНОГО ПОЛЬЗОВАТЕЛЯ. Вам чаще всего не нужно иметь root-права, чем они есть. Это очень маленькая цена за безопасность.

Мацей Печотка
источник
3
Тот факт, что пользователь root ddможет делать что угодно с любым блочным устройством в системе, в сочетании с тем фактом, что root может делать много путаницы, преднамеренно и непреднамеренно, с ядром и системой в / dev и / proc, должен быть достаточно, чтобы убедить кого-либо не запускать с правами root, если это не нужно.
LawrenceC
29

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

nzwulfin
источник
7
возможно, но подумайте о чувстве, которое вы получите в остальное время!
Sirex
12

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

Мысль: если вас просят ввести пароль root во время обычного использования вашей системы (то есть, не устанавливая пакеты или какую-либо другую задачу системного администрирования), вы делаете это неправильно .

axel_c
источник
+1 за напоминание о нескольких старых впечатлениях. Или это должно быть -1 для их восстановления?
Дэвид Торнли
5
Я никогда не понимал, почему люди считают, что использование sudo предотвращает ошибочные команды. Последняя система, которую я использовал несколько лет назад, была sudo rm -rf / dir / job.
Sirex
4

Нет, это не переоценено. На практике это недооценивается. :-)

Например, моя небольшая команда на работе делит машину RHEL для разработки: сборка, тестирование и т. Д. Каждый использует индивидуальные учетные записи пользователей, но мы также сообщаем пароль root, так как время от времени это требуется людям для быстрых задач системного администратора. Это также привело к тому, что нам удалось несколько раз использовать ОС за короткий срок ее службы. Кто-то, создавший определенную версию libc, удалил системную libc глупымrmпризывание. В другом любопытном случае таблица разделов отсутствовала. (Хорошо, это не имеет ничего общего с привилегиями.) Остальная часть команды блокируется, пока поломка не будет устранена. Одно из решений состоит в том, чтобы кто-то добровольно взялся за выполнение задач системного администратора. К этому моменту мы не заботились слишком сильно, за исключением того, чтобы позволить людям усвоить уроки: всем нам нужны некоторые следы зубов на наших задних частях, и это относительно недорогие следы зубов.

Действительно любопытный может захотеть следовать принципу наименьших привилегий и прочитать статью Кена Томпсона «Размышления о доверии». («Мораль очевидна. Вы не можете доверять коду, который вы не создали сами».)

sajith
источник
3

Подняв ваш комментарий к другому ответу

но Linux - это свобода, включая свободу уничтожать ваши собственные данные, конфиденциальность и безопасность

Даже заставляя людей проходить мимо sudo, Linux предлагает эту свободу. Весь аргумент безопасности, который вы хотите избежать, заключается в том, чтобы защитить вас от вещей , не так ли (читай: вредоносные программы или программы, контролируемые злоумышленниками).

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

Если вы не хотите вводить свой пароль все время, sudoedit /etc/sudoersно если вы продолжаете работать от имени пользователя root, однажды вы, вероятно, собираетесь запустить что-то, что уничтожит вашу систему и все ваши данные.

Если вы счастливы, зная, что даже что-то столь же дрянное, как Flash, может переформатировать ваш компьютер, никого здесь не волнует, что вы делаете. Запуск от имени пользователя root.

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

Почему бы не запустить Damn Vulnerable Linux в качестве основной системы, пока вы в ней? Если вы собираетесь игнорировать систему безопасности, вы можете игнорировать все это ...

xenoterracide
источник
Технически компьютер с
рутом в
3
@Maciej - единственный защищенный компьютер, отключенный от сети, заключенный в бетон на дне озера.
ксенотеррацид
Как указал Митник, кто-то может вытащить его за пределы озера, разбить бетон и подключить (о-о. Он только сказал, что кто-то может подключить отключенный компьютер с помощью социотехники, но принцип тот же). Я старался быть осторожным в использовании «технически» и «теоретически» - также плохая блокировка лучше, чем отсутствие блокировки. Например, я считаю свою нынешнюю систему достаточно безопасной, несмотря на отсутствие на ней SELinux;)
Мацей Пехотка
@Marciej безопасность скважин - это анализ затрат и рисков. Вы никогда не ставите вокруг себя больше безопасности, чем то, чего стоит.
ксенотеррацид
1
@Marciej, и если это ничего не стоит, тогда нет смысла защищать его, в этот момент уязвимость не имеет значения.
ксенотеррацид
1

Вы говорите об ОС, которая является совместной работой бесчисленных людей. Если вы используете только стабильное программное обеспечение, вы МОЖЕТЕ быть в безопасности какое-то время.

Как упоминалось ранее, вы будете удивлены, насколько маленький предмет может испортить весь ваш HD. В первый год я пытался работать с root-правами, потому что во времена Fedora-core 3 было не так много причудливых способов администрирования вашей системы от пользователя.

В то время я сделал небольшое редактирование xorg без резервного копирования, потому что я не думал, что это повредит. Рабочий стол пропал. Затем я попытался исправить это вручную, но не смог понять, что именно я сделал. Позже я подумал, что, возможно, смогу переустановить мои драйверы и рабочий стол, но случайно отключил мой Ethernet, так как это была также nvidia.

Запустив Arch впервые, я проигнорировал предупреждения о создании пользователя и некоторое время работал от имени администратора. Я установил пакет от AUR, в котором я нуждался, и после перезагрузки вся моя установка была прервана.

Поскольку я был в root, решение этих проблем стало намного хуже, чем нужно.

Вы могли бы заключить, что я был просто некомпетентен. Но, как упоминали другие ... ввод "sudo" - это небольшая цена за спокойствие.

РЕДАКТИРОВАТЬ: О ... и некоторые программы, такие как WINE, явно не должны работать в корневой среде. http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014

Garrett
источник
1

Из соображений безопасности - уязвимость демона или скрипта, нацеленная на Linux, будет иметь власть Sysadmin над вашей системой.

Работа в качестве простого пользователя И использование sudo сильно отличается с точки зрения безопасности. Мой Firefox работает как мой пользователь, поэтому любая уязвимость в Firefox затронет только мою учетную запись. Ничего больше.

lucabotti
источник
0

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

Абхишек
источник
-4

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

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

Нил
источник
8
использование веб-браузера означает что-то глупое?
ксенотеррацид
4
@xenoterracide: я бы сказал, что делать глупости, если вы вошли в систему как root.
Дэвид Торнли
2
@ Давид, я знаю это;) в этом
вся