Что рекомендуется делать при запуске команд от имени других пользователей из командной строки? Раньше я использовал sudo вот так: sudo -u username command [args]
Мне сказали (без конкретных причин), что использовать sudo для этой цели неправильно. Я хочу знать почему. Есть ли какой-нибудь «лучший способ» добиться этого? Например, я также использовал команду su так: su username - -c "command [args]"
Я не могу себе представить, почему любой из этих методов будет «плохим». Твои мысли?
Основное различие между su username
и sudo -u username
это то, что для первого вам нужно предоставить пароль username
тогда как для последнего вам необходимо указать свой собственный пароль. Как уже отмечали другие, ни один из двух подходов по своей сути не лучше или хуже другого.