WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   su automatisieren (http://www.wcm.at/forum/showthread.php?t=150026)

el_chupacabra 10.11.2004 21:09

su automatisieren
 
Hi,

ich möchte su automatisieren.

#! /bin/bash
su root & read password -c runterfahren.sh

#! /bin/bash
init 0

Da su bekannterweise eine neue Shell aufmacht, starte ich über Script1 das Script "runterfahren.sh". Somit sollte su funktionieren.

Das Problem ist aber jetzt, dass nach dem Root-Passwort gefragt wird und somit das Script an dieser Stelle nicht mehr automtisch weitermacht, sondern mich nach dem Passwort frägt.

Der Befehl read sollte das Drücken der Return-Taste nach Eingabe des Passworts ersetzten, liege ich damit richtig?

Bin wie man sieht ein Newbie, würd aber gern mein Notebook als Normalo-User komfotabel (über Klick auf Icon am Desktop)herunterfahren können.


danke schon mal!
chabra

sagi 10.11.2004 21:14

du willst dir mal `sudo` ansehen. damit kannst du einstellen, dass du manche Programme, dir root Rechte benötigen, ohne pw (oder mit dem Benutzer PW) starten kannst.

el_chupacabra 11.11.2004 12:57

Hi!

sudo kenn ich, aber eher würd ich das Schreiben eines Scripts erlernen wollen, das mir den Vorgang von su und das Drücken der Enter taste abnimmt.

Auf jeden Fall möchte ich erlernen wie ich die ENTER Taste in einem Bash-Script simuliere.

Wie geht dass?

citizen428 12.11.2004 15:03

Zitat:

Original geschrieben von el_chupacabra

sudo kenn ich, aber eher würd ich das Schreiben eines Scripts erlernen wollen, das mir den Vorgang von su und das Drücken der Enter taste abnimmt.

Sorry, aber auf gut Deutsch heisst das ungefähr soviel wie "ich weiss was ein Auto ist, ich bau mir aber trotzdem lieber eine Seifenkiste."

In einem Skript su so zu vergewaltigen dass es die Funktionalität von sudo übernimmt ist wenig sinnvoll, wenn es dir um das Erlernen von Bash-Skripts geht schau dir lieber das an:

BASH Programming - Introduction HOW-TO
Advanced Bash-Scripting Guide

el_chupacabra 12.11.2004 15:09

Ja ok, dann vergiss bitte su und sag mir wie ich zb. die Return-TASTE simuliere.

Tschuldigung wenn ich unnützes Zeug programmieren möchte. Es geht mir um das Verständniss und nicht um einen optimalen Weg zu einem Ergebniss. Und wenn ich durch das "vergewaltigen" verstehe wie su funkioniert, dann ist dass sicher OK.

chabra

frazzz 12.11.2004 15:13

du sprechta linux oder unix?

el_chupacabra 12.11.2004 15:14

DEBIAN GNU/Linux

chabra

frazzz 12.11.2004 15:15

ahso, sorry :(


da kann, darf und will ich nicht mitreden :D

citizen428 12.11.2004 15:30

Zitat:

Original geschrieben von el_chupacabra
Ja ok, dann vergiss bitte su und sag mir wie ich zb. die Return-TASTE simuliere.
Manche Sachen sind einfach eine schlechte Idee.

Zitat:

Es geht mir um das Verständniss
Und ich habe dir Links gegeben die dazu beitragen sollten.

Zitat:

Und wenn ich durch das "vergewaltigen" verstehe wie su funkioniert, dann ist dass sicher OK.
Ok ist vieles, sinnvoller wäre aber zu lernen wie die Tools eingesetzt werden sollen.

Ein Skript ist für diesen Zweck auch einfach nicht gut, weil das PW im Klartext drinstehen müsste. Diese Lösung ist so unsauber, dass sie sicherlich zu keinem Verständnis beiträgt. Da wäre es sogar noch sinnvoller shutdown ein suid-Bit zu geben. Dann kannst du auch als User runterfahren und hast wenigstens nirgends das root-PW stehen. Aber sicher ist das auch nicht wirklich.

Deine Neugier in allen Ehren (das meine ich ehrlich), aber auf Biegen und Brechen eine schlechte Lösung konstruieren zu wollen ist bei GNU/Linux meistens eine schlechte Idee, vor allem wenn es schon ein Tool gibt dass deine Anforderungen erfüllt.

frazzz 12.11.2004 15:33

die idee ansich ist nicht schlecht.


ein su-pw in cleartext übergeben zu wollen ist dumm.

citizen428 12.11.2004 15:35

Zitat:

Original geschrieben von frazzz
die idee ansich ist nicht schlecht.
Das hat sich der Autor von sudo auch gedacht. ;)

Zitat:

ein su-pw in cleartext übergeben zu wollen ist dumm.
Genau darauf will ich hinaus.

frazzz 12.11.2004 15:36

und sudo ist sicher?

citizen428 12.11.2004 15:40

Zitat:

Original geschrieben von frazzz
und sudo ist sicher?
Naja, sudo ist IMHO zumindest besser als

a.) ein PW im Klartext in einem Skript zu haben oder

