W
was dagegen ?
Aktives Mitglied
Thread Starter
- Dabei seit
- 17.11.2006
- Beiträge
- 323
- Reaktionspunkte
- 7
Mahlzeit,
folgendes: seit kurzem bewege ich mich nicht mehr als admin durch die Gegen, sondern hab mich selbst zum User degradiert – allerdings stehe ich dadurch auch nicht mehr in der sudoers drin und das ist doof.
Schlau wie ich bin D bin halt nicht so der Shell-Profi), habe ich rausgefunden, dass ich per su admin -c "sudo BEFEHL" einen Befehl per sudo ausführen kann (admin ist natürlich mein admin-Account) – wenn auch mit zwei Passwort-Abfragen.
Nun dachte ich mir, dass ich mir daraus mal ein alias mache, habe dabei aber rausgefunden, dass die bash keine Aliase mit Parametern kann (ich nutze die bash), also dachte ich mir, mach ich halt 'ne Funktion draus und zwar folgendermaßen:
Wenn ich jetzt sudont BEFEHL eingebe, dann werde ich einmal nach dem Passwort gefragt, aber danach sagt sudo mir nur, wie man es korrekt aufruft (offenbar kam also der Parameter nicht an).
Hat jemand 'ne Idee, wieso das nicht geht und was ich tun kann?
Mag auch sein, dass es einfachere Möglichkeiten gibt, aber jetzt will ich's wissen, mein Forscherdrang ist geweckt
/edit:
aaah, Moment, es geht doch
ich hatte allerdings immer den Befehl "sudont echo test" benutzt und da echot er natülich nix, weil test ja schon Parameter $2 ist (warum ich mir eingebildet hab, dass er mich nur einmal nach 'nem PW fragt, weiß ich nicht, war vielleicht noch aus Tests vor diesem letzten)
Was muss ich denn statt $1 angeben, damit er alle parameter übergibt?
folgendes: seit kurzem bewege ich mich nicht mehr als admin durch die Gegen, sondern hab mich selbst zum User degradiert – allerdings stehe ich dadurch auch nicht mehr in der sudoers drin und das ist doof.
Schlau wie ich bin D bin halt nicht so der Shell-Profi), habe ich rausgefunden, dass ich per su admin -c "sudo BEFEHL" einen Befehl per sudo ausführen kann (admin ist natürlich mein admin-Account) – wenn auch mit zwei Passwort-Abfragen.
Nun dachte ich mir, dass ich mir daraus mal ein alias mache, habe dabei aber rausgefunden, dass die bash keine Aliase mit Parametern kann (ich nutze die bash), also dachte ich mir, mach ich halt 'ne Funktion draus und zwar folgendermaßen:
Code:
sudont() {
su admin -c "sudo $1"
}
Hat jemand 'ne Idee, wieso das nicht geht und was ich tun kann?
Mag auch sein, dass es einfachere Möglichkeiten gibt, aber jetzt will ich's wissen, mein Forscherdrang ist geweckt
/edit:
aaah, Moment, es geht doch
ich hatte allerdings immer den Befehl "sudont echo test" benutzt und da echot er natülich nix, weil test ja schon Parameter $2 ist (warum ich mir eingebildet hab, dass er mich nur einmal nach 'nem PW fragt, weiß ich nicht, war vielleicht noch aus Tests vor diesem letzten)
Was muss ich denn statt $1 angeben, damit er alle parameter übergibt?