sudo é um comando que executa qualquer comando que seja seguido por outro usuário (se nenhum nome de usuário for dado como neste caso, esse usuário é root ) - para poder fazer isso, a conta da qual sudo está sendo executado precisa ter a configuração das permissões necessárias (veja /etc/sudoers )
su inicia um novo shell com um ID de usuário diferente
-s /bin/bash especifica o shell a ser iniciado, ou seja, /bin/bash
- torna esse shell um shell de login
foo é o usuário com o ID do usuário e o ID do grupo que o novo shell será iniciado