Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: sudo und alias

0 views
Skip to first unread message

Hauke Laging

unread,
Sep 26, 2008, 10:09:11 AM9/26/08
to
Jakobus Schuerz schrieb am Freitag 26 September 2008 14:55:

> ich hab in meiner /etc/bash.bashrc einige alias definiert. Unter
> anderem u für umount und m für mount.
>
> Diese Befehle werden auch brav ausgeführt, wenn ich entweder der
> user bin, oder mittels sudo -s superuser wurde.
> aber z.B. 'sudo m /backup' wird nicht ausgeführt, weil sich sudo
> beschwert "m" nicht zu kennen...
>
> Kann man sudo irgendwie beibringen, die Aliase auch tatsächlich zu
> wissen?

Nein. Aliase sind eine Spezialität der Shell. Aber man kann an dem
sudo-Aufruf so herumfummeln, dass es am Ende passt.

Du könntest ein Wrapperscript anlegen, das sich um den richtigen
Aufruf kümmert. Das Script kann ja ganz kurz "s" (wie Shell) heißen
oder "a" (wie Alias :-) oder "z" (wie "zur Sicherheit"...). Dieses
Script muss dann in den $PATH, damit es regulär gestartet werden
kann.

Das Script könnte dann etwa so aussehen:
#!/bin/bash
bash -c "shopt -s expand_aliases;. ~/.alias"$'\n'"$*"

Das funktioniert aus offensichtlichen Gründen nur für "harmlose"
Parameter. Sobald da irgendwie gequotet wird, geht das den Bach
runter. Wenn das nicht auftritt - prima. Ansonsten hieße es, die
Argumente einzeln so zu bearbeiten, dass alle ", ' und \ mit \
maskiert werden, die Ergebniss einzeln mit "" maskieren,
zusammenbauen und anstelle von $* übergeben. Dazu hatte ich jetzt
aber keine Lust :-)


X-Post & F'up2 dcous


CU

Hauke
--
http://www.hauke-laging.de/ideen/
Wie können 59.054.087 Leute nur so dumm sein?

Hauke Laging

unread,
Sep 26, 2008, 10:10:39 AM9/26/08
to
Ingrid schrieb am Freitag 26 September 2008 16:09:

>> aber z.B. 'sudo m /backup' wird nicht ausgeführt, weil sich sudo
>> beschwert "m" nicht zu kennen...

Ganz vergessen: Daraus wird dann:
sudo s m /backup

0 new messages