Übung 4: NOROOT4U duplizieren und als unprivileged Agent starten 🧬👤
In dieser Übung baust du dir einen zweiten UNIX Agenten als Kopie des bestehenden Agents. Diesen neuen Agenten nennst du NOROOT4U und startest ihn bewusst als unprivileged Agent unter dem OS-User automic.
Für diese Übung verwendest du bewusst die neue Verzeichnisstruktur unter /opt/Automic/ADX02. Der Agent liegt dabei unter /opt/Automic/ADX02/Agents/noroot4u. Diese Struktur brauchst du später, wenn du zusätzlich einen eigenen ServiceManager unter /opt/Automic/ADX02/ServiceManager bereitstellst.
🧭 Ziel der Übung
- Du duplizierst einen bestehenden UNIX Agenten als eigene Testinstanz
NOROOT4U - Du passt die neue Agent-Konfiguration für einen separaten Start an
- Du startest den neuen Agenten bewusst ohne privilegierten User-Switch unter
automic - Du prüfst anschließend mit zwei Login-Objekten, dass
NOROOT4Ukeinen User-Switch mehr ausführt
🧪 Schritt-für-Schritt-Anleitung
- Agent-Verzeichnis am Host duplizieren
- Führe diese Kommandos am Linux-Host aus:
mkdir -p /opt/Automic/ADX02/Agents
cp -a /opt/Automic/Automation.Platform/Agents/unix /opt/Automic/ADX02/Agents/noroot4u
find /opt/Automic/ADX02/Agents/noroot4u/temp -mindepth 1 -delete
gedit /opt/Automic/Automation.Platform/Agents/noroot4u/bin/ucxjlx6.ini
Dieser Block legt den Zielpfad für den neuen Agenten an, kopiert den bestehenden UNIX Agenten nach
/opt/Automic/ADX02/Agents/noroot4u, leert das Verzeichnistempund startet gedit damit du Folgende Anpassungen machen kannst:
NAME=NOROOT4U
PORT=2301
LOGIN_CHECK=N
automic=NO_START entfernen
- In das neue
bin-Verzeichnis wechseln- Wechsle in das
bin-Verzeichnis des neuen Agents:
- Wechsle in das
cd /opt/Automic/ADX02/Agents/noroot4u/bin
- Neue INI-Einstellungen prüfen
- Prüfe, ob Name, Port und
LOGIN_CHECKwie erwartet gesetzt sind und ob der Eintragautomic=NO_STARTaus der Kopie entfernt wurde:
- Prüfe, ob Name, Port und
grep -in 'name=\|port=\|login_check\|automic=' ucxjlx6.ini
- SUID-Bit entfernen
- Entferne für diesen Testaufbau ein mögliches SUID-Bit auf
ucxjlx6:
- Entferne für diesen Testaufbau ein mögliches SUID-Bit auf
sudo chmod u-s ucxjlx6
ls -l ucxjlx6
stat ucxjlx6
- Startkontext vorbereiten
- Prüfe, dass du den Agenten als OS-User
automicstartest:
- Prüfe, dass du den Agenten als OS-User
id automic
- Agent als
automicstarten- Starte den neuen Agenten bewusst als User
automic:
- Starte den neuen Agenten bewusst als User
/opt/Automic/ADX02/Agents/noroot4u/bin/ucxjlx6
- Laufenden Prozess prüfen
- Öffne ein zweites Terminal oder eine zweite Session und prüfe den Prozess:
ps -ef | grep ucxjlx6
- Listener des neuen Agents prüfen
- Prüfe, welchem User der Listener-Socket des neuen Agents auf Port
2301gehört:
- Prüfe, welchem User der Listener-Socket des neuen Agents auf Port
sudo lsof -i :2301
- Beobachtung einordnen
- Beobachtung:
NOROOT4Uläuft unterautomic - Beobachtung: Es gibt für diesen Agenten keinen zusätzlichen privilegierten Helper-Prozess unter
root
- Starte deinen Testjob auf NOROOT4U mit LOGIN.UNIX
- Report des ersten Runs prüfen
- Öffne den Report und prüfe die Ausgabe von
whoamiundid - Beobachtung: Der Run läuft unter
automic
- Starte denselben Testjob auf NOROOT4U jetzt mit LOGIN.BATCH
- Report des zweiten Runs prüfen
- Prüfe im Report oder in der Ausführungsmeldung, dass dieser Run nicht erfolgreich ausgeführt wird
- 👀 Beobachtung: Der Run kann den gewünschten Kontextwechsel auf
batchnicht durchführen
- Ergebnis festhalten
- Halte für dich fest:
NOROOT4Uführt keinen OS-User-Switch mehr aus
Warum braucht ein unprivileged Agent den Anonymous Mode?
Laut Dokumentation muss ein UNIX Agent im unprivileged Modus auch im Anonymous Mode betrieben werden, weil er keinen User-Context-Switch durchführen kann.
Dafür setzt du in der Agent-INI LOGIN_CHECK=N und pflegst in der zugeordneten Host-Charakteristik die gewünschten Werte für ANONYMOUS_JOB, ANONYMOUS_FT und ANONYMOUS_FE.
🧩 Zusammenfassung
NOROOT4Uist eine duplizierte Testinstanz des bestehenden UNIX Agents- Mit
LOGIN_CHECK=N, ohne SUID-Bit und ohne den kopierten Eintragautomic=NO_STARTbereitest du den Agenten für einenunprivilegedBetrieb vor ANONYMOUS_JOB=YHast du bereit in Übung 3 definiert.- Wenn du
NOROOT4Ualsautomicstartest, läuft der Agent im Kontext dieses Users und ohne zusätzlichen privilegierten Helper-Prozess - Ein Run mit
LOGIN.BATCHkann aufNOROOT4Ukeinen Wechsel auf den Userbatchdurchführen
