Hallo
ich würde gerne den Laptop welcher im Kinderzimmer steht, zu einer bestimmten Zeit runterfahren bzw. den User am Abend zeitgesteuert ausloggen und alle nächtlichen Login-Versuche verhindern.
geht so etwas mit cron?
vielen Dank schon mal...
Anmeldungsdatum: Beiträge: 869 |
Hallo ich würde gerne den Laptop welcher im Kinderzimmer steht, zu einer bestimmten Zeit runterfahren bzw. den User am Abend zeitgesteuert ausloggen und alle nächtlichen Login-Versuche verhindern. geht so etwas mit cron? vielen Dank schon mal... |
||
Anmeldungsdatum: Beiträge: 8606 |
Ja, natürlich. Was du brauchst ist ein Anacroneintrag, der die betr. Benutzer stillegt, einen der diese reaktiviert und einen der per dcop(KDE3) oder dbus(KDE4) die betr. Benutzer abmeldet. Optional noch einen vierten, der ein paar Minuten vorher die Benutzer warnt.
Die Skripte sind sehr einfach, gute Gelegenheit was in dem Bereich zu lernen, falls du Hilfe willst, müsstest du deine Anforderungen präzisieren. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 869 |
für die Warnung hätte ich ein Script welches xdialog verwendet #!/bin/bash fenstertitel="Gute Nacht"; gutenacht="Zeit zum schlafen gehen\n die KDE-Session wird in 5 Min beendet"; Xdialog --buttons-style text --title "$fenstertitel" --msgbox "$gutenacht" 0 0; also zum abmelden habe ich das hier gefunden es funktioniert an der Konsole und wenn ich all-users durch den Namen des Users ersetze wird wohl nur der eine User abgemeldet. dcop --all-sessions --all-users ksmserver ksmserver logout 0 0 0 und dann habe ich noch gelesen das man für den entsprechende User die shell auf /bin/false setzen kann habe aber noch nicht herausgefunden wie und wo... http://wiki.ubuntuusers.de/Cron?highlight=cron in dem Artikel ist mir nicht geläufig was es mit den path-Angaben auf sich hat und wenn ich herausgefunden habe habe wie man die scripte von cron starten lasse, dann stehe ich noch vor dem Problem dem User die shell ab einer bestimmten Uhrzeit (morgens) wieder zu erlauben - d.h. ich ich muss irgendwie im autostart von root ein script haben welches überprüft ob die Bedingung (Aktuelle Zeit von bis) erfüllt ist und dem Benutzer die shell wieder erlaubt. Geht vieleicht auch einfacher in dem ich das Logout-script in der Nacht von 22:00 - 8:00 einfach alle 15 minuten von cron ausführen lasse... Frage: Kann man in einem shell-script überprüfen ob sich die aktuelle System-Zeit innerhalb eines Zeitfensters befindet? wäre echt nett wenn Du mir dabei helfen könntest. |
||
Anmeldungsdatum: Beiträge: 8606 |
passwd -l <Benutzer> passwd -u <Benutzer> Um die Benutzer ein-/auszuschalten. Mit den Pfadangaben ist gemeint, dass du statt grep /bin/grep benutzen musst. Die Zeit könntest du z.B. so testen
Da wäre dann /etc/rc.local ein möglicher Einsatzort. |
||
Anmeldungsdatum: Beiträge: 37971 |
Wie wärs mit timeoutd? |
||
Anmeldungsdatum: Beiträge: 8606 |
Na toll, das hättest du ja mal früher posten können, dann hätte ich mir die if Abfrage da oben sparen können. 😮 |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 869 |
Chrissss schrieb:
Problem ist das unser Mädel (16J) hin und wieder recht spät (gegen 22:00) nach Hause kommt und sich wenn wir schon im Bett liegen sich noch mal an den Läppi setzt, um am nächsten morgen die Schule zu verpennen. Ein Internet-Stunden-Konto hilft da nicht und auf der anderen Seite möchte ich auch nicht wie ein Ufz des Nachts kontrollieren ob sie wirklich schläft In den Ferien habe ich noch darüber hinweg sehen können wenn sie mal bis um 3 am PC saß - aber jetzt muss eine andere Lösung her inzwischen habe ich mir ein Shell-Script zusammengebastelt mit welchem ich während eines Zeitfensters eine Aktion ausführen kann. und dort werde ich mal passwd -l <Benutzer> passwd -u <Benutzer> in abhängigkeit vom Zustand des Zeitfensters einbauen wie und wo müsste man denn ein solches script hineinkopieren bzw. verknüpfen damit es vor dem eigentlichen Login als root ausgeführt wird? |
||
Anmeldungsdatum: Beiträge: 37971 |
technohead schrieb:
timeoutd hat auch nix mit einem Internet-Stunden-Konto zu tun.
Das erledigt doch timeoutd für dich
Verstehe immer noch nicht, warum timeoutd nicht die absolut passende Lösung deines Problems sein soll. |
||
Anmeldungsdatum: Beiträge: 8606 |
Die Option "NOLOGIN" von timeoutd ist die von dir gesuchte. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 869 |
hört sich ganz gut an mit timeoutd NOLOGIN zuerst dachte ich timeoutd könnte nur die Dauer einer Sitzung eines Benutzers beschränken jetzt wo den http://wiki.ubuntuusers.de/timeoutd genauer studiert bzw. nach NOLOGIN gesucht hatte, habe ich meine meine Lösung sogar auf dem Silbertablett gefunden: Wk2200-0700:*:*:kinder:NOLOGIN FrSa2359-0700:*:*:kinder:NOLOGIN Herzlichen Dank! |
||
Anmeldungsdatum: Beiträge: 37971 |
technohead schrieb:
Deshalb hatte ich ja dieses Beispiel auch ausgewählt ☺ //PS: Der Wiki Artikel stammt von mir 😉 |