У меня такое чувство, что это глупый вопрос, но я давно об этом задумывался.
У меня есть VPS, и это мое первое большое Linux-предприятие. Я единственный человек, который имеет к нему доступ. Мой вопрос: что плохого в том, чтобы просто войти в систему как пользователь root, а не создать учетную запись и предоставить им доступ sudo? Если sudoer может делать все, что может root, то какая разница? Если хакер может взломать мой пароль к моей стандартной учетной записи без полномочий root, он также может выполнить команды sudo, так как же хакер взломает мою учетную запись root больше или меньше?
linux
ssh
permissions
ryeguy
источник
источник
Ответы:
Если вы вошли в систему как пользователь root, вы можете легко стереть каталоги или сделать что-то, что в ретроспективе действительно глупо для системы, одним движением пальца, в то время как пользователь, как правило, должен добавить несколько дополнительных умственных циклов в то, что вы набираешь, прежде чем делать что-то опасное.
Кроме того, любая программа, которую вы запускаете от имени пользователя root с правами суперпользователя. Это означает, что если кто-то или что-то заставляет вас запускать / компилировать / просматривать веб-сайт, который опасен и хочет повредить вашу систему, например, трояна или другого вредоносного ПО, он имеет полный доступ к вашему система и может делать то, что хочет, включая доступ к портам TCP ниже 1024 (например, она может превратить вашу систему в посредник без вашего ведома).
По сути, вы как бы просите неприятностей, которые может предотвратить вход в систему, поскольку вы сами можете это сделать. Я знал многих людей, которые в конечном итоге были рады, что у них была эта сетка безопасности в момент небрежности.
РЕДАКТИРОВАТЬ: Существует также проблема root является самой известной, а следовательно, легкой целью для сценариев и хаков. Системы, которые отключают учетную запись и вместо этого вынуждают пользователей использовать sudo, означают, что любая попытка взломать root от ssh или локальная эксплойт к учетной записи бьют их головой об стену. Им придется угадать / взломать пароль и имя пользователя. В некоторой степени это безопасность через безвестность, но трудно утверждать, что это не мешает большинству атак сценаристов.
источник
Если вы не позволите идиоту входить на ваш сервер как root, то не всегда запускайте себя как root. Если вы не можете от всего сердца сказать, что вы никогда не были идиотом. Нет, правда? Ты уверен? :)
Преимущество: снижает вероятность того, что вы являетесь корнем и идиотом одновременно.
источник
Основная причина - ошибки. Если вы всегда root, простая опечатка может действительно испортить систему. Если вы входите в систему как пользователь root или используете sudo для выполнения действий, которые требуют этого, вы сводите к минимуму риск совершения опасной ошибки.
источник
Когда вы root, вы ленитесь о разрешениях, так как у вас есть доступ ко всему постоянно, вам все равно, когда у вас 777 или 644 или что-то еще. Поэтому, если вы когда-нибудь позволите кому-либо еще подключиться к вашей системе, чтобы вы не хотели иметь доступ ко всему, это внезапно станет настоящим затруднением, чтобы сделать машину безопасной для использования другими людьми.
источник
Есть несколько ключевых принципов, позволяющих не входить в систему как root: 1) Root-пароль никогда не передается по сети во время входа в систему 2) Невозможно определить, кто что-то сделал, если несколько пользователей входят в систему под одной и той же учетной записью (root или другая). 3) Случайно делает что-то «глупое»
источник
Это больше для защиты от себя, чтобы у вас был второй шанс просмотреть команды с более высокими привилегиями, которые вы пытаетесь запустить, аналогично UAC в Windows. Это довольно легко случайно сделать что-то вроде,
rm -rf /
когда вы вошли в систему как root.Кроме того, у вас есть прослеживаемость. Это не большая проблема в вашей ситуации, когда вы единственная (теоретически) выдача команд, но возможность регистрировать и прослеживать индивидуальность является ключевым компонентом многих форм анализа.
источник
Разница в основном в
том, что ты не можешь сделать ничего плохого случайно.
этот «злой» код не может захватить всю систему.
Обратите внимание: злой код не обязательно означает, что кто-то уже имеет доступ к системе.
источник
Вы должны всегда использовать учетные записи с минимально возможным уровнем привилегий. Постоянный запуск с правами root поощряет вредные привычки и лень, которые могут сделать жизнь неприятной, когда вы работаете с несколькими пользователями или выставляете что-то в публичную / полуобщественную сеть.
Также имейте в виду, что взлом пароля является лишь одним из компромиссных сценариев - и не самым распространенным. Вы с большей вероятностью станете жертвой уязвимости браузера или уязвимости в каком-либо демоне, работающем в вашей системе.
Подумайте о коде, который вы используете, не задумываясь. Например, Linux-порт Adobe Flash, представляющий собой кучу какашек, который стал использоваться только в относительно недавнем прошлом. Насколько безопасен этот код? Вы хотите, чтобы это могло обеспечить полный контроль над вашей системой?
источник
Это может предотвратить атаки SSH грубой силы. У каждого юникса есть учетная запись root. Однако со стороны неясно, каким будет ваше имя пользователя 'sudo'. Следовательно, если кто-то хочет попытаться грубо взломать свой путь, он знает, что есть root-аккаунт, и, вероятно, попробует его. Однако они не знают, с чего начать, если вы используете sudo.
источник
http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html
источник
Мой совет - попытаться использовать root все время; Вы скоро поймете, почему вы не должны :)
источник
Даже если я не верю в «безопасность по неизвестности», безусловно, есть преимущество в использовании нестандартного имени входа вместо постоянно существующего корневого имени входа. Таким образом, вы также можете настроить SSH для предотвращения входа в систему root.
Как и другие, root может делать все без подтверждения. Таким образом, использование непривилегированного пользователя может предотвратить глупые ошибки и опечатки.
Еще один аргумент в пользу нескольких учетных записей пользователей - запускать разные программы под разными пользователями. При этом, если в одном приложении используется уязвимость системы безопасности, эксплуататор может получить доступ только к файлам и ресурсам, доступным его работающему пользователю.
И последнее, что не нужно использовать root: потребление ресурсов. Root не имеет ограничений на то, сколько памяти, времени обработки, файловых обработчиков или дискового пространства он может использовать. На многих файловых системах есть блоки данных, которые зарезервированы только для root. Поэтому обычный пользователь никогда не сможет использовать их для заполнения вашего диска. Команда ulimit также может использоваться для ограничения памяти и номера обработчика файлов, которые может использовать пользователь. Но если вы являетесь пользователем root (или приложение работает от имени root), ничто не мешает вам изменить это ограничение.
источник
Да, я согласен с вами и считаю, что это вопрос защиты от ошибок человека, а иногда и от вредоносных программ. Плохая вещь, которую я никогда не видел, состоит в том, чтобы использовать root в качестве учетной записи gnome по умолчанию.
Я думаю, что большинство пользователей, которые делают это - пользователи Windows, недавно перешли на Linux или Unix. Попробуйте скопировать использование привилегий Администратора в root.
источник
Нет ничего плохого в том, что вы вошли в систему как root. Это помогает развивать мышечную память только для ввода безопасных команд и повышает точность мышления при выполнении действий с большими последствиями. Я настоятельно рекомендую работать с правами суперпользователя, чтобы улучшить работу системного администратора.
Вы также можете делать классные вещи, такие как
ping -i 0.2 -c 1000 example.com
источник