Можно ли использовать пользователя root в качестве обычного пользователя?

94

Я включил пользователя root на моем Mac, чтобы я мог войти в него и запустить Finder и т. Д. Будучи ленивым человеком, я просто перенес все из своего домашнего каталога в /var/root. Я не слишком уверен в этом, поэтому я могу все вернуть назад. Технически «нормально» использовать это как обычный пользователь? (Я единственный, кто может получить доступ к моему компьютеру.)

智障 的 人
источник
6
Хороший вопрос с безлимитным «El Capitan» за углом.
двоюродный брат Кокаин
4
Что конкретно означает (доступ к моему компьютеру). Скорее всего, вы подключены к Интернету. Вы не указываете, какое программное обеспечение вы предоставляете доступ к компьютеру. Как выглядит «ОК» для вас? Престижность для получения некоторых общих общих ответов. Вероятно, лучше задать более подробный вопрос (если таковой существует) в качестве дополнительного вопроса.
bmike
6
Вы можете использовать учетную запись root в качестве обычного пользователя, если знаете ответ на вопрос «Можно ли использовать root в качестве обычного пользователя?». Как только вы знаете ответ, вы не будете. ;-)
Дакшинамурти Карра
Возможно, вы захотите добавить различие между root, admin и обычным пользователем. Я считаю, что админ по умолчанию.
Стив Мозер
6
«Я единственный, кто может получить доступ к моему компьютеру» <- Lol
Tim

Ответы:

354

Использование вашего компьютера, вошедшего в систему как root, все равно, что всегда носить с собой все ваши ключи, ваш паспорт, 5000 долларов наличными, этот листок бумаги со всеми вашими паролями, написанными на нем, и единственную фотографию, которую у вас есть, с Flopsy, очаровательным кроликом, чей смерть разбила твое семилетнее сердце. Ох и бензопила.

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

Так что нет, не стоит постоянно использовать учетную запись root. Это дает вам небольшое удобство, но подвергает вас большой опасности. Существует опасность глупых ошибок, приводящих к катастрофическим результатам («Эй, почему rm -rf *так долго бегать? **** Я в игре /!»). Существует опасность того, что вы привыкнете к мысли, что все файлы одинаковы, и вы можете просто возиться с чем угодно в любом месте дерева каталогов. Существует опасность того, что любой взлом вашей учетной записи немедленно станет взломом всей системы, поэтому теперь каждая отдельная часть программного обеспечения на вашем компьютере критична для безопасности. И даже если вы думаете, что вас не волнует взлом вашей машины (в конце концов, эта фотография Flopsy - это настоящий кусок глянцевой бумаги, а не какой-то эфемерный JPEG), я заботьтесь о том, чтобы ваша машина была взломана, потому что именно в ботнете происходит атака DDOS против любого интернет-сервиса, к которому у меня сегодня нет доступа.

Корень - твой человек-паук. Это дает вам большую силу, но требует большой ответственности. Он всегда в шкафу, когда вам это нужно, поэтому вам не нужно носить его постоянно.

Дэвид Ричерби
источник
54
Это было не только занимательное и хорошо написанное произведение, оно также звучит
правдоподобно
17
Я продолжаю возвращаться к этому. Это подлинный совет с наибольшим количеством юмора, который вы можете применить к чему-то, и при этом быть серьезным.
智障 的 人
19
@ 9000 Этого не произошло, так как по крайней мере XP.
Дэвид Ричерби
28
связана ли смерть флопси с бензопилой?
Sirex
29
«Корень - твой человек-паук». Я умираю здесь.
Близнецы Домино
23

Можно, но это серьезный риск для безопасности и стабильности. Это позволяет любому приложению получить полный доступ к вашему компьютеру. Вы не можете знать, что они делают с этим доступом. Это не нужно и просто очень небезопасно.

Для получения дополнительной информации об этом см.

