Hi,
ich will ein skript als root ausfuehren. suid-bit bringt leider nichts, ausserdem gehts um ein skript.
ich bin also user hugenay und dachte an sowas:
(echo "password"; sleep 3; /etc/init.d/meinskript start;) | su -
aber das funktioniert nicht. Was koennte ich sonst noch machen?
gruss hug.
su in skript
Re: su in skript
geht gar nicht, da su ein password interaktiv des users erwartet.
wenn ich mich aber recht erinnere, kann man sudo mitteilen, dass bestimmte user kein password brauchen. man sudo!
womoeglich hilft dir aber auch ein voranstellen von /sbin/ bzw /usr/local/sbin/ fuer bestimmte befehle, die nicht im user's pfad sind, aber so dennoch ausgefuehrt werden duerfen, zb. ifconfig.
ansonsten poste mal dein script (ub-code nicht vergessen!)
ratte
wenn ich mich aber recht erinnere, kann man sudo mitteilen, dass bestimmte user kein password brauchen. man sudo!
womoeglich hilft dir aber auch ein voranstellen von /sbin/ bzw /usr/local/sbin/ fuer bestimmte befehle, die nicht im user's pfad sind, aber so dennoch ausgefuehrt werden duerfen, zb. ifconfig.
ansonsten poste mal dein script (ub-code nicht vergessen!)
ratte
Re: su in skript
hi,
das skript ruft jogdiald auf, bis eine Verbindung zum XServer hergestellt werden konnte. jogdiald ist nen daemon, der sondertasten auf nem sony laptop abfangen kann und daraufhin proggis aufrufen kann.Es geht also eigentlich um jogdiald und nicht das Skript, wie eben gesagt.
Wenn ich als root das Programm starte, kann der User des Xservers alle Programme als root ausfuehren, also auch shutdown. Wenn ich das suid-bit setze, und das Programm als User starte, kann ich auf die Hardware (die sondertasten) zugreifen und auch proggis ausfuehren. Problem ist aber, dass ich shutdown dann nicht aufrufen darf. Was ich nicht ganz verstehe, denn jogdiald laeuft per suid-bit natuerlich als root, und jogdiald ruft ja shutdown auf. Weiss nicht, ob da reale/effektive userID reinspielt ...
Ich dachte mir, das ganze dann per Skript in der .xsession des X Users zu hinterlegen, da ich nicht als root jeweils das Skript starten will. Per startskript ueber init geht auch nicht, da ich dann keinen Zugriff auf den Xserver (bzw. den MagicCookie des X Users) bekomme.
HOffe das ist nicht zu verquer erklaert -:)
Statt su, kann ich natuelrich auch telnet, login etc. verwenden, Hauptsache als root komm ich rein.
gruss hug.
das skript ruft jogdiald auf, bis eine Verbindung zum XServer hergestellt werden konnte. jogdiald ist nen daemon, der sondertasten auf nem sony laptop abfangen kann und daraufhin proggis aufrufen kann.Es geht also eigentlich um jogdiald und nicht das Skript, wie eben gesagt.
Wenn ich als root das Programm starte, kann der User des Xservers alle Programme als root ausfuehren, also auch shutdown. Wenn ich das suid-bit setze, und das Programm als User starte, kann ich auf die Hardware (die sondertasten) zugreifen und auch proggis ausfuehren. Problem ist aber, dass ich shutdown dann nicht aufrufen darf. Was ich nicht ganz verstehe, denn jogdiald laeuft per suid-bit natuerlich als root, und jogdiald ruft ja shutdown auf. Weiss nicht, ob da reale/effektive userID reinspielt ...
Ich dachte mir, das ganze dann per Skript in der .xsession des X Users zu hinterlegen, da ich nicht als root jeweils das Skript starten will. Per startskript ueber init geht auch nicht, da ich dann keinen Zugriff auf den Xserver (bzw. den MagicCookie des X Users) bekomme.
HOffe das ist nicht zu verquer erklaert -:)
Statt su, kann ich natuelrich auch telnet, login etc. verwenden, Hauptsache als root komm ich rein.
gruss hug.
Re: su in skript
multimedialoetzinn also, nagut.
<b>man sudo</b>
gelesen? wohl nicht.
dann lies es mal und dann
<b>man 5 sudoers</b>
und suche (mit /, eingabe, return - n fuehr naechsten treffer, shift n fuerh vorherigen) nach NOPASSWD
jetzt, da du deinen user in die sudoers liste fuer den befehl /<path_zum_binary>/jogdiald aufnehmen willst, lies
<b>man visudo</b>
das ist der editor den du nutzen musst.
verhaelt sich wie vi:
esc - befehlsmodus
i - insertmodus
:q! - verlassen ohne zu speichern
- speichern und verlassen
ratte
<b>man sudo</b>
gelesen? wohl nicht.
dann lies es mal und dann
<b>man 5 sudoers</b>
und suche (mit /, eingabe, return - n fuehr naechsten treffer, shift n fuerh vorherigen) nach NOPASSWD
jetzt, da du deinen user in die sudoers liste fuer den befehl /<path_zum_binary>/jogdiald aufnehmen willst, lies
<b>man visudo</b>
das ist der editor den du nutzen musst.
verhaelt sich wie vi:
esc - befehlsmodus
i - insertmodus
:q! - verlassen ohne zu speichern
- speichern und verlassen
ratte
Re: su in skript
Hi ratte,
sorry, hatte deinen ersten tipp ueberlesen. Mit sudo gehts, mit su1 auch.
ist uebrigens nicht zwingend mutli media löt zinn, denn ich brauch das auch, um mir den Battery Status anzeigen zu lassen.
gruss hug
sorry, hatte deinen ersten tipp ueberlesen. Mit sudo gehts, mit su1 auch.
ist uebrigens nicht zwingend mutli media löt zinn, denn ich brauch das auch, um mir den Battery Status anzeigen zu lassen.
gruss hug