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 su
para um usuário específico.
Crie um grupo usando o addgroup <groupName>
que outros usuários poderão su
fazer sem uma senha. Em seguida, adicione esse grupo a cada usuário que você deseja poder su
para 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 oracle
grupo teria sido criado quando você criou o usuário oracle adduser oracle
.
Agora edite /etc/pam.d/su
e 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 oracle
neste caso. Isso permitirá que qualquer usuário que faz parte da <groupName>
asu <groupName>
Agora tom
pode su oracle
e se você precisar conceder a outros usuários o mesmo acesso, adicione-os ao oracle
grupo.
pergunta semelhante aqui