Automatische Anmeldung als root (!) und abarbeitung von StartScript unter Ubuntu 8.10 Server
Hallo zusammen,
bevor die ersten Sicherheitsfragen angemäkelt werden möchte ich gleich klarstellen das mir die konsequenzen einer automatischen root anmeldung bewusst sind.
Die Installation des UbuntuServrs ist jeddoch dazu gedacht als LiveCD zu dienen (also als Werkzeug) hierfür ist es nicht erwünscht sich manuell anzumelden.
Da die im Startscript funktionen genutzt werden die root Rechte vorrausstzen ist es zudem zu automatisierungszwecken nötig das ganze per script zu lösen.
Meine Fragen im einzelnen:
- Wie ist es möglich direkt bei Systemstart als root eingelogt zu werden?
- Wo und wie ist ein script abzulegen welches nach der automatischen anmeldung ebenfalls automatisch startet
und ein choice (1ählen sie 1. oder 2.) ermöglicht?
Danke schonmal !
Headcrash
bevor die ersten Sicherheitsfragen angemäkelt werden möchte ich gleich klarstellen das mir die konsequenzen einer automatischen root anmeldung bewusst sind.
Die Installation des UbuntuServrs ist jeddoch dazu gedacht als LiveCD zu dienen (also als Werkzeug) hierfür ist es nicht erwünscht sich manuell anzumelden.
Da die im Startscript funktionen genutzt werden die root Rechte vorrausstzen ist es zudem zu automatisierungszwecken nötig das ganze per script zu lösen.
Meine Fragen im einzelnen:
- Wie ist es möglich direkt bei Systemstart als root eingelogt zu werden?
- Wo und wie ist ein script abzulegen welches nach der automatischen anmeldung ebenfalls automatisch startet
und ein choice (1ählen sie 1. oder 2.) ermöglicht?
Danke schonmal !
Headcrash
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 107137
Url: https://administrator.de/forum/automatische-anmeldung-als-root-und-abarbeitung-von-startscript-unter-ubuntu-8-10-server-107137.html
Ausgedruckt am: 16.02.2025 um 19:02 Uhr
8 Kommentare
Neuester Kommentar
Hatte für sowas mal einen Workaround gemacht.
Dieses kompilieren und z.B. in /usr/sbin ablegen. Danach die /etc/inittab bearbeiten und den Eintrag für tty1 ändern.
Die Abarbeitung der Skripte kann man dann z.B. der /root/.bash_profile überlassen. agetty muss natürlich installiert sein. Theoretisch sollte es aber auch möglich sein das Programm direkt als Getty-Ersatz zu verwenden. Hab ich aber noch nicht ausprobiert.
Allerdings bleibt damit auf tty1 immer root eingeloggt. Das sollte zwar remote kein Problem sein, stellt aber ein Sicherheitsrisiko dar, wenn jemand physisch an den Server kommt, weil derjenige damit sofort eine Rootshell offen hat.
#include <unistd.h>
int main()
{
execlp( "login", "login", "-f", "root", 0);
return 0;
}
Dieses kompilieren und z.B. in /usr/sbin ablegen. Danach die /etc/inittab bearbeiten und den Eintrag für tty1 ändern.
c1:2345:respawn:/sbin/agetty -n -l /usr/sbin/autologinroot 38400 vc/1 linux
Die Abarbeitung der Skripte kann man dann z.B. der /root/.bash_profile überlassen. agetty muss natürlich installiert sein. Theoretisch sollte es aber auch möglich sein das Programm direkt als Getty-Ersatz zu verwenden. Hab ich aber noch nicht ausprobiert.
Allerdings bleibt damit auf tty1 immer root eingeloggt. Das sollte zwar remote kein Problem sein, stellt aber ein Sicherheitsrisiko dar, wenn jemand physisch an den Server kommt, weil derjenige damit sofort eine Rootshell offen hat.
Du nutzt einfach die Autologin-Funktion der GUI, lässt dort automatisch ein Terminal starten und in diesem führst du z.B. über die .bash_profile des Users ein expect-Skript aus, das den sudo-Login (bzw. die Passwort-Eingabe dafür) durchführt. Die oben genannte Lösung dürfte aber vermutlich einfacher zu bewerkstelligen sein.
Bei dem oben gezeigten Code, handelt es sich um C-Code. Dieser muss kompiliert werden. Also...
- den Code in einer Datei 'autologin.c' abspeichern
- auf der Konsole in den Ordner wechseln, in der die autologin.c liegt und 'gcc -o autologin autologin.c' aufrufen
Das daraus resultierende Binary 'autologin' kann dann als Getty-Ersatz verwendet werden.
Ubuntu benutzt Upstart anstatt des traditionellen Init-Systems. Die Konfigurationen für die Terminals finden sich daher in '/etc/event.d/tty*'.
- den Code in einer Datei 'autologin.c' abspeichern
- auf der Konsole in den Ordner wechseln, in der die autologin.c liegt und 'gcc -o autologin autologin.c' aufrufen
Das daraus resultierende Binary 'autologin' kann dann als Getty-Ersatz verwendet werden.
Ubuntu benutzt Upstart anstatt des traditionellen Init-Systems. Die Konfigurationen für die Terminals finden sich daher in '/etc/event.d/tty*'.