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).


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

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


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.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.