Por exemplo, eu gostaria de permitir que o DBA de Tom su ao usuário oracle, mas não ao usuário ou raiz do tomcat.
Eu precisava fazer isso em um sistema recentemente e tive dificuldade em encontrar minhas anotações na configuração alternativa que usei anos atrás, que também permitia a sintaxe su <user>. Na minha situação, eu precisava permitir vários usuários supara um usuário específico.
Crie um grupo usando o addgroup <groupName>que outros usuários poderão sufazer sem uma senha. Em seguida, adicione esse grupo a cada usuário que você deseja poder supara esse usuário sem uma senha:
usermod -a -G <groupName> <userName>(ou usermod -a -G oracle tom). As alterações do grupo podem não ter efeito até o próximo login.
Nota: No seu caso, você já possui o grupo porque o oraclegrupo teria sido criado quando você criou o usuário oracle adduser oracle.
Agora edite /etc/pam.d/sue sob o seguinte:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
..adicione linhas de regra de autenticação para que a seção fique assim:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
auth [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth sufficient pam_succeed_if.so use_uid user ingroup <groupName>
Substitua <groupName>por oracleneste caso. Isso permitirá que qualquer usuário que faz parte da <groupName>asu <groupName>
Agora tompode su oraclee se você precisar conceder a outros usuários o mesmo acesso, adicione-os ao oraclegrupo.
pergunta semelhante aqui