Что не так, всегда с корнем?

У меня такое чувство, что это глупый вопрос, но это то, о чем я задавался некоторое время.

У меня есть VPS, и это мое первое крупное предприятие Linux. Я единственный человек, у которого есть доступ к нему. Мой вопрос заключается в том, что не так просто с регистрацией в качестве пользователя root, а не с помощью учетной записи и предоставления доступа к sudo? Если sudoer может делать все, что может сделать root, то в чем разница? Если хакер может взломать мой пароль на мою стандартную учетную запись без учетной записи root, тогда он также может выполнять команды sudo, так как хакер взломает мою учетную запись root больше или меньше?

80 голосов | спросил ryeguy 24 PM00000060000005431 2009, 18:23:54

14 ответов


70

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

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

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

EDIT: существует также проблема, когда root является наиболее известным, таким образом, легкой целью для скриптов и хаков. Системы, которые отключают учетную запись и вместо этого вынуждают пользователей использовать sudo, означает, что любая попытка взломать root из ssh или локального эксплойта в учетную запись ударяет головой о стену. Им придется угадать /взломать пароль и . Это безопасность через неясность в какой-то степени, но трудно утверждать, что это не противоречит большинству атак типа kiddie.

ответил Bart Silverstrim 24 PM00000060000001131 2009, 18:30:11
29

Если вы не позволили бы идиотом войти на ваш сервер с правами root, то не всегда запускайте его как root. Если вы не можете сказать сердцем, что вы never были идиотом. Нет, правда? Ты уверен? :)

Преимущество: уменьшает вероятность того, что вы будете root и идиотом одновременно.

ответил Tom Newton 24 PM00000060000002531 2009, 18:41:25
9

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

ответил Kyle Brandt 24 PM00000060000003831 2009, 18:31:38
9

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

ответил Stu 24 PM00000060000000031 2009, 18:38:00
7

Есть несколько ключевых участников, которые не входят в систему с правами root: 1) Пароль root никогда не отправляется по сети во время входа в систему 2) Невозможно сказать, кто что-то сделал, если несколько пользователей вошли в одну учетную запись (корень или другой). 3) Случайно делая что-то «глупое»

ответил Jeff Hengesbach 24 PM00000060000005931 2009, 18:31:59
3

Это больше для защиты от себя, так что у вас есть второй шанс просмотреть команды с более высокими привилегиями, которые вы пытаетесь запустить, аналогичные UAC в Windows. Очень легко случайно сделать что-то вроде rm -rf / во время входа в систему как root.

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

ответил squillman 24 PM00000060000005931 2009, 18:30:59
2

Разница в основном:
что вы не можете сделать что-то плохое случайно.
что «злой» код не может взять на себя систему.
Примечание: код зла не обязательно означает, что кто-то уже имеет доступ к системе.

ответил StampedeXV 24 PM00000060000004731 2009, 18:30:47
2

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

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

Подумайте о коде, который вы используете, не задумываясь. Например, порт Linux для Adobe Flash, который является кучей кучи кормы, который только стал использоваться в относительно недавнем прошлом. Насколько безопасным вы считаете этот код? Вы хотите, чтобы это могло полностью контролировать вашу систему?

ответил duffbeer703 24 PM00000060000001631 2009, 18:37:16
2

Моим советом было бы время от времени использовать root, вы скоро узнаете, почему вы не должны:)

ответил Chopper3 24 PM00000070000002531 2009, 19:36:25
2

Это может помешать атакам грубой силы SSH. Каждый unix имеет учетную запись «root». Однако извне неясно, каким будет ваше имя пользователя sudo. Следовательно, если кто-то хочет попытаться перебрать свою силу, они знают, что есть учетная запись root и, вероятно, попробуют ее. Однако они не знают, с чего начать, если вы используете sudo.

ответил Rory 24 PM00000070000001531 2009, 19:40:15
1

Даже если я не доверяю «безопасности по неизвестности», безусловно, есть преимущество в использовании пользовательского входа вместо постоянно существующего корневого входа. Таким образом, вы можете настроить SSH, чтобы предотвратить вход в root.

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

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

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

ответил rolaf 26 PM00000050000000831 2009, 17:27:08
0

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

ответил Ali Mezgani 25 AM00000020000005931 2009, 02:25:59
-1

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

вы также можете заняться такими классными вещами, как ping -i 0.2 -c 1000 example.com

ответил lee 28 PM000000100000005031 2009, 22:07:50

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132