Основное отличие команд su и sudo при переключении пользователей в Linux заключается в требуемом пароле: для sudo требуется пароль текущего пользователя, а для su — пароль пользователя root. 5
su запускает новую оболочку от имени другого пользователя в текущем сеансе. 1 Это даёт постоянный доступ к привилегированным командам до момента выхода из оболочки, но без детального логирования действий и с меньшим контролем над разрешениями. 1
sudo временно позволяет выполнять команды с правами другого пользователя (не только root), запрашивая пароль текущего пользователя и регистрируя все действия в системном журнале. 1
Также по умолчанию sudo позволяет запустить только одну команду с повышенными привилегиями, в то время как su запускает новую оболочку, позволяя запускать столько команд, сколько нужно, с привилегиями root, пока пользователь явно не завершит работу. 5