No se puede ejecutar el comando en /bin/falso usuario

No se puede ejecutar el comando en /bin/falso usuario

Centos 8.

Hay snowuser:

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

Hay tomcatusuario:

[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:   

Intentando ejecutar el script de inicio de Tomcat bajo tomcatel usuario:

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

Pero nada significa que no apareció ningún mensaje de error ni se ejecutó el proceso Tomcat.

Sólo un detalle que tengo es que el comando se estaba ejecutando con errores:

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

Parece que tomcatel usuario tiene los permisos adecuados para la ejecución del 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

¿Cómo puedo hacer que Tomcat se ejecute?

Respuesta1

Configurar el shell predeterminado /bin/falsesignifica que sucambiará de usuario y luego ejecutará

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

Puedes usar el-s opciónpara suanular la configuración en /etc/passwd, pero esto solo se permite si el usuario que llama es root o si la entrada existente en /etc/passwdaparece en /etc/shells.

información relacionada