Вопрос: Зачем регистрироваться как root?


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

Это может быть широко известно специалистам Linux, но я действительно не знаю, почему. Я помню, что всегда работал под управлением root, когда я впервые попробовал Linux несколько лет назад (Redhat и Mandrake) и не помню, чтобы в них возникали проблемы.

На самом деле есть некоторые дистрибутивы с ярко-красным фоном с предупреждающими надписями на нем как обои для пользователя root (SuSe?). Я по-прежнему использую учетную запись «Администратор» для регулярного использования в моей установке Windows и никогда не сталкивался с какими-либо проблемами.


178
2017-12-04 17:00


Источник


Я думаю, что нет никакой проблемы при запуске программы как root. Просто так, вы можете повредить ядро ​​вашей ОС (даже это могут сделать пользователи), если вы не очень разбираетесь в Linux. кроме этого я ничего не вижу. Но это только моя точка зрения. - Gaurav Butola
Связанный вопрос Вот, - loevborg
Трудность перехода в корневой режим варьируется между дистрибутивами. Меня лично раздражает то, как Fedora не позволяет вам «судо» прямо из коробки. У OpenSUSE и Ubunto есть предварительно сконфигурированные sudo, хотя ... и поэтому, если вы выберете правильный дистрибутив, вы можете свести к минимуму ваши досады при невозможности получить доступ к файлам. - djangofan
@GauravButola, даже если вы эксперт, это все равно плохая идея, если приложение будет скомпрометировано. - strugee
@DaboRoss OP замечает, что он работает в Windows как администратор; для моего (небольшого) опыта в этой ОС мне кажется, что он больше похож на Ubuntu: это привилегированная учетная запись в том смысле, что она может делать все, что угодно, но она спрашивает для разрешения до, например, установки нового программного обеспечения. Так что, вероятно, эквивалент использования «администратора» пользователя в окнах, переведенных в Ubuntu, должен был запустить основного пользователя с настройкой sudo, чтобы он не просил пропустить --- запускать напрямую, поскольку root намного опаснее. - Rmano


Ответы:


Он побеждает модель безопасности, которая существует уже много лет. Приложения предназначены для работы с неадминистративной безопасностью (или как простые смертные), поэтому вам необходимо повысить свои привилегии для изменения базовой системы. Например, вам не хотелось бы, чтобы недавний крах Rhythmbox уничтожил всю вашу /usr из-за ошибки. Или эта уязвимость, которая была только что отправлена ​​в ProFTPD, чтобы позволить злоумышленнику получить оболочку ROOT.

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


144
2017-12-04 17:08



