@Asparagales

Почему в командной строке не рекомендуется использовать права root?

Вопрос возможно глупый, но мне не понятный. Почему крайне не рекомендуется в командной строке работать с учетной записью рута, о вместо этого использовать команду sudo?
  • Вопрос задан
  • 1731 просмотр
Пригласить эксперта
Ответы на вопрос 11
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
> Вопрос возможно глупый, но мне не понятный. Почему крайне не рекомендуется в командной строке работать с учетной записью рута, о вместо этого использовать команду sudo?

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

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

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

Технически, залогиниться под рутом и выполнить команду, или выполнить команду через sudo (если есть права), практически никак не отличается.
Рекомендация касается исключительно логина под рутом с использованием credentials именно пользователя root.
Ответ написан
Losted
@Losted
Software Architect
Защита от самострела в колено. Случаев случайного выполнения команды "не в то окно" в истории навалом
Ответ написан
Комментировать
Softer
@Softer
Потому что когда случайно что-нить вроде rm -rf / попадет в консоль... :)

В общем гораздо меньше шанс ошибиться.
Ответ написан
Комментировать
Kwisatz
@Kwisatz
Больше web-приложений, хороших и разных
Дело не только в ошибках и прочих нюансах. Вы можете просто нечайно или задумавшись клацнуть enter. По этой же причине рекомендуется в SQL консоли писать блок where до update/delete
Ответ написан
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Помимо перечисленного, я настаивал на использовании своих учетных записей sudo, с запретом входа под root, потому что по логам проще найти того кто выполнил какую-то команду c правами sudo от своей учетки, чем разбираться кто именно пользовался пользователем root.
Ответ написан
Комментировать
@Fixid Куратор тега Linux
Одна неудачная опечатка может уничтожить данные
Ответ написан
Комментировать
@pfg21
ex-турист
Из под пользователя пристрелишь только данные пользователя.
Из под рута пристрелишь всю систему нахеръ.

Для однопользовательской домашней машины это эквипенисуально. В смысле пофих можно и не торопясь восстановить.

Для боевого сервера в продакшене это жопа и огромные расходы.
Поэтому на сервере из-под рута делают минимум операций, если получается, то вообще одну - синхронизацию системы с тестовой машиной, на которой нововведения отлажены и протестированы.
Ответ написан
Комментировать
sashkets
@sashkets
Прекратил отвечать после 24.02.2022
можно и с правами рута, если аккуратно
Ответ написан
Комментировать
@Hanharr
Не видел, чтобы рекомендовали именно так. Обычно рекомендуют просто не работать от root. Для большого количества вещей не нужны полные права, имея полные права велик шанс что-то сломать.

Часто видел ставят в пример запуск скрипта, в котором где-то заувуалирован патч Бармина:
rm -rf /
Ответ написан
Комментировать
@MechanID
Админ хостинг провайдера
Это зависит от задач:
Если вы постоянно управляете серверами их сотни или тысячи,
и вам нужно например, сделать много правок в разных файлах конфигов, обновить софт, использовать утилиты типа tcpdump то проще сразу работать от рута, правда вы должны осозновать сразу что цена ошибки может быть велика.
Если вы управляете декстопом и вам нужно поставить какойто софт 1 раз в месяц - лучше использовать sudo.
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Потому что до тех пор, пока нет полного и четкого понимания, что делаете, лучше не рисковать. Одна команда "не в то окошко" - и Вы судорожно вспоминаете, был ли бэкап и, если был то когда. Добро, если это случилось на собственной рабочей тачке. А если это произошло на сервере? Никогда не попадали в такую ситуацию? Ну так попадете...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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