Команда su (от Substitute User или Switch User) — это фундаментальный инструмент для любого, кто работает с Linux. Она позволяет сменить текущего пользователя в системе. Но что, если вам нужно переключиться на пользователя, у которого нет пароля, как у системных пользователей www-data или docker? А если после переключения команды падают с ошибками? Эта статья — исчерпывающее руководство по работе с su, sudo и решению сопутствующих проблем.
1. Что такое su и как она работает по умолчанию?
Базовый синтаксис команды прост:
su [опции] [логин_пользователя]- Если не указать логин, команда попытается переключиться на root.
- По умолчанию
suтребует ввести пароль целевого пользователя.
Пример 1: Стандартное использование
# Стать root'ом (запросит пароль root)
$ su
Password: <вводим_пароль_root>
# Стать пользователем 'alice' (запросит пароль alice)
$ su alice
Password: <вводим_пароль_alice>Проблема в том, что у многих системных пользователей (созданных для запуска служб) просто нет пароля. Попытка выполнить su www-data завершится ошибкой.
$ su www-data
Password: <любая_попытка_ввести_пароль>
su: Authentication failure





