No Linux, é possível fazer um login único como outro usuário, sobrescrevendo o shell padrão?

3

Como root, gostaria de fazer login como usuário do serviço (jenkins - o servidor de IC) e manipular arquivos com suas configurações de usuário, grupo e umask.

Normalmente eu faria (como root) sudo -i -u jenkins , ou mesmo su - jenkins . No entanto, o shell padrão do jenkins é / bin / false, que sai imediatamente.

Existe uma maneira de se logar como Jenkins, mas especificar um shell diferente para usar? Eu realmente tenho que mudar o shell do Jenkins em /etc/passwd/ ?

    
por user 29.06.2011 / 11:11

3 respostas

6

su no linux suporta a configuração do shell com a opção --shell

su jenkins --shell=/bin/bash

Você precisará su como root para que isso funcione. Na página do manual:

       If the target user has a restricted shell (i.e. the shell field of
       this users entry in /etc/passwd is not listed in /etc/shell), then
       the --shell option or the $SHELL environment variable wont be taken
       into account, unless su is called by root.
    
por 29.06.2011 / 13:04
5

Você leu a página de manual (ou --help output) para o comando su ?

su -s /bin/bash -
    
por 29.06.2011 / 11:15
1

Que tal: su - jenkins -c /bin/bash

ou

sudo -u jenkins /bin/bash

    
por 29.06.2011 / 11:14

Tags