Shutdown per login

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
loi
Beiträge: 96
Registriert: 03.05.2005 22:43:22
Wohnort: Zürich

Shutdown per login

Beitrag von loi » 18.08.2007 17:41:55

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

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 18.08.2007 17:55:17

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.
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"

comes
Beiträge: 2702
Registriert: 11.03.2005 07:33:30
Wohnort: /dev/null
Kontaktdaten:

Beitrag von comes » 19.08.2007 10:01:44

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

Code: Alles auswählen

chown root:root `which shutdown`
chmod s+a `which shutdown`
grüße, comes

Faschismus ist keine Meinung, sondern ein Verbrechen!
http://sourcewars.de

twolf78
Beiträge: 11
Registriert: 12.05.2007 14:15:19

Beitrag von twolf78 » 19.08.2007 11:45:33

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

loi
Beiträge: 96
Registriert: 03.05.2005 22:43:22
Wohnort: Zürich

Beitrag von loi » 20.08.2007 18:19:40

Hi,
logge ich mich eben als User "aus" ein (in der .bashrc steht als letztes "sudo /sbin/halt")
Gute Idee, das hatte ich doch glatt übersehen und das reicht fürs erste mal.
sudo shutdown speziell auf sudo und exakt einen user und exakt dieses kommando freischalten. wie?
"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.

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 ...
unelleganter weg: suid bit setzen auf shutdown
Genau diese Idee will ich vermeiden. Auch wenn es als Möglichkeit machbar ist.
Dafür gibts sudo.
[...] login mit diesem key ein besonderes Kommando ausgeführt wird
Sehr gute Idee. Werde ich ev. noch nutzen. Aber an dieser Maschine ist eh physischer Zugriff vorhanden.


-- Loi

chr.gogolin
Beiträge: 441
Registriert: 12.10.2005 23:09:28
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von chr.gogolin » 20.08.2007 23:30:42

Wie sich sowas mit einem Pseudo-Benutzer einrichten lässt ist im übrigen auch [url=file:///home/cgogolin/data/ebooks/linux/linux-guru/node119.html]hier[/url] beschrieben.

yeti

Beitrag von yeti » 21.08.2007 00:41:50

chr.gogolin hat geschrieben:Wie sich sowas mit einem Pseudo-Benutzer einrichten lässt ist im übrigen auch [url=file:///home/cgogolin/data/ebooks/linux/linux-guru/node119.html]hier[/url] beschrieben.
Nette URL... krieg ich also mal eben 'n Login auf Deiner Kiste, damit ich da auch reinschauen kann?

loi
Beiträge: 96
Registriert: 03.05.2005 22:43:22
Wohnort: Zürich

Beitrag von loi » 21.08.2007 00:42:13

Hi,

Würde es ja gerne lesen, aber nicht mir einer file:// URL ;-)


-- Loi

yeti

Re: Shutdown per login

Beitrag von yeti » 21.08.2007 01:00:41

loi hat geschrieben:Nun, das ganze hat nicht ganz funtionier, das shutdown nur von root ausgeführt werden darf.
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...

Vielleicht noch /nonexistent als Homedir und ein paar Gedanken über andere Seiteneffekte wären sicher nicht schlecht.

chr.gogolin
Beiträge: 441
Registriert: 12.10.2005 23:09:28
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von chr.gogolin » 21.08.2007 19:39:04

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/

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Beitrag von novalix » 22.08.2007 00:36:33

twolf78 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
Das ist eine gute Lösung. Allerdings würde ich dafür doch eher einen dezidierten user einrichten, dem über die

Code: Alles auswählen

/etc/sudoers
genau der eine Befehl zum shutdown eingeräumt wird. Wenn alles eingerichtet ist, wird der normale login mit

Code: Alles auswählen

passwd -l $user
unbrauchbar gemacht und ab dafür.
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.

comes
Beiträge: 2702
Registriert: 11.03.2005 07:33:30
Wohnort: /dev/null
Kontaktdaten:

Beitrag von comes » 22.08.2007 09:36:55

was spricht gegen

Code: Alles auswählen

ssh -c user@rechner /sbin/shutdown
grüße, comes

Faschismus ist keine Meinung, sondern ein Verbrechen!
http://sourcewars.de

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 22.08.2007 10:49:50

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.
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"

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Beitrag von novalix » 22.08.2007 11:17:13

comes hat geschrieben:was spricht gegen

Code: Alles auswählen

ssh -c user@rechner /sbin/shutdown
Solange Du Dir selbst und anderen Usern im Netzwerk hundertprozentig vertrauen kannst: gar nichts.
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). :twisted:

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.

yeti

Beitrag von yeti » 22.08.2007 12:19:16

roli hat geschrieben:ist jetzt nur so 'ne Idee, aber kann man einem User nicht auch "/sbin/shutdown" als Login-Shell zuweisen?
Das war doch die ürsprüngliche Idee... und das klappt sogar... guten Morgen!

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 22.08.2007 14:17:53

yeti hat geschrieben:Das war doch die ürsprüngliche Idee
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:guten Morgen!
Trotzdem Danke, ich denke nu ist erstmal Zeit fuer'n Kaffee
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"

Antworten