headcrash
Goto Top

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

Content-Key: 107137

Url: https://administrator.de/contentid/107137

Ausgedruckt am: 28.03.2024 um 10:03 Uhr

Mitglied: theton
theton 26.01.2009 um 16:30:25 Uhr
Goto Top
Hatte für sowas mal einen Workaround gemacht.

#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.
Mitglied: headcrash
headcrash 26.01.2009 um 16:32:33 Uhr
Goto Top
Was meinst du denn mit kompellieren? Das script ausführbar machen?


Sicherheitstechnisch wird keine Probleme geben - das sich der rechner nach barbeitung seiner Aufgaben onehin ausschalten soll!

Ich werds mal ausprobieren!

headcrash
Mitglied: headcrash
headcrash 28.01.2009 um 13:50:59 Uhr
Goto Top
Genrell müsste das doch auch irgendwie funktionieren wenn man beim start


sudo su -l
passwort *automatisch eingetragen*


eingibt oder?
wie würde sowas ablaufen?

headcrash
Mitglied: theton
theton 28.01.2009 um 14:03:21 Uhr
Goto Top
Mit 'expect' sollte sowas gehen.
Mitglied: headcrash
headcrash 28.01.2009 um 16:45:36 Uhr
Goto Top
könntest du dir auch vorstellen wie?

Headcrash
Mitglied: theton
theton 28.01.2009 um 17:34:57 Uhr
Goto Top
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.
Mitglied: headcrash
headcrash 28.01.2009 um 20:53:58 Uhr
Goto Top
ok. Autologin mit gui wär kein problem - ich habe bei diesem Projekt aber keine Gui zur Verfügung (Ubuntu Server, ohne gui).

Nach der Lektüre der Manpage von expect würde ich auch sagen das die obere Lösung deutlich einfacher ist, habe aber noch zwei fragen.

1: was meinst du mit "Dieses kompilieren" - als was wohin?
2: unter Ubuntu existiert keine etc/inittab - wohin sollen die Änderungen dann?

Headcrash
Mitglied: theton
theton 28.01.2009 um 21:06:17 Uhr
Goto Top
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*'.