Su и sudo

Всем привет. Такой вопрос. Заново накатил CentOS Stream. Создал Рут и пользователя(без прав Админа). На пользователя и на Рута захожу всё ок. Но вот иногда по курсу используется команда sudo -i что бы якобы переключится на Рут. Но ни какой пароль под эту команду не подходит почему-то. На Рут захожу через su + пароль Рута и всё ок. В чём разница?

Привет!

На самом деле, разница между командами su и sudo довольно значительная.

Основные различия:

  1. su (substitute user):

    • Используется для переключения на другого пользователя (обычно на root).
    • Для доступа к пользователю root нужно ввести его пароль.
    • Например, команда su - позволяет вам начать с окружения пользователя root.
  2. sudo (superuser do):

    • Позволяет выполнять команды от имени суперпользователя без прямого переключения пользователя.
    • Для использования sudo обычно необходима конфигурация в файле /etc/sudoers, где указывается, какие пользователи и группы могут использовать эту команду.
    • Если вы хотите использовать sudo, вам необходимо ввести свой пароль (пароль текущего пользователя), а не пароль root.

Почему не работает sudo -i?

Если при попытке выполнить sudo -i не получается войти, есть несколько возможных причин:

  • Пользователь не имеет прав на использование sudo: Убедитесь, что ваш пользователь включен в группу wheel (или в соответствующую группу для sudo) или имеет разрешения в файле /etc/sudoers.

  • Неправильный пароль: sudo будет запрашивать ваш пароль, а не пароль root.

Чтобы исправить ситуацию, вам нужно:

  • Добавить вашего пользователя в группу, которая имеет права на sudo. Для этого можно использовать команду:

    usermod -aG wheel имя_пользователя
    
  • Или попробовать изменить файл /etc/sudoers с помощью команды visudo, добавив в него строки, позволяющие вашему пользователю использовать sudo.

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

Надеюсь, это поможет! Если будут еще вопросы, не стесняйтесь спрашивать. . Я ответил на ваш вопрос?

1 лайк