Уильям Т Фроггард
источник
Я удалил комментарии, поскольку они на самом деле не добавили к ответу. Не могли бы вы продолжить обсуждение в чате?
nohillside
Спасибо за правки. Надеюсь, это исправит некоторую путаницу в отношении моего поста.
Уильям Т Фроггард
16

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

  • Защита от приложений . Практически система разрешений * nix недостаточно сильна (на данный момент) для запуска произвольных программ. Вредоносная программа на * nix способна совершать достаточно злых дел (например, красть учетные данные вашего банка) без прав root. Для rootприложения, не являющегося rootприложением, это будет несколько сложнее, чем для приложения (например, вместо непосредственной установки корневого сертификата и перехвата соединения с банком, вам придется вместо этого возиться с браузером, но эй, это на самом деле вполне выполнимо и В любом случае, вам, вероятно, пришлось сделать это, чтобы пользователь ничего не заметил)
  • Защита от ошибок пользователя (например, запуск неправильной команды и удаление всех системных файлов) : Абсолютно верно, но даже если не rootпользователь сохранит систему, все важные файлы, как правило, уже будут потеряны (так как файлы, принадлежащие пользователю, гораздо больше скорее всего будет уникальным).
  • Защита от уязвимых ошибок в приложениях, которые вы запускаете: теперь это больше похоже на это. Например, когда вы запускаете веб-сервер, на котором много приложений открыто снаружи, и, таким образом, любые уязвимые ошибки будут легко обнаружены. Конечно, то же самое относится и к тому же, даже если вы сидите за маршрутизатором и брандмауэром, хотя степень опасности гораздо менее значительна. Еще раз, однако, возникает вопрос, насколько система разрешений будет реально защищать в частной системе. Без rootразрешений все личные файлы по-прежнему могут быть доступны, а также возможен перехват сетевых данных ... две самые важные вещи, которые вы можете пожелать как злоумышленник частной системы.
    • (Теперь, помимо стандартной системы доступа к файлам * nix, Apple также представила систему песочницы приложений. Насколько я знаю, она все еще полностью работоспособна даже при входе в систему как root. Если бы это было не так, то это было бы полный размен.)

В любом случае, учитывая все это, я не думаю, что это такая ужасная идея, как утверждают некоторые другие. Имейте в виду, я не говорю, что это также хорошая идея, но я думаю, что люди переоценивают полезность модели разрешений файловой системы * nix для защиты вас. Да, это невероятно полезно для определенных вещей (например, многопользовательские системы, сложные многопользовательские серверы, поддержание работоспособности системы независимо от того, что происходит (работает, но не обязательно используется), блокировка важных файлов (хотя лучше шифровать их) ...) и т. д.), но это не какая-то магическая защита, которая предотвращает неприятности.

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

Запуск как rootпользователь не является ничего , как принимать все замки вашего дома и неся все вещи в сейфе с вами все время , как утверждает Дэвид Richerby. Ваш паспорт (удостоверение личности) никоим образом не защищен файловой системой * nix, ваши деньги (банковский счет) никоим образом не защищены файловой системой * nix, ваши важные пароли, вероятно, не защищены файловой системой * nix (если вы используете Safari, однако они могут частично защищаться моделью разрешений файловой системы * nix, но безroot вы все равно можете добавить невидимое расширение в Safari, а затем просто перехватите пароль при следующем его использовании), ваши фотографии определенно не защищены файловой системой * nix, и если вы используете терминал, то у вас уже есть бензопила вокруг с вами (в соответствии с пунктом 2 выше).

Дэвид Малдер
источник
2
Если вы отрицаете ответ, пожалуйста, укажите, что будет неправильным в моем анализе. Я прекрасно понимаю, что мой ответ немного неортодоксален, но я ожидаю, что ИКТ будут настолько прогрессивными, что ответы будут оцениваться по их содержанию, а не по тому, насколько хорошо они соответствуют традиционным догмам.
Дэвид Малдер
3
Это заслуживает большего количества голосов. В только что я действительно небезразличен на моем компьютере файлы , принадлежащие моим (не корень) пользователем. Они представляют мои фотографии, мою музыку, видео моих дочерей ... остальное можно легко переустановить!
Исак Саво
6
Эта логика в основном такая же, как сказать, потому что дистанционные открыватели гаражных дверей - довольно слабый соус, это действительно не будет большим делом, если никто не закроет их гаражные двери. Предпосылка верна, но совет обманчив. Эффективная безопасность состоит из множества маленьких частей, работающих вместе. Как и все в окрестностях, где гаражи закрыты. Это делает район безопаснее для всех.
Калеб
2
@Caleb Существует огромная разница между владением домом по соседству и приглашением кого-либо. И к тому времени, когда кто-то входит в ваш дом, уже мало что может остановить его в стандартных * nix системах. Вот что я описываю в этом ответе: как только кто-нибудь проникнет в вашу систему, разрешения файловой системы * nix не помогут, потому что они не защищают вещи, которые вы считаете важными в частной системе. Единственное, что это (продолжение)
Дэвид Малдер
3
Без рута это не мешает, конечно. Но это немного другое утверждение; вроде как я сказал «атака», а не «компромисс». Вы можете сделать намного больше в сети с помощью root. Если ваша машина-зомби участвует в простом потоке ICMP, для простого примера вам нужен доступ к необработанным сокетам для генерации этого трафика ICMP (именно поэтому ping является suid root). То же самое касается нескольких других полезных модификаций вредоносных пакетов.
dannysauer
15

Примерно в 1990 году я работал над проектом с парнем по имени Том. Мы использовали сервер SUN под управлением SunOS (производная от Unix, предшественник Solaris). Это было еще во времена, предшествовавшие дисководам компакт-дисков и флеш-накопителям, поэтому, если вы испортили ОС на жестком диске, восстановить ее было невозможно.

