Shutdown per login
Shutdown per login
Hi,
Ich hatte eine Idee:
Was wäre, wenn ein spezieller User per schlichtem Login das System abschalten könnte?
Nur ein login, nicht nachher noch ein "sudo halt".
Dazu erzeugte ich einen neuen User und gab ihm als "shell" /sbin/shutdown.
Nun, das ganze hat nicht ganz funtionier, das shutdown nur von root ausgeführt werden darf.
Doch das lässt sich sicher noch lösen. (Nur dumm, dass man als "shell" kein shellscript angeben kann.)
Aber ev gibt es da auch eine Lösung über PAM.
Aber grundsätzlich: Könnten bei dieser shutdown Methode irgendwelche Probleme entstehen?
Bin auch über Hinweise oder ähnliche Ideen erfreut.
BTW: Bitte ins passende Subforum verschieben.
-- Loi
Ich hatte eine Idee:
Was wäre, wenn ein spezieller User per schlichtem Login das System abschalten könnte?
Nur ein login, nicht nachher noch ein "sudo halt".
Dazu erzeugte ich einen neuen User und gab ihm als "shell" /sbin/shutdown.
Nun, das ganze hat nicht ganz funtionier, das shutdown nur von root ausgeführt werden darf.
Doch das lässt sich sicher noch lösen. (Nur dumm, dass man als "shell" kein shellscript angeben kann.)
Aber ev gibt es da auch eine Lösung über PAM.
Aber grundsätzlich: Könnten bei dieser shutdown Methode irgendwelche Probleme entstehen?
Bin auch über Hinweise oder ähnliche Ideen erfreut.
BTW: Bitte ins passende Subforum verschieben.
-- Loi
Hi,
meinen Scanner-Server schalte ich seit Jahren so aus, ohne bis heute einmal damit Probleme gehabt zu haben. Ich habe die alte Kiste nur noch, weil ich einen SCSI-Scanner habe, der eine ISA SCSI-Karte hat. An dem Ding ist weder Tastatur noch Monitor, ich starte ihn, scanne ueber's Netz von dem Rechner an dem ich gerade sitze, und wenn ich fertig bin, logge ich mich eben als User "aus" ein (in der .bashrc steht als letztes "sudo /sbin/halt"). Man koennte das ganze sicher noch eleganter/sicherer machen, aber so geht's prima.
meinen Scanner-Server schalte ich seit Jahren so aus, ohne bis heute einmal damit Probleme gehabt zu haben. Ich habe die alte Kiste nur noch, weil ich einen SCSI-Scanner habe, der eine ISA SCSI-Karte hat. An dem Ding ist weder Tastatur noch Monitor, ich starte ihn, scanne ueber's Netz von dem Rechner an dem ich gerade sitze, und wenn ich fertig bin, logge ich mich eben als User "aus" ein (in der .bashrc steht als letztes "sudo /sbin/halt"). Man koennte das ganze sicher noch eleganter/sicherer machen, aber so geht's prima.
Roland
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
1. sudo shutdown speziell auf sudo und exakt einen user und exakt dieses kommando freischalten. wie? ---> siehen forensuche.. gab es schon das thema
2. als user...
.bashrc editieren und shutdown... eintragen... auch hier, sudo.
3. unelleganter weg: suid bit setzen auf shutdown
2. als user...
.bashrc editieren und shutdown... eintragen... auch hier, sudo.
3. unelleganter weg: suid bit setzen auf shutdown
Code: Alles auswählen
chown root:root `which shutdown`
chmod s+a `which shutdown`
Noch eine Variante (falls SSH mit public key authentication aktiv ist):
Einen eigenen SSH Key erzeugen der sonst für nichts verwendet wird, und ihn in die /root/.ssh/authorized_keys einfügen. Danach die entsprechende Zeile so anpassen dass bei login mit diesem key ein besonderes Kommando ausgeführt wird, uns sonst nichts (kein forwarding etc.) möglich ist. Sieht dann in etwa so aus:
command="/path/to/command -options",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty <ssh key data>
Gruss, Tobias
Einen eigenen SSH Key erzeugen der sonst für nichts verwendet wird, und ihn in die /root/.ssh/authorized_keys einfügen. Danach die entsprechende Zeile so anpassen dass bei login mit diesem key ein besonderes Kommando ausgeführt wird, uns sonst nichts (kein forwarding etc.) möglich ist. Sieht dann in etwa so aus:
command="/path/to/command -options",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty <ssh key data>
Gruss, Tobias
Hi,
Hintergrund ist: Ein Router im LAN, der von verschiedenen Person heruntergefahren werden können soll.
Aber ich will so wenig wie nur möglich rechte vergeben. Daher: eigener Accout. Bisher kamen die User in eine Bash, und dort musste "sudo halt" ausgeführt werden, aber das ist eben eine vollständige Bash ...
Dafür gibts sudo.
-- Loi
Gute Idee, das hatte ich doch glatt übersehen und das reicht fürs erste mal.logge ich mich eben als User "aus" ein (in der .bashrc steht als letztes "sudo /sbin/halt")
"sudo halt" als user, mache ich schon seit Urzeiten so. Die Idee war, dass man nach dem Login eben nicht mehr "sudo halt" machen muss.sudo shutdown speziell auf sudo und exakt einen user und exakt dieses kommando freischalten. wie?
Hintergrund ist: Ein Router im LAN, der von verschiedenen Person heruntergefahren werden können soll.
Aber ich will so wenig wie nur möglich rechte vergeben. Daher: eigener Accout. Bisher kamen die User in eine Bash, und dort musste "sudo halt" ausgeführt werden, aber das ist eben eine vollständige Bash ...
Genau diese Idee will ich vermeiden. Auch wenn es als Möglichkeit machbar ist.unelleganter weg: suid bit setzen auf shutdown
Dafür gibts sudo.
Sehr gute Idee. Werde ich ev. noch nutzen. Aber an dieser Maschine ist eh physischer Zugriff vorhanden.[...] login mit diesem key ein besonderes Kommando ausgeführt wird
-- Loi
-
- Beiträge: 441
- Registriert: 12.10.2005 23:09:28
- Lizenz eigener Beiträge: MIT Lizenz
-
Kontaktdaten:
Re: Shutdown per login
Es funktioniert, wenn der halt-User UID 0 und z.B. GID 1 hat, dann ist er quasi ein zweiter root in einer anderen Gruppe...loi hat geschrieben:Nun, das ganze hat nicht ganz funtionier, das shutdown nur von root ausgeführt werden darf.
Vielleicht noch /nonexistent als Homedir und ein paar Gedanken über andere Seiteneffekte wären sicher nicht schlecht.
-
- Beiträge: 441
- Registriert: 12.10.2005 23:09:28
- Lizenz eigener Beiträge: MIT Lizenz
-
Kontaktdaten:
Verdammt, ich hatte die URL in meinem scrap book und hab es nicht bemerkt...
Hier der richtige Link:
http://www.galileocomputing.de/openbook ... de119.html
Die Seite ist im übrigen auch sonst ganz interessant. Es gibt da ne ganze Menge offener Ebooks.
http://www.galileocomputing.de/katalog/openbook/
Hier der richtige Link:
http://www.galileocomputing.de/openbook ... de119.html
Die Seite ist im übrigen auch sonst ganz interessant. Es gibt da ne ganze Menge offener Ebooks.
http://www.galileocomputing.de/katalog/openbook/
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Das ist eine gute Lösung. Allerdings würde ich dafür doch eher einen dezidierten user einrichten, dem über dietwolf78 hat geschrieben:Noch eine Variante (falls SSH mit public key authentication aktiv ist):
Einen eigenen SSH Key erzeugen der sonst für nichts verwendet wird, und ihn in die /root/.ssh/authorized_keys einfügen. Danach die entsprechende Zeile so anpassen dass bei login mit diesem key ein besonderes Kommando ausgeführt wird, uns sonst nichts (kein forwarding etc.) möglich ist. Sieht dann in etwa so aus:
command="/path/to/command -options",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty <ssh key data>
Gruss, Tobias
Code: Alles auswählen
/etc/sudoers
Code: Alles auswählen
passwd -l $user
Vorteil: root-login über ssh kann abgeschaltet werden.
ciao, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.
was spricht gegen
Code: Alles auswählen
ssh -c user@rechner /sbin/shutdown
Hi,
ist jetzt nur so 'ne Idee, aber kann man einem User nicht auch "/sbin/shutdown" als Login-Shell zuweisen? Das waere ja auch ein Sicherheitsgewinn gegenueber der Variante den Shutdown Befehl in die .profile aufzunehmen.
ist jetzt nur so 'ne Idee, aber kann man einem User nicht auch "/sbin/shutdown" als Login-Shell zuweisen? Das waere ja auch ein Sicherheitsgewinn gegenueber der Variante den Shutdown Befehl in die .profile aufzunehmen.
Roland
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Solange Du Dir selbst und anderen Usern im Netzwerk hundertprozentig vertrauen kannst: gar nichts.comes hat geschrieben:was spricht gegenCode: Alles auswählen
ssh -c user@rechner /sbin/shutdown
Aber in Agenturen zB. sollen die Praktikanten ja auch was lernen. So können sie, wenn sie die Korrespondenzen erledigt, die harten Teile der Projekte geschrieben und die Fenster geputzt haben, während Du Dich um die wichtigen Dinge kümmerst (Sonnenbank, Porsche fahren), nach zehn Uhr ja auch noch schnell den Gateway ausschalten (aber nicht mehr).

ciao, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.
Die erste Idee (die da nicht funktionierte) schon, aber die erste Loesung war meine mit dem Eintag in die ~/.bashrc, ganz so Urspruenglich ist's dann doch nicht ;-}yeti hat geschrieben:Das war doch die ürsprüngliche Idee
Trotzdem Danke, ich denke nu ist erstmal Zeit fuer'n Kaffeeyeti hat geschrieben:guten Morgen!
Roland
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"