![]() |
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 |
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.
|
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? |
Zitat:
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 |
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 |
du sprechta linux oder unix?
|
DEBIAN GNU/Linux
chabra |
ahso, sorry :(
da kann, darf und will ich nicht mitreden :D |
Zitat:
Zitat:
Zitat:
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. |
die idee ansich ist nicht schlecht.
ein su-pw in cleartext übergeben zu wollen ist dumm. |
Zitat:
Zitat:
|
und sudo ist sicher?
|
Zitat:
a.) ein PW im Klartext in einem Skript zu haben oder b.) ein SETUID-Bit. Siehst du das anders? |
k.a.
kenn mich mit linux ned aus :D |
Zitat:
|
c# @solaris
|
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 |
Zitat:
Zitat:
Naja, mir egal, du willst dir vielleicht expect ansehen, das tut nämlich laut Beschreibung folgendes: Zitat:
Zitat:
Zitat:
|
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: |
@citizen428
naja... ganz so verwunderlich ist seine Reaktion nicht |
Zitat:
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. ;) |
Zitat:
Zitat:
Zitat:
echo "y"|$BEFEHL_DER_EIN_Y_ODER_N_ERWARTET Zitat:
Zitat:
|
Zitat:
|
Mein Wissensdurst scheint befriedigt zu sein. Danke für die Infos bez. expect und sudo!
:) lg chabra |
|
Zitat:
|
@el_chupacabra
Zitat:
#!/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 |
Zitat:
|
Zitat:
Ist ja sein Notebook, als Root kann er die Rechte leicht vergeben bzw. ändern. Damit hat sichs. Dauert mit "mc" keine Minute mfg Excal |
Zitat:
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. :) |
@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:
mfg excal PS Zitat:
|
@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 |
@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. |
@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