Eu gostaria de permitir que certos usuários processem a outra conta de usuário sem precisar saber a senha dessa conta, mas não permitir o acesso a qualquer outra conta de usuário (ou seja, raiz).
Por exemplo, eu gostaria de permitir que o DBA do Tom su ao usuário oracle, mas não ao usuário ou raiz do tomcat.
Eu imagino que isso poderia ser feito com o arquivo / etc / sudoers - é possível? Se sim, como?
Adicione ao seu / etc / sudoers algo como
Então o usuário tom deve poder usar o sudo para executar as coisas como usuário oracle com a opção -u, sem permitir que tom
Ou seja, recebendo um shell como usuário oracle (bem, considerando que o seu sudo é novo o suficiente para ter a opção -i).
fonte
tom ALL=(oracle)NOPASSWD:ALL
para fazer sudo para não pedir senhaPara fornecer SOMENTE os recursos da pergunta, adicione o seguinte a / etc / sudoers:
Então tom pode:
fonte
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áriossu
para um usuário específico.Crie um grupo usando o
addgroup <groupName>
que outros usuários poderãosu
fazer sem uma senha. Em seguida, adicione esse grupo a cada usuário que você deseja podersu
para esse usuário sem uma senha:usermod -a -G <groupName> <userName>
(ouusermod -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 oracleadduser oracle
.Agora edite
/etc/pam.d/su
e sob o seguinte:..adicione linhas de regra de autenticação para que a seção fique assim:
Substitua
<groupName>
pororacle
neste caso. Isso permitirá que qualquer usuário que faz parte da<groupName>
asu <groupName>
Agora
tom
podesu oracle
e se você precisar conceder a outros usuários o mesmo acesso, adicione-os aooracle
grupo.pergunta semelhante aqui
fonte