Команды Linux

sudo и su

sudo позволяет выполнять команды с правами суперпользователя (root). Root – это пользователь, который имеет полный контроль над системой. Обычно, вы не можете выполнять команды, требующие прав root, без использования sudo.

Зачем нужно sudo?

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

Как использовать sudo?

  • Синтаксис: sudo команда
    • Например: sudo apt update (Обновляет список доступных пакетов в Ubuntu)
  • Запрос пароля: Когда вы используете sudo, система запросит ваш обычный пароль пользователя. После ввода пароля, команда будет выполнена с правами root.
  • Примеры:
    • sudo apt install <название_пакета> - Установить пакет из репозитория.
    • sudo reboot - Перезагрузить компьютер.
    • sudo nano /etc/hosts - Открыть файл /etc/hosts в текстовом редакторе (nano).
    • sudo shutdown -h now - Выключить компьютер.

Почему не стоит работать из под root?

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

Работа под пользователем root напрямую в Linux – это, как правило, не лучшая практика. Используйте root для выполнения задач, требующих административных прав, и всегда будьте осторожны и внимательны при выполнении команд.

Риски работы под root

  • Ошибки с разрушительными последствиями: Когда вы работаете под root, вы имеете полный контроль над системой. Одна ошибка в команде, особенно если вы не понимаете её полностью, может привести к серьезным повреждениям системы.
  • Недостаточная изоляция: Если у выс будет проблема с командной строкой или программами, работающими под root, будет очень сложно восстановить систему, если вы не знаете, что именно стало причиной проблемы.
  • Уязвимости безопасности: Использование root без особых причин повышает вероятность того, что злоумышленник сможет получить контроль над системой, если у него будет возможность проникнуть в систему.

su (substitute user)

Команда su в Linux позволяет временно "переключиться" на другого пользователя, обладая его правами.

Ключевые моменты

  • su - это временная замена пользователя. Когда вы выйдете из сессии (exit), вы вернетесь к своему обычному пользователю. В отличие от sudo, su требует знать пароль другого пользователя.
  • su - - Используется для полноценной имитации пользователя, включая загрузку его переменных окружения.

Когда использовать su?

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

Примеры

  • su root - переключение на пользователя root (Осторожно!)
  • su - root - эта команда не просто меняет пользователя, но и загружает его окружение (переменные, настройки shell) для полноценной имитации этого пользователя.
  • exit - вернуться к своему обычному пользователю