Команда su производит замену пользователя и имеет синтаксис: su [опции] имя_пользователя Если имя пользователя не указано - то root. Но при этом сохраняется контекст текущего пользователя (дом. директория, переменные окружения и т.д.). Поэтому, например, нельзя вызвать бинарник не указывая путь к нему, который еще надо узнать. Если же использовать: su - (-l, --login) То будет загружен контекст root, как будто бы он вошел в систему. sudo позволяет выполнить команду от имени другого пользователя, если не указано имя, то - root и тоже работает в контексте вызвавшего пользователя. Чтобы изменить поведение используйте: sudo -s Данный ключ запустит командную оболочку согласно настроек вызываемого пользователя. Альтернативный вариант: sudo -i Этот ключ полностью повторяет поведение su - и не только запускает оболочку вызываемого пользователя, но и полностью считывает параметры окружения, как будто бы он интерактивно вошел в систему.
☝️ Не все умеют правильно пользоваться командами su и sudo
16 марта16 мар
2
~1 мин