Como faço para su a shell de login do usuário diretamente

3

Eu faço o seguinte várias vezes ao dia

I login to a server via ssh as user1,
I then do su - to become root,
then I do su --login user2 to become user2

Existe uma maneira de informar su para acessar user2 diretamente de user1 ?

Observação:
user2 1 não possui uma senha. user2 tem nome diferente em momentos diferentes. (apache, liferay, solr, ftp, ...)

Observação2:
user1 não é confiável com sudo , é uma conta de uso geral usada principalmente para acessar registros. Nem sequer tem uma senha, o acesso é concedido apenas com um sshkey.

Note3:
NÃO soluções que signifiquem qualquer modificação do computador remoto permitido. Eu tenho mais de 30 servidores que eu admin.

1 Se você está curioso, é o usuário que um aplicativo é executado como (tomcat, apache, jetty ou similar)

    
por Nifle 21.04.2011 / 09:48

3 respostas

3

Isso funcionará:

su -c "su - user2"
    
por 21.04.2011 / 14:57
3

Você pode usar "sudo" em vez de "su".

Permite que user1 execute o comando shell (/ bin / bash?) como user2 (no arquivo sudoers - edite com visudo ):

user1 ALL=user2 /bin/bash

Então você pode (como usuário1):

$ sudo -u user2 /bin/bash
    
por 21.04.2011 / 09:55
0

Tenho certeza que você pode realizar:

sudo su user2

Tudo o que você está fazendo é migrar para a raiz para ter o privilégio de acessar essa conta. Você pode pular uma etapa, mas ainda precisará fornecer credenciais raiz.

    
por 21.04.2011 / 13:36

Tags