Não é possível executar o comando sob /bin/false user

Não é possível executar o comando sob /bin/false user

Centos 8.

snowuser:

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep snowuser  
snowuser:x:1002:1002::/home/snowuser:/bin/bash   
[snowuser@snowcannon-01 ~]$ groups  
snowuser wheel

Existe tomcatusuário:

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep tomcat  
tomcat:x:1003:1003::/opt/tomcat:/bin/false  


cat /etc/group | grep "tomcat\|snowuser"  
wheel:x:10:ydyachuk,amsliusar,snowuser  
snowuser:x:1002:   
tomcat:x:1003:   

Tentando executar o script inicial do Tomcat no tomcatusuário:

/bin/su tomcat -c /opt/tomcat/bin/startup.sh

Mas nada significa que nenhuma mensagem de erro apareceu nem o processo do Tomcat foi executado.

Apenas um detalhe que tenho é que o comando estava sendo executado com erros:

[snowuser@snowcannon-01 ~]$ echo $?
1

Parece que tomcato usuário tem permissões adequadas para a execução do script:

[snowuser@snowcannon-01 ~]$ ll /opt/tomcat/bin/startup.sh 
-rwxr-xr-x. 1 tomcat tomcat 1904 Nov 11 15:14 /opt/tomcat/bin/startup.sh

Como posso fazer o Tomcat funcionar?

Responder1

Definir o shell padrão como /bin/falsesignifica que sumudará de usuário e, em seguida, executará

/bin/false -c /opt/tomcat/bin/startup.sh

Você pode usar o-s opçãoto supara substituir a configuração em /etc/passwd, mas isso só será permitido se o usuário chamador for root ou se a entrada existente em /etc/passwdestiver listada em /etc/shells.

informação relacionada