Der Glassfish- Anwendungsserver stellt Skripts zur Verfügung, mit denen der Anwendungsserver verwaltet und auch gestartet und gestoppt werden kann. Ich möchte den Root-Benutzer daran hindern, dieses Skript auszuführen. Der Grund dafür ist, dass einige Schlüsselentwickler vergessen, den Server als nicht privilegierten Benutzer zu verwalten. Wenn sie den Anwendungsserver als Root-Benutzer neu starten, muss der Anwendungsserver vom Root-Benutzer [*] ausgeführt werden.
Es ist keine Option, Root-Zugriff zu vermeiden, und die Entwickler vergessen dies, weil sie dies auf ihrem lokalen Computer gewohnt sind. Ich möchte, dass das asadmin
Skript entweder geändert wird, um als nicht privilegierter Benutzer ausgeführt zu werden, oder optional jedes Mal eine Fehlermeldung anzeigt, wenn das Skript von root ausgeführt wird.
Bash Shell wird verwendet.
[*]: Ich habe versucht, die Rechte an Dateien zu korrigieren, aber obwohl ich viele Dateien aufgespürt habe, die root besitzt, und sie geändert habe, treten bei der Anwendung seltsame Fehler auf, und ich muss erneut als root ausgeführt werden.
quelle
sudo
bisschen vergessen . Jetzt sollte es den Job machen.$@
es leer ist, und ich habe es geändert, um ein Muster zu verwenden, das an anderer Stelle gefunden wurde.sudo
(sie wird nicht verwendetexec
) und die Eltern darauf warten würden, sodass Sie schließlich eine vollständige Prozesstabelle erhalten würden. Es lohnt sich immer noch, dort einzugebenexec
(wenn Sie nicht beabsichtigen, den Code danachfi
als falschen Benutzer auszuführen).