
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 tomcat
Benutzer:
[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 tomcat
dem 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/false
Wenn 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 su
die Einstellung in zu überschreiben /etc/passwd
, dies ist jedoch nur zulässig, wenn der aufrufende Benutzer root ist oder der vorhandene Eintrag in /etc/passwd
in aufgeführt ist /etc/shells
.