b.) ein SETUID-Bit.

Siehst du das anders?

frazzz 12.11.2004 15:42

k.a.


kenn mich mit linux ned aus :D

citizen428 12.11.2004 15:44

Zitat:

Original geschrieben von frazzz
kenn mich mit linux ned aus :D
Ich weiss wir haben schon mal drüber geredet (lange her), aber welchen UNIX-Flavor ziehst du nochmal vor? War das BSD, Solaris oder ganz was anderes?

frazzz 12.11.2004 15:49

c# @solaris

el_chupacabra 12.11.2004 16:52

Abgesehen davon, dass das jetzt Off-Topic geht, möchte ich sagen dass ich eure Meinungen vollends teile. Ich werde su auf KEINEN Fall in einem Script auf meinem superbösen nicht am Netzwerk hängenden Privat-Notebook verwenden.

Könnte mir aber nun jemand eurer Exzilenzen erklären wie ein Tastendruck in einem Bash-Script simuliert werden kann?

Ich hab da in den (wirklich brauchbaren) Links nichts dazu gefunden.

*sich ergebens verbeugend*
chabra

citizen428 12.11.2004 17:07

Zitat:

Original geschrieben von el_chupacabra
Ich werde su auf KEINEN Fall in einem Script auf meinem superbösen nicht am Netzwerk hängenden Privat-Notebook verwenden.
Kein Grund zynisch zu werden. Du hast oben mal gesagt du willst hier was lernen.
Zitat:

Könnte mir aber nun jemand eurer Exzilenzen erklären wie ein Tastendruck in einem Bash-Script simuliert werden kann?
Niemand will dir was böses, du willst es aber scheinbar so auffassen.

Naja, mir egal, du willst dir vielleicht expect ansehen, das tut nämlich laut Beschreibung folgendes:

Zitat:

Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications. And by adding Tk, you can also wrap interactive applications in X11 GUIs.

Zitat:

Ich hab da in den (wirklich brauchbaren) Links nichts dazu gefunden.
Wenigstens die haben dir gefallen.

Zitat:

*sich ergebens verbeugend*
Noch so ein entbehrlicher Kommentar. Ich dachte man fragt in einem Forum um etwas zu lernen, auch wenn das eventuell die Einsicht erfordert dass die eigene Idee keine gute ist.

el_chupacabra 12.11.2004 17:24

Danke für den Tip bez. expect!

Ist zwar nicht die Antwort auf meine Frage , denn ich hätte gerne gewusst ob es mögich wäre einen simplen Tastendruck in der Bash mittels eines bestimmten Befehls zu simulieren.

