Befehl kann unter dem Benutzer /bin/false nicht ausgeführt werden

Befehl kann unter dem Benutzer /bin/false nicht ausgeführt werden

Centos 8.

Es gibt snowuser:

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

Es gibt tomcatBenutzer:

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

Versuch, das Startskript von Tomcat unter tomcatdem Benutzer auszuführen:

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

Es ist jedoch nichts passiert, d. h. es wurde weder eine Fehlermeldung angezeigt, noch wurde der Tomcat-Prozess ausgeführt.

Das einzige Detail, das ich habe, ist, dass der Befehl mit Fehlern ausgeführt wurde:

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

Der Benutzer scheint tomcatüber die erforderlichen Berechtigungen zur Skriptausführung zu verfügen:

[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

Wie kann ich Tomcat zum Laufen bringen?

Antwort1

/bin/falseWenn Sie die Standard-Shell auf setzen su, wird der Benutzer gewechselt und dann ausgeführt

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

Du kannst den ... benutzen-s Möglichkeitum sudie Einstellung in zu überschreiben /etc/passwd, dies ist jedoch nur zulässig, wenn der aufrufende Benutzer root ist oder der vorhandene Eintrag in /etc/passwdin aufgeführt ist /etc/shells.

verwandte Informationen