Том обычно входил в систему как root. Я сказал ему, что это плохая идея, но он не слушал. Однажды я услышал, как он сказал «О-о-о». Он хотел напечатать что-то вроде этого:

mv something* .

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

Я использовал стрелку вверх, чтобы вернуть предыдущую команду и увидел, что произошло. Первое, что я тогда сказал, было: «Не выходите! Или вы никогда не сможете войти снова».

Нет проблем, верно? Мы могли бы просто переместить все обратно. Мы могли бы, за исключением того, что команда mv не была одной из встроенных команд оболочки. Вместо этого это была исполняемая программа, хранящаяся в одном из файлов, которые были перемещены. К счастью, ls была встроенной командой, поэтому после использования ls для подтверждения того, куда были перемещены команды, я смог найти команду mv, вызвать ее с полным путем и вернуть все туда, где он должен был быть. ,

И тогда я сказал ему: «Том, поэтому плохая идея регулярно входить в систему как root».

Майк Кьяральди
источник
10

Как правило, вы хотите хранить права владения вашими личными файлами отдельно от пользователя root. Вот почему вы создаете учетную запись для себя в качестве администратора. В OS X общепринятым способом получения доступа к корневому уровню является использование sudoкоманды из приложения терминала. Например, если вы хотите увидеть разметку вашего внутреннего диска, введите команду

gpt -r show /dev/disk0

который в случае ввода приведет к следующему сообщению об ошибке.

gpt show: unable to open device '/dev/disk0': Permission denied

Чтобы использовать команду, вам нужно использовать, sudoкак показано ниже.

sudo gpt -r show /dev/disk0

Если вы хотите стать пользователем root, чтобы избежать входа sudo, вы можете просто войти sudo sh. exitКоманда может быть использована для выхода из является привилегированным пользователем.

Если вы хотите выполнить приложение от имени пользователя root, вы можете использовать приложение Terminal. Например, если вы хотите запустить Finder от имени пользователя root, введите следующую команду.

sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder &

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

osascript -e 'tell application "Finder" to quit'

Одно предостережение: предшествовать команде с помощью sudo- это не то же самое, что стать пользователем root. Например, команды

sudo echo $USER
sudo echo $SUDO_USER

результат такой же, как и команды, показанные ниже.

echo $USER
echo $SUDO_USER

Если вы станете пользователем root (суперпользователь), то те же команды приведут к другому выводу. Это можно проверить, введя команды, показанные ниже.

sudo sh
echo $USER
echo $SUDO_USER
sudo echo $USER
sudo echo $SUDO_USER
exit
Дэвид Андерсон
источник
4

В случае, если другие причины не были достаточно хорошими ... Не забывайте, что вы не можете использовать Homebrew в качестве пользователя root (что на самом деле является огромной болью). Другие программы также не позволяют вам использовать их в качестве пользователя root или сталкиваться с проблемами с разрешениями, часто безо всякой на то причины, потому что их программисты предполагают, что они не будут работать от имени пользователя root. Я думаю, что Steam является одним из них.

Также приятно разделять все системные и пользовательские ресурсы по разным причинам.

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

Судо
источник
4

Несколько примеров, почему не всегда можно запускать как root:

  • Пользователь root может легко размещать файлы в местах, которые гораздо сложнее отследить.
  • Корневой пользователь имеет необработанный доступ к интерфейсам и, таким образом, может перевести интерфейс в беспорядочный режим или режим мониторинга и регистрировать ВСЕ сетевой трафик.
  • Корневой пользователь имеет прямой доступ к узлам устройства и может разбить диск, что значительно затрудняет восстановление файлов, чем простой «rm» на уровне пользователя. Пользователь root также может изменять загрузочные секторы диска, делая вредоносные программы постоянными даже после переустановки операционной системы.

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

bodangly
источник
1

Если вы не используете backtrack / kali для конкретной задачи: НЕТ. Обращайтесь с суперпользователем так же, как с заряженным оружием: если у вас есть срочная необходимость и намерение его использовать: ОК. Однако, если вы можете решить свою проблему любым другим способом (например, «sudo»), сделайте это.

SamWN
источник
0

НЕТ! Это сломает вашу систему за очень короткое время. Вместо этого suили sudoв корень по необходимости. Если вы абсолютно, безусловно, должны работать как root, по крайней мере, выйти из системы в любое время, когда вы не используете компьютер. Если ваша система способна работать с несколькими пользователями, но пользователи не настроены, я предлагаю вам создать привилегированного пользователя (то есть: тот, который может sudo/ suв root при необходимости). КАК МОЖНО СКОРЕЕ !!!

Такер Коуми CodeZypher
источник
0

Просто используйте SUDO

Я предполагаю, что OP не знает, как легко использовать его sudoв тех случаях, когда вам нужно использовать root.

ОП, все твои проблемы прошли. Немедленно восстановите ваш Mac до нормального состояния.

И просто используйте sudo по мере необходимости. Уф.

Fattie
источник