Executar como usuário diferente

9

Em um sistema RedHat, estou tentando iniciar um programa com um usuário diferente que não possui shell. No arquivo / etc / passwd, o shell é / sbin / nologin.

Eu tentei:

  1. su myuser -c /home/myuser/script.sh Resultado: Esta conta não está disponível no momento.

  2. Com chown e setuid: chown myuser: mygroup /home/myuser/script.sh chmod + s /home/myuser/script.sh /home/myuser/script.sh Resultado: script.sh ainda é executado como meu usuário conectado ( raiz).

Karl
fonte
Você está executando o suusuário como root ou não privilegiado?
James O'Gorman

Respostas:

17

tentar:

su myuser -s /bin/sh -c /home/myuser/script.sh
mrc
fonte
0

esse erro significa que em / etc / passwd você configurou shell / sbin / nologin ou / sbin / false para o usuário myuser.

Defina algo útil como / bin / bash


fonte
Isso é o que o OP já postado estava acontecendo; O OP está perguntando se existe uma maneira de executar o programa, apesar do nome de usuário não ter shell.
Bart Silverstrim
Sim ... é a questão de fato. Eu gostaria de saber se é possível executar um script como um usuário diferente, sem definir uma shell em / etc / passwd
Karl
1
Você não pode fazê-lo usando script se o usuário tiver um shell como este.