Ein "ist einfach nicht möglich" oder "nein" reicht mir.

Viel schlauer bin ich bis jetzt nämlich nicht geworden :heul:

sagi 12.11.2004 17:25

@citizen428

naja... ganz so verwunderlich ist seine Reaktion nicht

citizen428 12.11.2004 17:54

Zitat:

Original geschrieben von sagi
naja... ganz so verwunderlich ist seine Reaktion nicht
sagi, wenn so etwas von dir kommt muss ich ehrlich gesagt schmunzeln.

Was kontroverselle Antworten angeht, spielst du nämlich definitiv in der oberen Liga mit, vor allem auch in den Diskussionsforen einer grösseren österreichischen Tageszeitung. ;)

citizen428 12.11.2004 18:00

Zitat:

Original geschrieben von el_chupacabra
Danke für den Tip bez. expect!
Bitte, gerne.

Zitat:

Ist zwar nicht die Antwort auf meine Frage
Naja, schon irgendwie. Mit expect kann man eben interaktive Abläufe skripten, und darauf läuft es ja hinaus.

Zitat:

denn ich hätte gerne gewusst ob es mögich wäre einen simplen Tastendruck in der Bash mittels eines bestimmten Befehls zu simulieren.
Für deine konkrete Fragestellung ist mir ausser expect keine Lösung bekannt, einfache "ja/nein" Fragen lassen sich aber beispielsweise durch reinpipen lösen, z.B.

echo "y"|$BEFEHL_DER_EIN_Y_ODER_N_ERWARTET

Zitat:

Ein "ist einfach nicht möglich" oder "nein" reicht mir.
Ich denke es ist in der Form ausser mit expect nicht möglich, lasse mich aber sehr gern eines besseren belehren.

Zitat:

Viel schlauer bin ich bis jetzt nämlich nicht geworden :heul:
Naja, du hast 2 gute Links zum Thema Bash-Programmierung, und weisst jetzt das es expect gibt. Ich denke also schon dass der Thread was gebracht hat. :)

sagi 12.11.2004 18:36

Zitat:

Original geschrieben von citizen428
sagi, wenn so etwas von dir kommt muss ich ehrlich gesagt schmunzeln.

Was kontroverselle Antworten angeht, spielst du nämlich definitiv in der oberen Liga mit, vor allem auch in den Diskussionsforen einer grösseren österreichischen Tageszeitung. ;)

ah. es gibt also doch jemanden, der dort meine Postings liest :)

el_chupacabra 15.11.2004 10:10

Mein Wissensdurst scheint befriedigt zu sein. Danke für die Infos bez. expect und sudo!

:)

lg
chabra

el_chupacabra 15.11.2004 12:16

Und das Buch von oreilly hab ich mir auch bestellt. :D

chabra

citizen428 15.11.2004 12:34

Zitat:

Original geschrieben von el_chupacabra
Und das Buch von oreilly hab ich mir auch bestellt. :D

chabra

Achja, auf das wollte ich noch hinweisen. Soll wirklich sehr gut sein, und enthält meines Wissens nach auch eine allgemeine Einführung in TCL (die aber etwas veraltet sein dürfte).

Excalibur33 15.11.2004 19:43

@el_chupacabra
Zitat:

Bin wie man sieht ein Newbie, würd aber gern mein Notebook als Normalo-User komfotabel (über Klick auf Icon am Desktop)herunterfahren können.
Warum machst nicht ein Batch-script mit dem Befehl fürs Runterfahren:
#!/bin/sh
shutdown -h
ins /bin Verzeichnis
setz die Dateirechte für den Benutzer ausführbar. Dann noch eine Verknüpfung auf den Desktop und fertig
mfg Excal

citizen428 15.11.2004 20:09

Zitat:

Original geschrieben von Excalibur33

Warum machst nicht ein Batch-script mit dem Befehl fürs Runterfahren:

Weil dieses Skript dann shutdown aufruft auf das er keine Ausführungsrechte hat, zumindest solange er kein SUID-Bit setzt. Aber das haben wir in diesem Thread ja bereits diskutiert. ;)

Excalibur33 15.11.2004 22:13

Zitat:

Original geschrieben von citizen428
Weil dieses Skript dann shutdown aufruft auf das er keine Ausführungsrechte hat, zumindest solange er kein SUID-Bit setzt. Aber das haben wir in diesem Thread ja bereits diskutiert. ;)
Wo ist das Problem ? Die Rechte setzen?
Ist ja sein Notebook, als Root kann er die Rechte leicht vergeben bzw. ändern. Damit hat sichs. Dauert mit "mc" keine Minute
mfg Excal

citizen428 15.11.2004 22:21

Zitat:

Original geschrieben von Excalibur33
Wo ist das Problem ? Die Rechte setzen?

Natürlich ist das kein Problem. Aber wir haben hier auch drüber diskutiert dass man sich unsichere Praktiken besser gar nicht erst angewöhnt.

Und wenn er schon die Rechte ändert bräuchte er auch kein eigenes Skript mehr schreiben, dann kann er gleich /sbin/ in seinen $PATH aufnehmen oder direkt /sbin/shutdown aufrufen.

P.S. nach /bin gibt man keine eigenen Skripte, dafür ist /usr/local/bin da. :)

Excalibur33 16.11.2004 09:07

@citizen428
Und was wäre, wenn er gleich mit Yast (Benutzer und Sicherheit) vom Desktop aus, die Option "Herunterfahren" für alle Benutzer erlaubt?
Er will es nur bequem haben, was ist daran falsch? oder schlecht?

Zitat:

P.S. nach /bin gibt man keine eigenen Skripte, dafür ist /usr/local/bin da.
Ist schon klar, aber was macht das schon aus am eigenen Notebook ? Ist ja kein Mainframe :)
mfg excal
PS
Zitat:

unsichere Praktiken?
Bischen Adrenalinkick braucht der Mensch :lol:

el_chupacabra 16.11.2004 09:36

@Excalibur33

ist schon richtig was citizen428 meint.
wenn man schon was lernt, dann sollte man das richtig angehen und nicht irgendwie.
zumindest trifft diese einstellung bei mir zu, da ich linux auch beruflich verwende.

Als Beispiel:
Es könnte vorkommen dass ich das script wie du beschreibst schnell mal reintippe, und die rechte ändere. aber es könnte ebenso sein, dass ich mir die vorgehensweise als "schnellen hack" aneigne und dann versehentlich auf einem produktiv-server anwende.

Andererseits ist eine unsichere Lösung mit shutdown -h incl.rechte ändern usw. für ein privat notebook auf jeden fall vollkommen ausreichend und korrekt! ich werde es aber trotzdem nicht machen, da ich sudo verwenden werde um nicht falsche vokabeln zu lernen.

wie gesagt geht es darum, etwas aus prinzip von anfang an richtig zu machen, und dass hat (aus sicht der nachhaltigkeit)nur vorteile.

chabra

el_chupacabra 16.11.2004 09:39

@Excalibur33

Frage: verwendest Du Yast auf Debian? Der wurde doch unter der GPL freigegeben, oder? ich würd ihn aber trotzdem nicht verwenden, ist mir zu umständlich. Da dann schon eher MC oder chmod.

Excalibur33 16.11.2004 10:42

@el_chupacabra
Wenn du es per script lösen willst, vielleicht hilft dir das weiter:

http://cs.senecac.on.ca/~lczegel/UNX511/labs/Lab4.html
http://cs.senecac.on.ca/~lczegel/UNX...ab4cdir14.html
Ist zwar für andere Anwendung, aber die Nutzung des "Enter" commands wäre die gleiche
mfg Excal
PS: bin "MC"-Fan, nutze aber gelegentlich Yast(bei Suse)


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag