Eu não acho que você realmente queira ou precise de su para o seu caso de uso. O que você parece querer é que um determinado grupo de usuários possa assumir arbitrariamente a identidade de qualquer usuário em um outro grupo específico. Você só precisa de sudoers para isso:
%admin ALL=(%users) NOPASSWD:ALL
A regra de sudoers acima significa que todos os usuários no grupo admin podem executar qualquer comando como qualquer usuário no grupo users via sudo -u <user> <command> .
Se você quiser limitar os comandos que os usuários administradores podem executar como outro usuário, você substitui ALL no final por algo mais específico. Veja man sudoers para saber mais sobre isso.
Para obter um shell de login para o usuário do grupo users , em vez de usar su , um administrador poderia ser:
sudo -u anna /bin/bash -il
Uma nota sobre su (man su):
The su command is used to become another user during a login session.
su sempre solicita a senha do usuário que você está registrando, exceto para o caso em que o usuário solicitante é root. sudo su - [user] não solicita uma senha porque você eleva para root (via sudo) e, em seguida, exec su - [user] para iniciar uma nova sessão de login. Mas se você não quiser elevar o sudoer para root, o sudoer precisa saber a senha do usuário que deseja su as, derrotando o propósito de usar sudo em primeiro lugar.