... и он защищает вас от трансформации тривиальных ошибок в катастрофах. Я являюсь пользователем Unix / администратором с 1990 года, но все же могу с уверенностью проскользнуть в нужное место, делая rm -rf tmp/tests/*... - Rmano
1.) Большинство людей считают свой домашний каталог более важным, чем корневые каталоги, поскольку первые не могут быть переустановлены. Поэтому я не вижу твоей точки. 2.) Что касается безопасности, вы правы. Но, исходя из окон (там, где есть WID больше вредоносного ПО), где я использовал учетную запись администратора с тех пор (как это делают многие), мне сложно счесть это реальной опасностью. Я слишком ленив, чтобы напечатать sudo и мой пароль для каждой второй команды в Linux. Разве пользователи Linux не ленивы ????? - Blauhirn
не согласен -_-: ~: | - Artful Aardvark
@LazyPower благодарит за редактирование вашего ответа, но теперь я больше этого не понимаю. Для изменения моей частной папки Ubuntu ~, программам не нужны права sudo. Rhythmbox МОЖНО уничтожить весь мой каталог $ HOME / Music! И это все, о чем я забочусь! Как это связано с правами root? - Blauhirn
Это хороший звонок @Блаухирн. Я просто отправил последующее редактирование, чтобы отразить, что мы не хотим, чтобы он удалял все / usr. Что касается защиты ваших папок $ HOME, ничего хорошего, как хорошая резервная копия, может помочь вам. Я не думаю, что этот конкретный сценарий будет связан с безопасностью, а также с хорошей практикой. Еще раз спасибо за выноску. - lazyPower


Всего лишь одно слово: безопасность.

  1. Вы зарегистрированы как root = все приложения работают с привилегиями root - каждая уязвимость в Firefox, Flash, OpenOffice и т. Д. Теперь может уничтожить вашу систему, потому что возможные вирусы теперь имеют доступ повсюду. Да, для Ubuntu / Linux существует только несколько вирусов, но это также из-за хорошей безопасности и непривилегированного пользователя по умолчанию.
  2. Речь идет не только о вирусах - небольшая ошибка в приложении может удалить некоторые системные файлы или ...
  3. Когда вы зарегистрировались как root, вы можете сделать все - система не спросит! Вы хотите отформатировать этот диск? Хорошо, всего один клик, и все сделано, потому что вы root, и вы знаете, что делаете ...

73
2017-12-04 17:10



Файлы данных, принадлежащие моей учетной записи пользователя, являются намного больше ценный для меня, чем системные файлы. Все приведенные выше примеры по-прежнему являются проблемами при входе в систему как пользователь, за исключением того, что сохраняются легко заменяемые системные файлы. - kbeta
@kbeta, вы предполагаете, что работаете на компьютере, где единственными ценностями являются ваши данные и системные файлы. На самом деле linux часто используется в системе, где многие пользователи используют систему одновременно. В этом случае стабильность системы (и, следовательно, системных файлов) гораздо более ценна, и важны другие пользовательские файлы. - Eric Pauley
@kbeta Достаточно честный, но поврежденная конфигурация системы также может представлять риск для ваших данных ... и, конечно, наличие резервных копий было бы хорошей идеей, существует ли ваша система в настоящее время или нет. Реализация текущего резервного копирования с планом аварийного восстановления будет еще лучше. - Pryftan


Запуск от root - это плохо, потому что:

  1. Глупость: Ничто не мешает вам делать что-то глупое. Если вы попытаетесь изменить систему в любом случае, что может быть вредным, вам нужно сделать sudo, что в значительной степени гарантирует паузу, когда вы вводите пароль, чтобы понять, что вы собираетесь сделать возможное крупное / дорогостоящее изменение.
  2. Безопасность:  Это уже упоминалось уже несколько раз в этом вопросе, но в основном это одно и то же, сложнее взломать, если вы не знаете учетную запись пользователя администратора. root означает, что у вас уже есть одна половина рабочего набора учетных данных администратора.
  3. Вам это действительно не нужно: Если вам нужно запустить несколько команд как root, и вас раздражает необходимость ввода пароля несколько раз, когда sudo истек, все, что вам нужно сделать, это sudo -i и теперь вы root. Хотите запустить некоторые команды с помощью труб? Затем используйте sudo sh -c "comand1 | command2",
  4. Вы всегда можете использовать его в консоли восстановления:  Консоль восстановления позволяет вам попытаться восстановить что-то глупое или устранить проблему, вызванную приложением (которое вам все равно пришлось выполнять как sudo :)). В этом случае Ubuntu не имеет пароля для учетной записи root, но вы можете поиск в Интернете для изменения этого, это сделает его труднее для всех, у кого есть физический доступ к вашему ящику, чтобы иметь возможность причинить вред.

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


45
2017-12-04 18:43



может быть, десять лет? Гораздо намного дольше, чем когда вы написали это. Даже без sudo можно не упомянуть, например. группа колес (например). Разделение привилегий всегда важно и всегда было важно и всегда будет иметь важное значение. Otoh не так много людей использовали ОС на базе Unix, которые много лет назад, и многие из тех, кто это делает, привыкли всегда быть администратором. - Pryftan


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

На рабочем столе необычно использовать root Счет. Фактически, Ubuntu отправляется с отключенным доступом root. Все изменения, требующие привилегий суперпользователя, выполняются через sudo и его графические символы gksudo а также kdesudo, Учитывая, что легко установить root пароль, однако, почему люди не делают этого?

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

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

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

В многопользовательской системе с неграфическим доступом к оболочке многие из этих причин не применяются. Тем не менее, Ubuntu по-прежнему по умолчанию по умолчанию не может быть недоступен root Счет. Во-первых, существует реальная разница между получением доступа к учетной записи пользователя (с sudo прав) через отверстие в безопасности и получение доступа к root, так как в первом случае нарушение работы других пользователей потребует запуска sudo и по-прежнему запрашивает пароль учетной записи в качестве дополнительного шага безопасности. Для другого полезно выполнить многие административные задачи из учетной записи пользователя и только вызывать sudoкогда привилегии суперпользователя абсолютно необходимы. Таким образом, при установке программы из источника желательно создать источник - запуск configure а также make - внутри каталога пользователя и только используя sudo make install на последнем этапе. Опять же, это затрудняет съемку себя (и других пользователей многопользовательской системы) в ноге, и это уменьшает вероятность создания скриптов, разрушающих систему. Таким образом, даже на сервере это хороший совет придерживаться Ubuntu's суо-администрирование,


36
2017-12-04 17:24



he will still be able to boot the system, even if the data will be lost. - Какой в ​​этом смысл? Если мои данные потеряны, мои данные потеряны и все. Системное программное обеспечение Linux можно переустановить, если оно удалено, почему я должен заботиться о потере данных в таких руководствах? С другой стороны, потеря данных в ~ плохо. А также sudo не защищает меня от этого. - Blauhirn
Другая хорошая практика заключается в том, чтобы сохранить важные данные. Если вы уничтожили домашний каталог, вы все равно можете загрузить и просто скопировать файлы из резервной копии. Или, допустим, у вас есть небольшой ноутбук для путешествий. У него могут быть фото, путевые заметки, расписание поездов, но ничего не слишком важно. Если вы уничтожите пользовательские файлы, вы все равно можете загрузить систему и проверить свой рейс или узнать, какой автобус взять. - Richlv
Резервные копии @Blauhirn. И есть шанс на выздоровление, даже если он выглядит мрачным. - Pryftan


Одна из причин не запускать как root, которая до сих пор не была идентифицирована другими ответами, - это прослеживаемость. На машинах, которые в основном работают на однопользовательском компьютере (на вашем рабочем столе или ноутбуке), на серверных машинах, вероятно, меньше всего, если кто-то вошел в систему как root, вы не знаете, кто виноват в предпринятых действиях. Поэтому большинство профессиональных организаций с несколькими системами и несколькими администраторами, которые нуждаются в root привилегии требуют от пользователей входа в систему, используя свой собственный идентификатор пользователя (и пароль), а затем использовать sudo или аналогичные программы для работы с root привилегии при необходимости.

В противном случае основными причинами не запускаются как root:

  • Минимизировать риск повреждения от несчастных случаев. Если вы запустите rm -fr / home/me/my-subdir как root, тогда вы просто резко устранили все важное значение своей машины из-за этого пространства после (первой) косой черты - потому что материал, который идет первым, - это материал, который был добавлен первым - маленькие вещи, такие как ядро, /bin и /etc каталог. Unix расстраивается, если вы их потеряете.

  • Минимизируйте риск повреждения от вредоносных внешних сайтов. Если вы просматриваете root, вы более уязвимы для загрузки вредоносных материалов.

Я использую MacOS X больше, чем Ubuntu, но там root отключен по умолчанию, и он все еще находится на моей машине. Я регулярно обновляю ядро ​​и другие подобные операции - используя sudo (за кулисами). Аналогичные методы применимы и к Linux.

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


31
2017-12-04 23:10



Дело не в том, чтобы обвинять кого-то, а в том, что он может понять Зачем кто-то внес изменения. - jippie
@jippie: Я имею в виду «вину» таким же образом, что и VCS отслеживает, кто сделал то, чтобы правильный человек был отнесен к ответственности за изменение, за хорошее или плохое, и одно из имен для команды, выполняющей это отслеживание «виноват». Это дает вам возможность поговорить, чтобы узнать, почему что-то произошло. Это не всегда «ошибка» (хотя удручающе часто, причина, по которой нужно знать, - это то, что что-то работает не так, как ожидалось, и нужно знать, почему нет). Таким образом, речь идет о подотчетности и удобочитаемости, а не о том, что нужно для того, чтобы лишить человека того, что они сделали. - Jonathan Leffler
В Ubuntu команды вроде rm -fr / home/me/my-subdir на самом деле не пытайтесь рекурсивно удалить /, потому как / рассматривается специально для защиты от таких ошибок. См. Документацию по --preserve-root а также --no-preserve-root вариантов в man rmдля деталей. Но принцип звучит: односимвольные опечатки делать существуют, что приводит к rm удаляя все. Например, если вы хотите удалить все в текущем каталоге, запустив rm -r *, но вы случайно / до *, это было бы плохо. - Eliah Kagan
@EliahKagan Но все же, если бы вы были ... chown -R nobody:nobody ../ от say / etc он защитит вас? Если вы будете делать это на / etc, это вызовет у вас мир боли. Аналогично .* при рекурсивном запуске команды. - Pryftan


TL; DR: Делайте вещи как root, только когда вам нужно. sudo делает это довольно легко. Если вы включите учетные записи root, вы все равно можете следовать этому правилу, вам просто нужно быть осторожным. Хотя включение учетных записей root не является фактически незащищенным, если все сделано правильно, вам не нужно включать учетные записи root, потому что у вас есть sudo,


20
2018-05-03 17:12



«Если вы единственный человек, который использует ваш компьютер, вред, который вы можете сделать только как root, на самом деле не может быть выше, чем вред, который вы можете причинить своим обычным пользовательским привилегиям. Но это по-прежнему не является основанием для расширения вашего риска. «Не говоря уже о том, что это ставит вас в привычку ... тогда вы идете в другую систему и что происходит? То же самое с абсурдной идеей заставить людей привыкнуть к rm -i посредством псевдонима оболочки. Вы идете в систему, которая этого не имеет, а затем что? Ребенок, сидящий на ошибках, подобный этому, никогда не является хорошей идеей, когда вы считаете, что люди - очень много привычек. - Pryftan


Корневой счет отключен по умолчанию - это значит, что он существует, но он не используется (кроме режима восстановления). Это означает, что злоумышленник знает вашу учетную запись root, но не мог использовать его, даже если у него / нее был пароль root. Таким образом, злоумышленник должен угадать как имя пользователя с правами администратора, так и пароль пользователя (что намного сложнее, чем просто пытаться выработать пароль root). В XP, если у вас установлена ​​консоль восстановления, любой, кто физический доступ к вашему ящику может загрузиться в него (RC) - пароль не требуется. То же, что и режим восстановления в Ubuntu.

В Ubuntu, когда говорят, что корень отключен, на самом деле это означает, что учетная запись заблокирована. Учетная запись заблокирована путем изменения пароля до значения, которое не соответствует возможному зашифрованному значению. Это эффективно предотвращает возможность входа в систему с правами root, поскольку невозможно было ввести пароль. Поскольку еще есть время, когда необходим корневой доступ - ядро ​​Ubuntu было изменено, чтобы разрешить корневой локальный вход только в однопользовательском режиме.

Также см. Это страница


13
2017-12-04 17:18



Um. Не обижайтесь, но вы можете прочитать заголовок вопроса, а затем снова прочитать детали. - Mussnoon
Это очень полезно - и это делает относятся к вопросу. Это связано с последствиями безопасности для включения учетной записи, что является предварительным условием для запуска с правами root. - Stefano Palazzo♦
@Stefano Palazzo: Хотя предоставленная информация может быть полезна, я искренне не могу видеть, в какой части лежит ответ на то, что мне нужно знать. Я читал его несколько раз. - Mussnoon
Не мешает людям входить в root. - Chad